3.7 KiB
Contributing Guidelines
Your contributions to the project are always welcome! This document contains useful information to know before contributing to this project.
Introduction
Before contributing
Before contributing, please ensure that you have read the Security Policy and Code of Conduct and be sure that you agree with these. Please keep in mind that if you do not respect the Code of Conduct, your contribution will be declined, even if it brings great changes to the project.
AI-generated code (such as code generated by, but not limited to: GitHub Copilot, ChatGPT) or code related to blockchain technology (i.e. cryptocurrencies, DeFi, NFTs, Web3) is not allowed and submitting such code will result in the contribution being declined - both for legal and environmental reasons.
Legal information
By contributing to TBlock, you grant to the maintainers of the project the right to publish the code that is included in your contribution under the same license as the one used by the project, and understand that as such, even if you change the license afterwards, the maintainers will still have the right to use your code under the original license, since license changes do not affect the code published before this change.
By making a contribution, you guarantee that 1) you are the author of the code you sent or 2) that both you and the maintainers of the project have the legal right to redistribute it under the same license as the one used by the project.
How to contribute
Submitting a contribution
This project aims to be decentralized. As such, all contributions can be made using the following services:
- The pull request tracker of this repository
- A patch sent by email to
contact <at> tblock <dot> me
- A patch sent in the Matrix room of the project (available on the website)
- A patch sent in the XMPP room of the project (available on the website)
- A patch sent to the fediverse profile of this project
- Any other way you can come up with :P
Coding guidelines
Coding conventions
This project adheres to the PEP 8 coding conventions. This means that contributions should be made with these conventions in mind, but a contribution will never be declined just because it doesn't follow all the PEP 8 conventions!
Linter and code style
This project uses the black style formatter and the pylint linter. Before sending a contribution, it is a great idea to reformat your code by running:
python -m black [source_code]
And then check that the linter doesn't raise any errors by running:
python -m pylint [source_code]
But again, a contribution will never be declined just because it isn't formatted with black or because the linter finds style errors in it.
Regarding the use of third-party modules
This project aims to be as minimalist as possible, and to use a DIY (Do It Yourself) approach every time it is possible to do so. It means that this project tends to avoid the use of third-party modules, unless it is absolutely necessary (i.e. the requests
module).
Python projects with a lot of dependencies tend to break more often and have more risks to contain vulnerabilities than projects limitating the amount of third-party modules used.
This document was last updated on January 4th, 2023.