Contributor’s Guide
Every contribution is very much appreciated and credited. Before you begin, please read carefully the following sections.
Before You Begin
It is important to understand that pypz is an extensible framework. Different interfaces are provided to allow you to integrate your custom implementation with pypz. These implementations shall be maintained separately from pypz’s core. In other words, if you want to implement your own operator, plugin, deployer or channels, you don’t need to contribute to this project, but you shall create your own repository for that. On the other hand, if you want to improve pypz’s core functionality or the builtin assets (e.g., K8s deployer or the Kafka IO port plugins), then you are at the right place.
If you think that your implementation should be part of the base package then contact me.
Code of conduct
By contributing to this project you agree and abide the terms and conditions of the Contributor Covenant Code of Conduct.
Contributor License Agreement
Read and understand the Contributor License Agreement
Workflow
Fork the Repository
Fork the pypz repository.
Setting up the Development
Follow the Developer’s Guide to set up your development environment.
Prepare the Pull Request
Always make sure that your fork is synced with the main branch of pypz
It is advised to create your own development branch instead of committing your changes directly to the main branch
Implement your fix, feature etc.
Implement the necessary unittests
Run the corresponding tests (Check the README of the specific subproject for more details on testing)
Rebase your fork, squash commits and resolve conflicts
Commit message shall have a clear description of the changes (emphasis on the answers to “why”)
Pass PR Review
Given the availability of the maintainer(s), your PR will be reviewed as soon as possible. During the review, both parties shall be open minded for feedbacks and comments. Everybody can have opinions or ideology, but facts and proofs are preferred, so don’t get irritated or offended, if there are comments or requests to your PR.
It makes the review process much easier, if you provide your intentions behind your changes e.g., as code docs.