Skip to content

AlexIoannides/llmz

Repository files navigation

llmz

This is the repository for the llmz Python package.

Developer Setup

This project uses uv for managing dependencies, virtual environments and for building the package into a distributable artefact. Please install the tool and then run,

uv sync --group docs

To install the Python package and all the developer tools used in this project.

Developer Task Execution with Nox

We use Nox for scripting developer tasks, such as formatting code, checking types and running tests. These tasks are defined in noxfile.py, a list of which can be returned on the command line,

uv run nox --list

Sessions defined in /Users/.../noxfile.py:

* run_tests-3.12 -> Run unit tests.
- format_code -> Lint code and re-format where necessary.
* check_code_formatting -> Check code for formatting errors.
* check_types -> Run static type checking.
* build_docs -> Ensure docs can be built.
- build_and_deploy-3.12 -> Build wheel and deploy to PyPI.

sessions marked with * are selected, sessions marked with - are skipped.

Single tasks can be executed easily - e.g.,

uv run nox -s run_tests

nox > Running session run_tests-3.12
nox > Creating virtual environment (virtualenv) using python3.12 in .nox/run_tests-3-10
nox > python -m pip install '.[dev]'
nox > pytest 
...
nox > Session run_tests-3.12 was successful.

CI/CD

This repo comes configured to run two GitHub Actions workflows:

  • Test Python Package (CI), defined in .github/workflows/python-package-ci.yml

The CI workflow has been configured to run whenever a pull request to the main branch is created.

About

Tools for experimenting and working with LLMs.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages