This document describes how to contribute to the Python client library.
We encourage everyone with knowledge of IOTA technology to contribute.
Thanks! ❤️
Do you have a question ❓
If you have a general or technical question, you can use one of the following resources instead of submitting an issue:
- Developer documentation: For official information about developing with IOTA technology
- Discord: For real-time chats with the developers and community members
- IOTA cafe: For technical discussions with the Research and Development Department at the IOTA Foundation
- StackExchange: For technical and troubleshooting questions
Ways to contribute 🔍
To contribute to the Python client library on GitHub, you can:
- Report a bug
- Suggest a new feature
- Build a new feature
- Contribute to the documentation
Report a bug 🐛
This section guides you through reporting a bug. Following these guidelines helps maintainers and the community understand the bug, reproduce the behavior, and find related bugs.
Please check the following list:
-
Do not open a GitHub issue for security vulnerabilities, instead, please contact us at [email protected].
-
Ensure the bug was not already reported by searching on GitHub under Issues. If the bug has already been reported and the issue is still open, add a comment to the existing issue instead of opening a new one. You can also find related issues by their label.
Note: If you find a Closed issue that seems similar to what you're experiencing, open a new issue and include a link to the original issue in the body of your new one.
To report a bug, open a new issue, and be sure to include as many details as possible, using the template.
Note: Minor changes such as fixing a typo can but do not need an open issue.
If you also want to fix the bug, submit a pull request and reference the issue.
Suggest a new feature 💡
This section guides you through suggesting a new feature. Following these guidelines helps maintainers and the community collaborate to find the best possible way forward with your suggestion.
Ensure the feature has not already been suggested by searching on GitHub under Issues.
To suggest a new feature, talk to the IOTA community and IOTA Foundation members on Discord.
If the team members approve your feature, they will create an issue for it.
Build a new feature 🔨
This section guides you through building a new feature. Following these guidelines helps give your feature the best chance of being approved and merged.
Make sure to discuss the feature with the developers on Discord.
Otherwise, your feature may not be approved at all.
To build a new feature, check out a new branch based on the develop
branch, and be sure to consider the following:
- If the feature will become part of PyOTA's public interface (i.e., it includes methods that will be invoked by other developers in their applications), make sure to document it, using Sphinx-style code comments.
Contribute to the documentation ✒️
The Python client library documentation is hosted on https://docs.iota.org, which is built from content in the documentation repository.
Please see the guidelines on the documentation repository for information on how to contribute to the documentation.
Pull requests 📣
This section guides you through submitting a pull request (PR). Following these guidelines helps give your PR the best chance of being approved and merged.
When creating a pull request, please follow these steps to have your contribution considered by the maintainers:
-
A pull request should have only one concern (for example one feature or one bug). If a PR addresses more than one concern, it should be split into two or more PRs.
-
A pull request can be merged only if it references an open issue.
Note: Minor changes such as fixing a typo can but do not need an open issue.
-
All code should include comprehensive unit tests.
The following is a typical workflow for submitting a new pull request:
- Fork this repository
- Create a new branch based on your fork
- Commit changes and push them to your fork
- Create a pull request against the
develop
branch
If all status checks pass, and the maintainer approves the PR, it will be merged.
Note: Reviewers may request changes before your pull request can be approved and merged.
Code of Conduct 📋
This project and everyone participating in it are governed by the IOTA Code of Conduct.