Thank you for your interest in contributing to the Vortex SDK Python wrapper! This document provides guidelines for contributing to the project.
By participating in this project, you agree to maintain a respectful and inclusive environment for all contributors.
Before creating bug reports, please check existing issues to avoid duplicates. When creating a bug report, include:
- Clear title and description
- Steps to reproduce the issue
- Expected behavior vs actual behavior
- Environment details: OS, Python version, Node.js version
- Code samples or test cases that demonstrate the issue
- Error messages and stack traces
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion, include:
- Clear title and description
- Use case explaining why this enhancement would be useful
- Proposed implementation if you have ideas
- Alternatives considered
- Fork the repository and create your branch from
main - Make your changes following the code style guidelines
- Add tests if you're adding functionality
- Update documentation if needed
- Ensure tests pass
- Create a pull request
- Python 3.9+
- Node.js 18+
- npm or yarn
# Clone your fork
git clone https://github.com/YOUR_USERNAME/vortex-python-sdk.git
cd vortex-python-sdk
# Install npm dependencies
npm install
# Create virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install in development mode
pip install -e ".[dev]"
# Install pre-commit hooks (optional but recommended)
pip install pre-commit
pre-commit install# Run all tests
pytest
# Run with coverage
pytest --cov=vortex_sdk --cov-report=html
# Run specific test file
pytest tests/test_sdk.py
# Run with verbose output
pytest -vWe follow Python best practices:
- PEP 8 for code style
- Type hints for all function signatures
- Black for code formatting (line length: 100)
- Ruff for linting
- mypy for type checking
# Format code
black src/ tests/ examples/
# Lint code
ruff check src/ tests/ examples/
# Type check
mypy src/- Update docstrings for any modified functions/classes
- Follow Google style for docstrings
- Update
README.mdif adding user-facing features - Add examples for new functionality
vortex-python-sdk/
├── src/vortex_sdk/ # Main package code
│ ├── __init__.py # Package exports
│ ├── sdk.py # Main SDK class
│ ├── bridge.py # Node.js bridge
│ ├── types.py # Type definitions
│ └── exceptions.py # Custom exceptions
├── tests/ # Test files
├── examples/ # Usage examples
├── docs/ # Documentation
└── package.json # npm dependencies
Follow Conventional Commits:
feat: add support for new token
fix: resolve import error with global packages
docs: update installation instructions
test: add tests for async methods
chore: update dependencies
For maintainers:
- Update version in
setup.py,pyproject.toml, and__init__.py - Update
CHANGELOG.mdwith changes - Create PR with version bump
- After merge, tag the release:
git tag v0.1.0 - Push tag:
git push origin v0.1.0 - GitHub Actions will publish to PyPI automatically
- Open a GitHub Discussion
- Join our Discord (if applicable)
- Email: info@pendulumchain.tech
By contributing, you agree that your contributions will be licensed under the MIT License.