Contributing to PDM#
First off, thanks for taking the time to contribute! Contributions include but are not restricted to:
- Reporting bugs
- Contributing to code
- Writing tests
- Writing documents
The following is a set of guidelines for contributing.
A recommended flow of contributing to an Open Source project.#
This guideline is for new beginners of OSS. If you are an experienced OSS developer, you can skip this section.
- First, fork this project to your own namespace using the fork button at the top right of the repository page.
- Clone the upstream repository to local:
1 2 3
$ git clone https://github.com/frostming/pdm.git # Or if you prefer SSH clone: $ git clone [email protected]:frostming/pdm.git
- Add the fork as a new remote:
where1 2
$ git remote add fork https://github.com/yourname/pdm.git $ git fetch fork
fork
is the remote name of the fork repository.
ProTips: 1. Don't modify code on the master branch, the master branch should always keep track of origin/master.
To update master branch to date:
1 2 3 |
|
Local development#
To make sure the tests suites can run rightly, you need to install Git LFS, then
1 |
|
Then, you need to install base dependencies in a venv. Although PDM uses local package directory to install dependencies, venv is still needed to start up PDM at the first time:
1 |
|
Now, all dependencies are installed into local __pypackages__
directory, which will be used for development
after this point. The pdm
executable located at __pypackages__/<VERSION>/bin
can be run directly from outside,
which is installed in editable mode, or you can use python -m pdm
from inside the venv.
Run tests#
1 |
|
The test suite is still simple and requires to be supplied, please help write more test cases.
Code style#
PDM uses pre-commit
for linting, you need to install pre-commit
first, then:
1 2 |
|
PDM uses black
coding style and isort
for sorting import statements, if you are not following them,
the CI will fail, and your Pull Request will not be merged.