- TLDR;
- Setting up your development environment
- Definition of Done
- Automation
- Testing
- Benchmarks
- Updating Dependencies
- Code style
- Adding a new provider/model
- Create your own fork of the repo
- Make changes to the code in your fork
- Run unit tests and integration tests
- Check the code with linters
- Submit PR from your fork to main branch of the project repo
- git
- Python 3.11, 3.12, or 3.13
- pip
The development requires at least Python 3.11 due to significant improvement on performance, optimizations which benefit modern ML, AI, LLM, NL stacks, and improved asynchronous processing capabilities. It is also possible to use Python 3.12 or Python 3.13.
pip install --user pdmpdm --version-- should return no error
# clone your fork
git clone https://github.com/YOUR-GIT-PROFILE/lightspeed-stack.git
# move into the directory
cd lightspeed-stack
# setup your devel environment with pdm
pdm install -G dev
# Now you can run test commands trough make targets, or prefix the rest of commands with `pdm run`, eg. `pdm run make test`
# run unit tests
make unit-tests
# run integration tests
make integration-tests
# code formatting
# (this is also run automatically as part of pre-commit hook if configured)
make format
# code style and docstring style
# (this is also run automatically as part of pre-commit hook if configured)
make verify
# check type hints
# (this is also run automatically as part of pre-commit hook)
make check-typesHappy hacking!
It is possible to run formatters and linters automatically for all commits. You just need
to copy file hooks/pre-commit into subdirectory .git/hooks/. It must be done manually
because the copied file is an executable script (so from GIT point of view it is unsafe
to enable it automatically).