4. Contributing¶
Contributions and issue-reports are welcome, with no strings attached; project is at a very early stage.
4.1. Installation¶
Install both sub-projects in develop mode using pip
$ git clone https://github.com/JRCSTU/polyvers polyvers.git
$ cd polyvers.git
$ pip install -e pvlib[test] -e .[test]
Caution
Installing egg with python setup.py install develop
is not tested,
and may fail to work correctly.
4.2. Tests & integrations¶
test-suite: | |
---|---|
linters: | |
integration-services: | |
|
|
commit-messages: | |
guidelines from angular repo: https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#-git-commit-guidelines |
|
changes-aggregation: | |
4.3. Similar Tools¶
Bumped across these projects while building it…
- bumpversion
- The original bumpversion project; development stopped after 2015: (recomended also by python guide) https://github.com/peritus/bumpversion
- bump2version
- active clone of the original: https://github.com/c4urself/bump2version
- releash
- another monorepos managing tool, that publishes also to PyPi: https://github.com/maartenbreddels/releash
- Git Bump
- bump version using git-hooks: https://github.com/arrdem/git-bump
- Lerna
- A tool for managing JavaScript projects with multiple packages. https://lernajs.io/
- Pants
- a build system designed for codebases that: - Are large and/or growing rapidly. - Consist of many subprojects that share a significant amount of code. - Have complex dependencies on third-party libraries. - Use a variety of languages, code generators and frameworks. - https://www.pantsbuild.org/
- pbr
- a
setup_requires
library that injects sensible default and behaviors into your setuptools. Crafted for Semantic Versioning, maintained for OpenStack projects. https://docs.openstack.org/pbr/ - Zest.releaser
- easy releasing and tagging for Python packages; make easy, quick and neat releases of your Python packages. You need to change the version number, add a new heading in your changelog, record the release date, svn/git/bzr/hg tag your project, perhaps upload it to pypi… zest.releaser takes care of the boring bits for you. (recomended also by python guide) http://zestreleaser.readthedocs.io/
- incremental
- a small setuptools plugin library that versions Python projects. https://github.com/twisted/incremental
- changes
Manages the release of a Python Library (intuitive logo, recomended also by python guide):
- Auto generates changelog entries from commit messages
- CLI that follows Semantic Versioning principles to auto-increment the library version
- Runs the library tests
- Checks the package installation from a tarball and PyPi
- Uploads the distribution to PyPi
- Tags the GitHub repository
- setuptools_scm
- managing versions in scm metadata instead of declaring them as the version argument or in a scm managed file, apart from handling file finders for the supported scm’s. (recomended also by python guide) https://pypi.org/project/setuptools_scm/
- python guide
- There is a dedicated guide for this problem in pythons docs: https://packaging.python.org/guides/single-sourcing-package-version/
Find more than 34 similar projects in GitHub: and in awesome: https://github.com/korfuri/awesome-monorepo.
4.4. Credits¶
- Contains a function from the BSD-tool :term`pbr` to fetch version from pkg-metadata when invoked as a setuptools plugin from inside an egg.
- This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
- Using towncrier for generating CHANGES.