Metadata-Version: 2.4
Name: fcaisemone
Version: 0.1.1
Summary: Print complete Python code for nine FCAI semester-one practicals.
License-Expression: MIT
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: Topic :: Education
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: practicals
Requires-Dist: pandas>=1.5; extra == "practicals"
Requires-Dist: numpy>=1.23; extra == "practicals"
Requires-Dist: matplotlib>=3.6; extra == "practicals"
Requires-Dist: seaborn>=0.12; extra == "practicals"
Requires-Dist: scikit-learn>=1.2; extra == "practicals"
Requires-Dist: statsmodels>=0.13; extra == "practicals"
Requires-Dist: scipy>=1.9; extra == "practicals"
Requires-Dist: patsy>=0.5; extra == "practicals"
Requires-Dist: ipython>=8; extra == "practicals"
Dynamic: license-file

# fcaisemone

Print the complete Python source for any of nine FCAI semester-one practicals
in a Jupyter cell's output or a terminal. Printing does not execute the code.
No CSV datasets are included. The code is based on the supplied practical
notebooks, with duplicate blocks removed and syntax corrected.

## Jupyter usage

After publication:

```python
%pip install fcaisemone
```

```python
import fcaisemone as fc
fc.practical1()          # Print practical 1
fc.print_code(5)         # Print practical 5
fc.print_all()           # Print all nine practicals
```

`practical1()` through `practical9()` are available.

```python
fc.list_practicals()     # Return a dictionary of practical titles
code = fc.get_code(3)    # Return source as a string
print(code)
```

Optional dependencies are only needed if you copy and run the printed code:

```python
%pip install "fcaisemone[practicals]"
```

Practicals 1–3 retain `/content` paths; the other practicals use the current
folder. Supply the relevant CSV datasets:
Motor_Claims.csv, Titanic-Dataset.csv, BANK LOAN.csv, Employee Churn.csv,
Performance Index.csv, BANK LOAN KNN.csv, K MEANS DATA.csv.
Practical 2 retains the journal's CSV save path and overwrites its input file.
Original-data execution was not tested because the datasets were not provided.
Practical 5 reports training metrics and OOB metrics separately; its
ROC does not measure performance on unseen data.

## Terminal usage

```console
python -m fcaisemone
python -m fcaisemone 1
python -m fcaisemone --all
```

## Local installation

From the folder containing pyproject.toml:

```console
python -m pip install .
python -m unittest discover -s tests -v
```

For a Jupyter kernel, run `%pip install /absolute/path/to/fcaisemone` in a cell.

## Files

The fcaisemone/ directory contains the importable package and all nine code
resources. pyproject.toml defines the project metadata and build configuration.
setup.py is a compatibility shim. requirements.txt lists publishing tools.
README.md, LICENSE, tests/, and PUBLISHING.md complete the source project.
Generated egg-info is build metadata; it need not be created manually.
The starter project uses the MIT license; review it and adjust the copyright
holder and optional author metadata before publication.

See PUBLISHING.md for step-by-step publishing instructions.

Version 0.1.1 uses the code re-extracted from the original journal. See
EXTRACTION_NOTES.md for corrections and retained source behaviour.
