Metadata-Version: 2.4
Name: ai-starter-kit
Version: 0.4.0
Summary: Importable modules for learning machine learning and deep learning.
Project-URL: Homepage, https://github.com/mikovilla/ai-starter-kit
Project-URL: Issues, https://github.com/mikovilla/ai-starter-kit/issues
Project-URL: PyPI, https://pypi.org/project/ai-starter-kit/
Author-email: Miko Villa <dev@mikovilla.com>
License: MIT
License-File: LICENSE
Keywords: ai,deep-learning,machine-learning,nlp,starter-kit
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.9
Requires-Dist: nltk>=3.8
Provides-Extra: analysis
Requires-Dist: pandas>=2.0; extra == 'analysis'
Requires-Dist: spacy>=3.7; extra == 'analysis'
Provides-Extra: dev
Requires-Dist: pandas>=2.0; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Description-Content-Type: text/markdown

# ai-starter-kit

[![PyPI](https://img.shields.io/pypi/v/ai-starter-kit.svg)](https://pypi.org/project/ai-starter-kit/)

Importable boilerplate for machine learning / deep learning projects — reusable code wrapped around common libraries (like NLTK and spaCy) so you don't have to rewrite the same setup every time. Install it, import what you need.

## Install

```bash
pip install ai-starter-kit
```

Some modules need extra dependencies beyond the core install — see each module's own README, linked below, for what's required and how to install it.

## Available modules

| Module | Description |
|---|---|
| [`ask.text`](https://github.com/mikovilla/ai-starter-kit/blob/main/src/ask/text/README.md) | NLP preprocessing and description: `TextProcessor` chains lowercasing, noise/punctuation removal, tokenization, stopword removal, stemming, and lemmatization via NLTK. `PosAnalyzer` (spaCy) and `NgramModel` (NLTK) describe text instead of transforming it — POS tagging, morphology, and N-gram modeling as pandas DataFrames. |

*More modules will be added as the project grows.*

## Development

To set up a local environment for running the test suite:

```powershell
# Windows
powershell -ExecutionPolicy Bypass -File .\scripts\bootstrap.ps1
```

```bash
# macOS/Linux
./scripts/bootstrap.sh
```

This creates a `.venv`, installs the package in editable mode, and pulls in dev/test dependencies (`nltk`, `pytest`). Then activate it and run the tests:

```powershell
# Windows
. .\.venv\Scripts\Activate.ps1
pytest -v
```

```bash
# macOS/Linux
source .venv/bin/activate
pytest -v
```

## Contributing

New modules are welcome. Add a package under `src/ask/<name>/`, cover it with tests and its own `README.md`, then open a PR.

## License

MIT
