Metadata-Version: 2.1
Name: cmn-ai
Version: 0.0.2
Summary: 
Author: ImadDabbura
Author-email: imad.dabbura@hotmail.com
Requires-Python: >=3.10
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: datasets (>=2.12.0,<3.0.0)
Requires-Dist: fastcore (>=1.5.29,<2.0.0)
Requires-Dist: fastprogress (>=1.0.3,<2.0.0)
Requires-Dist: matplotlib (>=3.7.1,<4.0.0)
Requires-Dist: numpy (>=1.24.2,<2.0.0)
Requires-Dist: pandas (>=2.1.4,<3.0.0)
Requires-Dist: pyarrow-hotfix (>=0.6,<0.7)
Requires-Dist: scikit-learn (>=1.4.0,<2.0.0)
Requires-Dist: scipy (>=1.10.1,<2.0.0)
Requires-Dist: seaborn (>=0.12.2,<0.13.0)
Requires-Dist: torch (>=2.3.0,<3.0.0)
Requires-Dist: torcheval (>=0.0.6,<0.0.7)
Requires-Dist: torchinfo (>=1.7.2,<2.0.0)
Requires-Dist: torchvision (>=0.18.0,<0.19.0)
Description-Content-Type: text/markdown

# Welcome to `cmn_ai`

[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/)

## Introduction

I am a big believer in **Boyd's Law**, which states that _speed of iteration beats quality of iteration_. Following this principle, I created `cmn_ai` to incorporate the most common tasks we encounter in ML/AI from data exploration to model development and training. Additionally, I baked into it some of the best practices I learned in my career so I don't have to repeat myself on every project I work on.

It is worth noting that the majority of the DL code such as [`Learner`](cmn_ai/learner.py) and callbacks assume that [`pytorch`](https://pytorch.org/) is used as the underlying DL library. Also, tabular data preprocessors/models are compatible with [`sklearn`](https://github.com/scikit-learn/scikit-learn) so they can be used easily with its `Pipeline` or `ColumnTransformer`.

Given the nature of the progress in ML/AI, I will always keep adding more functionalities as time passes.

## Installation

The easiest way to install `cmn_ai` is by using `pip`:

```sh
pip install cmn-ai
```

## Documentation

The official documentation is hosted on https://imaddabbura.github.io/cmn_ai/.

## Development setup

The fastest way to setup the development environment is to use `poetry`. You can install `poetry` using `pip` (or `conda`).

```sh
pip install poetry
```

Then install `cmn_ai` from source as follows:

```sh
git clone https://github.com/ImadDabbura/cmn_ai
cd cmn_ai
poetry install
```

## Tests

To run tests, run the following command:

```sh
poetry run pytest
```

## Contributing

`cmn_ai` is not open now for contribution because there are some infrastructure work I need to finish to make it ready for more contributors.

## License

`cmn_ai` has Apache License, as found in the [LICENCE](LICENSE) file.

