These are a few guidelines that contributors need to follow to keep things easy.
- Create a branch or fork the repository
- Check out the Developer Guide below for setup instructions
- Add your functionality or fix a bug
- Ensure that your changes pass the tests
- Only refactoring and documentation changes require no new tests.
- Only pull requests with passing tests will be accepted.
- Push your changes to your branch/fork.
- Submit a pull request.
As a developer, you should be aware of the following:
- Linting and formatting with
ruff
andpyright
- Testing with
pytest
- CI/CD with GitHub Actions
Ruff is used to lint and format the codebase.
Rye is used for virtual environments, dependency management
and packaging. The rye
setup is located in the rye
field of pyproject.toml
.
Pytest is used for unit testing. The tests are
located in the test
directory.
Using rye
as the package manager, you may run the following commands:
# build virtual environment and install dependencies
rye sync
# lint code
rye run lint
# test code
rye test
# build code
rye build --clean
To run an example, you will need to follow the instructions in the examples/main.py file, then run the following command:
yarn demo
Disclaimer: This project is inspired by many open source SDKs and libraries. Among them are openai-python and box-python-sdk. So, big kudos to the developers behind these projects.