Fork the repo, then install all development requirements with:
pip install -r development.txt
When your changes are ready, submit a pull request!
For formatting and code style, we use black. Docstrings should follow the Google Python Style Guide.
To run the tests, execute pytest
at the root of the project.
To run the tests with coverage enabled, execute:
pytest --cov-config=.coveragerc --cov=pyfuncol --cov-report=xml
The docs are hosted on Read the Docs. Source files are in docs/source/
.
To build them locally, run in docs/
:
make html
The HTML files will be stored in docs/build/
.
┌── docs - Contains the docs source code
├── pyfuncol - Contains all the library source code
├── tests - Contains tests for all the modules
├── __init__.py - Contains the function calls that extend built-in types
├── dict.py - Contains extension functions for dictionaries
├── list.py - Contains extension functions for lists
└── ...
└── ...
To publish a new release on PyPI:
- Update the version in
setup.py
- Update the version (
release
field) indocs/source/conf.py
- Push the version bump
- Create a new release on GitHub. The newly created tag and the release title should match the version in
setup.py
anddocs/source/conf.py
with 'v' prepended. An example: for version1.1.1
, the tag and release title should bev1.1.1
.
The GitHub release creation will trigger the deploy workflow that builds and uploads the project to PyPI.
Our Code of Conduct is here. By contributing to pyfuncol, you implicitly accept it.