|
| 1 | +Hi! |
| 2 | +thanks for considering contribution to this project. |
| 3 | + |
| 4 | +this is a community project and maintained by people, so we appreciate any help. |
| 5 | + |
| 6 | +if you want to add a new future, please open an [issue](https://github.com/amirreza8002/django-async-extensions/issues) first. |
| 7 | + |
| 8 | +Requirements: |
| 9 | +1. python >= 3.10 |
| 10 | +2. poetry >= 2.0 |
| 11 | + |
| 12 | + |
| 13 | +contribution steps: |
| 14 | + |
| 15 | +1. fork the project from the [repository](https://github.com/amirreza8002/django-async-extensions) |
| 16 | +2. clone the forked repo (you can find it in your own repositories) |
| 17 | +3. go to the cloned project's directory (probably `cd django-async-extensions` will do it for you) |
| 18 | + |
| 19 | +4. install dependencies: |
| 20 | + this project uses [poetry](https://python-poetry.org/) to manage dependencies, so you want to install poetry first if you haven't. |
| 21 | + |
| 22 | + in the project directory (where `pyproject.toml` exists) run `poetry sync --with dev` to get the packages. |
| 23 | + if you are writing documentations, run `poetry sync --with doc` |
| 24 | + if you want to use ipython so you can `await` in the shell, run `poetry sync --with ipython` |
| 25 | + if you need al of these, run `poetry sync --all-groups` |
| 26 | + |
| 27 | +5. activate the virtual env: |
| 28 | + to activate poetry follow one of the ways explained [here](https://python-poetry.org/docs/managing-environments/#activating-the-environment) depending on your OS and shell. |
| 29 | + |
| 30 | +6. write the code/document you want |
| 31 | + |
| 32 | +7. testing: |
| 33 | + tests are written using pytest. |
| 34 | + to run the test suits simply run `python tests/runtest.py` |
| 35 | + currently these flags are avilable: |
| 36 | + * --quite |
| 37 | + * -v={0,2,3} |
| 38 | + * --failfast |
| 39 | + * --keepdb |
| 40 | + |
| 41 | +8. documentation: |
| 42 | + docs are written using [mkdocs](https://www.mkdocs.org/) |
| 43 | + you can run `mkdocs serve` so you can see the changes you make as you develop. |
| 44 | + |
| 45 | +9. git: |
| 46 | + we expect a clean git history, you can use the many sources available online to see how you can keep a clean git history. |
| 47 | + |
| 48 | +10. sending the codes: |
| 49 | + first push your changes to your forked repo (using `git push origin main` or the like) |
| 50 | + then go to the repo and click on the button saying `Contribute` |
| 51 | + then open a pull request, we'll check the code and either accept or add notes to it. |
0 commit comments