First off, thank you for considering contributing! We are thrilled you're interested in helping us build the future of cloud-agnostic computing. Every contribution, from fixing a typo in the documentation to implementing a new contract, is valuable.
This document provides a guide for contributing to the tck-py project.
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to the email address specified in the document.
There are many ways to contribute:
- Reporting bugs
- Suggesting enhancements or new contracts
- Improving the documentation
- Writing code to fix a bug or add a new feature
If you have a substantial change in mind, please open an issue first to discuss it with the maintainers.
To get started with the codebase, follow these steps. This project uses Poetry for dependency management.
-
Fork the repository on GitHub.
-
Clone your fork locally:
git clone [https://github.com/open-omni-cloud/tck-py.git](https://github.com/open-omni-cloud/tck-py.git) cd tck-py -
Install dependencies: This project uses dependency groups. The following command will install the main dependencies as well as the development (
dev) and documentation (docs) dependencies.poetry install --with dev,docs
-
Activate the virtual environment:
poetry shell
You are now ready to start coding!
The TCK is, itself, a test suite. However, it also has its own "meta" test suite to ensure the TCK's internal logic is correct. Before submitting any changes, please ensure that all tests pass.
To run the full test suite:
pytest-
Create a new branch for your feature or bug fix:
git checkout -b feature/my-awesome-feature
-
Make your changes. Write clean, readable code.
-
Ensure the test suite passes with your changes:
pytest
-
Format your commit messages according to our Commit Message Guide. This is not just a suggestion; it's a requirement for a clean and automated changelog.
-
Push your branch to your fork on GitHub:
git push origin feature/my-awesome-feature
-
Open a Pull Request from your fork to the
mainbranch of theopen-omni-cloud/tck-pyrepository. -
Provide a clear title and description for your Pull Request, explaining the "what" and "why" of your changes.
Thank you again for your contribution!