Contributing
Contributions are welcome, and they are greatly appreciated!
You can contribute in many ways:
Types of Contributions
Report Bugs
Report bugs at https://github.com/PyO3/maturin/issues.
Fix Bugs
Look through the GitHub issues for bugs. Anything tagged with bug
and help wanted
is open to whoever wants to implement it.
Implement Features
Look through the GitHub issues for features.
Write Documentation
Maturin could always use more documentation, whether as part of the official guide, in docstrings or even on the web in blog posts, articles and such.
Submit Feedback
The best way to send feedback is to start a new discussion at https://github.com/PyO3/maturin/discussions.
Get Started!
Ready to contribute? Here's how to setup maturin for local development.
- Fork the maturin repository on GitHub.
- Clone your fork locally:
$ git clone git@github.com:your_name_here/maturin.git
- Install a stable Rust toolchain and of course Python 3.6 or later is also required.
- Create a branch for local development:
Now you can make your changes locally.$ cd maturin $ git checkout -b branch-name
- When you're done making changes, format your changes with
cargo fmt
, then lint withcargo clippy
and test them withcargo test
:
Note that in order to run tests you need to install$ cargo fmt $ cargo clippy $ cargo test
virtualenv
andcffi
(pip3 install cffi virtualenv
). - Commit your changes and push your branch to GitHub:
$ git add . $ git Commit $ git push origin branch-name
- Submit a pull request through the GitHub website.
Pull Request Guidelines
Before you submit a pull request, check that it meets these guidelines:
- The pull request should include tests if it adds or changes functionalities.
- Add a changelog entry.
- When command line interface changes, run
python3 test-crates/update_readme.py
to update related documentation.