Skip to content

Commit aee9cda

Browse files
committed
added contribution guide
1 parent 19e2dcf commit aee9cda

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

CONTRIBUTING.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
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

Comments
 (0)