Welcomes contributions.
You need PYTHON3!
This instructions are for linux base systems. (Linux, MacOS, BSD, etc.)
- On github interface click on
Forkbutton. - Clone your fork of this repo.
git clone git@github.com:YOUR_GIT_USERNAME/{project_name}.git - Enter the directory
cd {project_name} - Add upstream repo
git remote add upstream https://github.com/YOUR_GIT_USERNAME/{project_name}
Run make virtualenv to create a virtual environment.
then activate it with source .venv/bin/activate.
Run make install to install the project in develop mode.
Run make build to build wheel file.
Run make test to run the tests.
Run git checkout -b my_contribution
Edit the files using your preferred editor. (we recommend VIM or VSCode)
Run make lint to run the linter.
Ensure code coverage report shows 100% coverage, add tests to your PR.
Run make docs to build the docs.
Ensure your new changes are documented.
This project uses conventional git commit messages.
Example: fix(package): update setup.py arguments 🎉 (emojis are fine too)
Run git push origin my_contribution
On github interface, click on Pull Request button.
Wait CI to run and one of the developers will review your PR.
This project comes with a Makefile that contains a number of useful utility.
❯ make
Usage: make <target>
Targets:
help: ## Show the help.
install: ## Install the project in dev mode.
build: ## Build the project wheel file.
lint: ## Run pep8, black.
test: lint ## Run tests and generate coverage report.
watch: ## Run tests on every change.
clean: ## Clean unused files.
virtualenv: ## Create a virtual environment.
release: ## Create a new tag for release.
docs: ## Build the documentation.
init: ## Initialize the project based on an application template.This project uses semantic versioning and tags releases with X.Y.Z
Every time a new tag is created and pushed to the remote repo, github actions will
automatically create a new release on github and trigger a release on PyPI.
For this to work you need to setup a secret called PIPY_API_TOKEN on the project settings>secrets,
this token can be generated on pypi.org.
To trigger a new release all you need to do is.
- If you have changes to add to the repo
- Make your changes following the steps described above.
- Commit your changes following the conventional git commit messages.
- Run the tests to ensure everything is working.
- Run
make releaseto create a new tag and push it to the remote repo.
the make release will ask you the version number to create the tag, ex: type 0.1.1 when you are asked.
CAUTION: The make release will change local changelog files and commit all the unstaged changes you have.