Metadata-Version: 2.1
Name: openelm-pytorch
Version: 0.1.0rc1
Summary: openelm-pytorch
Author-email: Frank Odom <frank.odom.iii@gmail.com>
License: MIT
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: einops<1,>=0.7.0
Requires-Dist: safetensors<1,>=0.4.0
Requires-Dist: torch<3.0,>=2.0
Provides-Extra: mlx
Requires-Dist: mlx<1,>=0.10.0; extra == "mlx"
Provides-Extra: train
Requires-Dist: lora-pytorch~=0.1.0; extra == "train"
Requires-Dist: lightning~=2.2.0; extra == "train"
Requires-Dist: tensorboard~=2.14.0; extra == "train"
Requires-Dist: torchdata~=0.7.0; extra == "train"
Requires-Dist: tqdm; extra == "train"
Provides-Extra: test
Requires-Dist: black==24.4.2; extra == "test"
Requires-Dist: mlx==0.10.0; extra == "test"
Requires-Dist: mypy==1.10.0; extra == "test"
Requires-Dist: numpy==1.26.4; extra == "test"
Requires-Dist: pre-commit==3.7.0; extra == "test"
Requires-Dist: pytest==8.1.2; extra == "test"
Requires-Dist: pytest-cov==5.0.0; extra == "test"
Requires-Dist: ruff==0.4.2; extra == "test"
Requires-Dist: sentencepiece==0.2.0; extra == "test"

# openelm-pytorch

A simple template for Python projects, with CI/CD configured through GitHub Actions.  Compatible with any virtual environment manager (e.g. `venv`, `pyenv`, `poetry`, `conda`).


## Install

```bash
pip install "openelm-pytorch @ git+ssh://git@github.com/fkodom/openelm-pytorch.git"

# Install all dev dependencies (tests etc.)
pip install "openelm-pytorch[test] @ git+ssh://git@github.com/fkodom/openelm-pytorch.git"

# Setup pre-commit hooks
pre-commit install
```


## Tooling

| Tool | Description | Runs on |
| --- | --- | --- |
| [black](https://github.com/psf/black) | Code formatter | - `git commit` (through `pre-commit`) <br> - `git push` <br> - pull requests |
| [ruff](https://github.com/astral-sh/ruff) | Code linter | - `git commit` (through `pre-commit`) <br> - `git push` <br> - pull requests |
| [pytest](https://github.com/pytest-dev/pytest) | Unit testing framework | - `git push` <br> - pull requests |
| [mypy](https://github.com/python/mypy) | Static type checker | - `git push` <br> - pull requests |
| [pre-commit](https://github.com/pre-commit/pre-commit) | Pre-commit hooks | - `git commit` |
| [twine](https://github.com/pypa/twine) $\dagger$ | PyPI package uploader | - New release (`git tag`) |

> $\dagger$ Requires enabling the `publish.yaml` workflow.  To activate, move the file from `.github/disabled-workflows/publish.yaml.disabled` to `.github/workflows/publish.yaml`, and set a valid PyPI token as `PYPI_API_TOKEN` in the repo secrets.
>
> Then tag a new release of this repo, and GHA will automatically build and publish a Python wheel (`.whl`) to PyPI.
