Metadata-Version: 2.4
Name: numpysc-lib
Version: 1.1.1
Summary: Soft Computing Library
Home-page: 
Author: andhrew
Author-email: xyz@gmail.com
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: license
Dynamic: license-file
Dynamic: requires-python
Dynamic: summary

# Soft Computing Library (`numpysc-lib`)

A Python package that stores practical programs for **Soft Computing & Neural Networks** (Simple Neural Networks, Sigmoidal Functions, McCulloch-Pitts, Hebb Rule, Backpropagation, Fuzzy Sets, Perceptron) and prints their source code on demand, from Python or the terminal.

Install it once with `pip`, then view any practical code on any machine without copying files around.

---

## Practicals Included

| Practical | Topic / Description |
|---|---|
| `1A-Simple-Neural-Network` | Design a Simple Neural Network (SNN) with Ramp activation |
| `1B-Sigmoidal-Functions` | Binary and Bipolar Sigmoidal Activation Functions |
| `2A-McCulloch-Pitts Neural Network` | ANDNOT function using McCulloch-Pitts Neuron |
| `2B-XOR function using McCulloch-Pitts Neural Network` | XOR function using McCulloch-Pitts Network |
| `3-AND Hebb Rule Network` | AND function with Hebbian learning rule (bipolar inputs) |
| `4-Back Propagation Problem` | Single-step forward & backward error propagation |
| `5-Error Back Propagation` | Multi-epoch Error Backpropagation Training |
| `6-Identity Operators` | Identity and Membership Operators in Python |
| `7-Fuzzy` | Fuzzy Set Operations (Union, Intersection, Complement, Algebraic/Bounded Sum & Diff) |
| `8-Perceptron` | Perceptron Learning Algorithm for Linear Classification |

---

## Step 1: Install

```bash
pip install numpysc-lib
```

To update to the latest version:

```bash
pip install --upgrade numpysc-lib
```

Requires Python 3.6 or newer.

---

## Step 2: View the programs

### Option A: From the terminal

Show all practicals:

```bash
numpysc
# or
numpysc-lib
```

Show a single practical (type the name or partial name):

```bash
numpysc "1A-Simple-Neural-Network"
numpysc "7-Fuzzy"
numpysc "8-Perceptron"
```

### Option B: From Python

```python
import numpysc_lib

numpysc_lib.show_codes()                           # Show all practicals
numpysc_lib.show_codes("7-Fuzzy")                  # Show specific practical
numpysc_lib.show_codes("1A-Simple-Neural-Network") # Show specific practical
```

### Option C: In Google Colab or Jupyter

```python
!pip install numpysc-lib
import numpysc_lib
numpysc_lib.show_codes("8-Perceptron")
```

---

## Publishing a new version (for maintainers)

1. Make any additions or updates in the `numpysc_lib/` folder.
2. Increment `version` in `setup.py` (e.g. `1.1.2`).
3. Clean old builds:
   ```bash
   rm -rf dist build *.egg-info
   ```
4. Build:
   ```bash
   python3 -m build
   ```
5. Check and Upload to PyPI:
   ```bash
   python3 -m twine upload dist/*
   ```

---

## License

MIT. See [LICENSE](LICENSE).
