Skip to content

Commit

Permalink
Merge pull request #1091 from messense/update-contributing
Browse files Browse the repository at this point in the history
Update contributing docs and add my GitHub sponsorship page
  • Loading branch information
messense authored Sep 9, 2022
2 parents c6bbcce + 079257c commit 3432382
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 8 deletions.
27 changes: 19 additions & 8 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -257,15 +257,26 @@ See [konstin/complex-manylinux-maturin-docker](https://github.com/konstin/comple

maturin itself is manylinux compliant when compiled for the musl target.

## Code
## Contributing

The main part is the maturin library, which is completely documented and should be well integrable. The accompanying `main.rs` takes care username and password for the pypi upload and otherwise calls into the library.
Everyone is welcomed to contribute to maturin! There are many ways to support the project, such as:

The `sysconfig` folder contains the output of `python -m sysconfig` for different python versions and platform, which is helpful during development.
- help maturin users with issues on GitHub and Gitter
- improve documentation
- write features and bugfixes
- publish blogs and examples of how to use maturin

You need to install `cffi` and `virtualenv` (`pip install cffi virtualenv`) to run the tests.
Our [contributing notes](https://github.com/PyO3/maturin/blob/main/guide/src/contributing.md) have more resources if you wish to volunteer time for maturin and are searching where to start.

There are some optional hacks that can speed up the tests (over 80s to 17s on my machine).
1. By running `cargo build --release --manifest-path test-crates/cargo-mock/Cargo.toml` you can activate a cargo cache avoiding to rebuild the pyo3 test crates with every python version.
2. Delete `target/test-cache` to clear the cache (e.g. after changing a test crate) or remove `test-crates/cargo-mock/target/release/cargo` to deactivate it.
3. By running the tests with the `faster-tests` feature, binaries are stripped and wheels are only stored and not compressed.
If you don't have time to contribute yourself but still wish to support the project's future success, some of our maintainers have GitHub sponsorship pages:

- [messense](https://github.com/sponsors/messense)

## License

Licensed under either of:

* Apache License, Version 2.0, ([LICENSE-APACHE](https://github.com/PyO3/maturin/blob/main/license-apache) or http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](https://github.com/PyO3/maturin/blob/main/license-mit) or http://opensource.org/licenses/MIT)

at your option.
13 changes: 13 additions & 0 deletions guide/src/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,3 +71,16 @@ Before you submit a pull request, check that it meets these guidelines:
2. Add a [changelog](https://github.com/PyO3/maturin/blob/main/Changelog.md)
entry.
3. When command line interface changes, run `python3 test-crates/update_readme.py` to update related documentation.

## Code

The main part is the maturin library, which is completely documented and should be well integrable. The accompanying `main.rs` takes care username and password for the pypi upload and otherwise calls into the library.

The `sysconfig` folder contains the output of `python -m sysconfig` for different python versions and platform, which is helpful during development.

You need to install `cffi` and `virtualenv` (`pip install cffi virtualenv`) to run the tests.

There are some optional hacks that can speed up the tests (over 80s to 17s on my machine).
1. By running `cargo build --release --manifest-path test-crates/cargo-mock/Cargo.toml` you can activate a cargo cache avoiding to rebuild the pyo3 test crates with every python version.
2. Delete `target/test-cache` to clear the cache (e.g. after changing a test crate) or remove `test-crates/cargo-mock/target/release/cargo` to deactivate it.
3. By running the tests with the `faster-tests` feature, binaries are stripped and wheels are only stored and not compressed.

0 comments on commit 3432382

Please sign in to comment.