Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.
To make a contribution, follow the following steps:
- Fork and clone this repository
- Do the changes on your fork
- If you modified the code (new feature or bug-fix), please add tests for it
- Check the linting see below
- Ensure that all tests pass see below
- Submit a pull request
For more details about pull requests, please read GitHub's guides.
We use poetry
as our package manager. You can install poetry by following the instructions here.
Please DO NOT use pip or conda to install the dependencies. Instead, use poetry:
poetry install --all-extras
To ensure our standards, make sure to install pre-commit before starting to contribute.
pre-commit install
We use ruff
to lint our code. You can run the linter by running the following command:
ruff pandasai examples
Make sure that the linter does not report any errors or warnings before submitting a pull request.
We use black
to reformat the code by running the following command:
black pandasai
We use pytest
to test our code. You can run the tests by running the following command:
poetry run pytest
Make sure that all tests pass before submitting a pull request.
At the moment, the release process is manual. We try to make frequent releases. Usually, we release a new version when we have a new feature or bugfix. A developer with admin rights to the repository will create a new release on GitHub, and then publish the new version to PyPI.