We are excited to have you contribute to PDB2PQR! If you have general questions about the code, please see the documentation and/or start a thread in the discussion forum. Once you have familiarity with the code, you're ready to start contributing:
Find a problem/feature that needs to be resolved in the code issues. If the problem you're trying to solve doesn't exist, create a Github issue to resolve some or all of the problem or to add features. For example, you could
- Fix a bug
- Add a new capability with 3 parts - create issue for each part it possible
- In general, make problem/feature small enough to finish it within a week or two
Create a git branch using the convention of github_user
/issue_#
where github_user
is your user name and issue_#
is the issue number from step 2 above.
Create a test that replicates the problem/feature and fails and show how your fix results in a working test. Work on the code until your test, as well as all previous tests, pass.
Run your code through the following steps:
- Formatting tools: astral-sh/ruff
# in the project root directory
ruff check --select I --fix .
ruff format .
- Linting tools: astral-sh/ruff
# The essential lints must pass
ruff check --config ruff_essential.toml .
# Follow the optional lints as much as possible
ruff check .
- Type checker: basedpyright
Enable type inlay hints in your editor and write typed code. Types don't need to be always explicit, but they should be able to be inferred by the type checker.
- Commit your changes to Git and push your branch to the Github repo.
- Create a pull request and add reviewers (e.g.,
speleo3
,orbeckst
,sobolevnrm
, andintendo
) to the request. Reference the issue you are trying to fix in your pull request. - If the pull request passes Github Actions and peer review, then the branch will be merged with
main
, your branch will be deleted, and the development team will be very grateful for your contribution!
Thank you for considering to contribute to our code!