22 lines
1.2 KiB
Markdown
22 lines
1.2 KiB
Markdown
Contributing
|
|
============
|
|
|
|
Wheel-building is pretty complex. I expect users to find many edge-cases - please help the rest of the community out by documenting these, adding features to support them, and reporting bugs.
|
|
|
|
I plan to be pretty liberal in accepting pull requests, as long as they align with the design goals below.
|
|
|
|
`cibuildwheel` is indie open source. I'm not paid to work on this.
|
|
|
|
Design Goals
|
|
------------
|
|
|
|
- `cibuildwheel` should wrap the complexity of wheel building.
|
|
- The user interface to `cibuildwheel` is the build script (e.g. `.travis.yml`). Feature additions should not increase the complexity of this script.
|
|
- Options should be environment variables (these lend themselves better to YML config files). They should be prefixed with `CIBW_`.
|
|
- Options should be generalise to all platforms. If platform-specific options are required, they should be namespaced e.g. `CIBW_TEST_COMMAND_MACOS`
|
|
|
|
Other notes:
|
|
|
|
- The platforms are very similar, until they're not. I'd rather have straight-forward code than totally DRY code, so let's keep airy platfrom abstractions to a minimum.
|
|
- I might want to break the options into a shared config file one day, so that config is more easily shared. That has motivated some of the design decisions.
|