Thanks for your interest in contributing.
git clone https://github.com/visgate-ai/visgate-python.git
cd visgate-python
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"# Lint
ruff check src/ tests/ examples/
# Unit tests
pytest tests/ -v
# Smoke test (no network)
python examples/00_smoke_sdk.py
# Live API smoke test (no auth needed)
python examples/01_live_api_smoke.py- Fork the repo and create a feature branch.
- Make your changes. Add tests for new functionality.
- Ensure
ruff check src/ tests/ examples/andpytest tests/ -vpass. - Open a PR with a clear description of what changed and why.
- Python 3.9+ compatible.
- Use
from __future__ import annotationsin all modules. - Run
ruff check src/ tests/ examples/before committing. - Keep the public API surface minimal.
- Every public export must be in
__init__.py__all__. - No multiple statements on one line (no semicolons); no f-strings without placeholders.
- User-facing strings in English only.
Version is single-sourced from pyproject.toml. To release:
- Bump version in
pyproject.toml. - Update
CHANGELOG.md. - Commit and push to
main. - Create a GitHub Release with the tag (e.g.
v0.3.0). - The PyPI publish workflow runs automatically.