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/pdm-project/pdm.git # Or if you prefer SSH clone: $ git clone [email protected]:pdm-project/pdm.git
- Add the fork as a new remote:
$ git remote add fork https://github.com/yourname/pdm.git $ git fetch fork
forkis 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
To make sure the tests suites can run rightly, you need to install Git LFS, then
1 2 3
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:
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.
The test suite is still simple and requires to be supplied, please help write more test cases.
pre-commit for linting, you need to install
pre-commit first, then:
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.
Preview the documentation#
If you do some changes to the
docs/ and you may want to preview the build result, simply do: