Thank you for your interest in contributing to core-python! We welcome contributions from the community and want to make the process as smooth as possible.
- Fork the repository and create your branch from
master. - Create descriptive branches: Use meaningful names, e.g.,
feature/add-loggingorbugfix/fix-typo-in-readme. - Write clear, concise commit messages that explain your changes.
- Open a Pull Request (PR) against the
masterbranch.
- Follow PEP 8 for code style.
- Use type hints where appropriate.
- Document public methods and classes with docstrings.
We support all current supported versions of Python. When introducing new dependencies or syntax, please ensure they are available and function correctly across all supported Python versions. If code requires version-specific logic, use clear and well-documented conditional statements. Please verify changes using the test suite in each supported Python environment.
- All new features and bugfixes must include tests.
- We use the python
unittestmodule for testing to avoid additional dependencies. Add your tests in thetests/directory. - Ensure your code passes all tests before submitting a PR:
python3 -m unittest - We expect 100% test coverage for new code (exceptions may be discussed in PRs).
- Keep PRs focused and small; make unrelated changes in separate PRs.
- Address all automated review comments and code style checks.
- Add/Update documentation as needed for your changes.
- Use the issue tracker for bugs, feature requests, or questions.
- Provide as much context as possible, including steps to reproduce problems.