This project welcomes contributions in the form of Pull Requests. For clear bug-fixes / typos etc. just submit a PR. For new features or if there is any doubt in how to fix a bug, you might want to open an issue prior to starting work, or email [email protected] to discuss it first.
To start developing with Rich, first create a virtual environment then run the following to install development requirements:
pip install -r requirements-dev.txt
poetry install
Run tests with the following command:
make test
Or if you don't have make, run the following:
pytest --cov-report term-missing --cov=rich tests/ -vv
New code should ideally have tests and not break existing tests.
Rich uses type annotations throughout, and mypy
to do the checking. Run the following to type check Rich:
make typecheck
Or if you don't have make
:
mypy -p rich --ignore-missing-imports --warn-unreachable
Please add type annotations for all new code.
Rich uses black
for code formatting. I recommend setting up black in your editor to format on save.