Contribution Guide
August 24, 2026 ยท View on GitHub
We appreciate your interest in contributing! Hereโs how you can get involved.
Important Note About Managed Sources
Most Python sources under src/nebius are synchronized from the internal development repository. The publisher
records this managed set in .changes/pysdk-publish-managed-files.json and may overwrite those files during the next
publication.
Please open an issue before proposing changes to managed sources. If a change is accepted, maintainers may apply it in the development repository and publish it back to this repository instead of merging the pull request directly.
๐ Reporting Issues
Security Vulnerabilities
If you discover a security issue, please report it promptly via the GitHub "Report a Vulnerability" tab. For more details on our security policies, see SECURITY.md.
Bugs
Found a bug? Before opening a new issue, please check the existing issues to see if itโs already been reported. If itโs a new bug, you can create an issue here.
Feature Requests
Got an idea for a new feature? Weโd love to hear it! Please submit a feature request and provide as much detail as possible.
๐ ๏ธ Contributing Code
If youโd like to contribute code, follow these steps:
- Open an Issue: Start by opening an issue to discuss your proposal or bug fix.
- Fork the Repository: Create a fork and work on your changes in a new branch.
- Submit a Pull Request: Once your changes are ready, submit a Pull Request (PR) for review.
๐ป Development Setup
To set up your development environment, ensure you have the following tools installed:
- Python 3.10 or later
- Make
- Python Setuptools (may be inside virtualenv)
Then, install the module for edit with the required dependencies:
pip install -e .[dev,docs]
On Windows, you will have to add another dependency:
pip install -e .[dev,docs,windows]
๐งช Testing
Writing Tests
All new code must include unit tests to ensure coverage and stability.
Running Tests
Run the tests locally with:
tox
๐ Code Quality
Linting
Ensure your code meets project standards by running the linter:
pre-commit run --all && tox
Apply Ruff formatting and safe lint fixes with:
tox -e fix
๐ Documentation
To generate the API documentation, run:
make gen-doc