Thank you for being interested in contributing to Shortify. There are many ways you can contribute to the project:
- Try Shortify and report bugs/issues you find
- Implement new features
- Review Pull Requests of others
- Write documentation
Try to be more descriptive as you can and in case of a bug report, provide as much information as possible, for example:
- OS platform
- Python version
- Installed dependencies and versions (
python -m pip freeze) - Code snippet
- Error traceback
You should always try to reduce any examples to the simplest possible case that demonstrates the issue.
Prerequisites:
- Python version 3.8 or later.
- Poetry for dependency management. You should know basic stuff about handling dependencies using poetry command line interface.
To start developing Shortify, create a fork of the Shortify repository on GitHub.
Then clone your fork with the following command replacing YOUR-USERNAME with
your GitHub username:
git clone https://github.com/YOUR-USERNAME/ShortifyYou can now install the project and its dependencies using:
cd shortify
sudo chmod +x scripts/*
scripts/installWe use custom shell scripts to automate testing, linting, and documentation building workflow.
To run the tests, use:
scripts/testAny additional arguments will be passed to pytest. See the pytest documentation for more information.
For example, to run a single test script:
scripts/test tests/test_application.pyTo run the code auto-formatting:
scripts/lintLastly, to run code checks separately (they are also run as part of scripts/test), run:
scripts/checkTaken from Starlette's contribution guidelines.