tif1! This guide will help you set up your environment and understand our development workflow.
Development Setup
Prerequisites
- Python 3.10+
- uv (Recommended for dependency management)
Installation
1
Clone the repository
2
Install dependencies
Use
uv to create a virtual environment and install all development extras:3
Install git hooks with prek
Enable automated linting and formatting before every commit:
Testing Workflow
We usepytest for our test suite, with xdist for parallel execution.
Running Tests
Code Coverage
To run tests with coverage reporting:Code Quality
Before submitting a PR, ensure your code passes all quality checks.- Linting & Formatting: We use
ruff. - Type Checking: We use
pyright(viaty). - prek: Run all checks at once.
Documentation
Our documentation is built with Mintlify.Local Development
To preview the documentation locally:- Install the Mintlify CLI:
npm i -g mintlify - Run the dev server in the
docsdirectory:mintlify dev
Guidelines
- Use Google-style docstrings for all public functions.
- Update
mint.jsonif you add new pages. - Use Mintlify components (
<Steps>,<Card>,<CodeGroup>) to keep pages engaging.
Pull request process
- Create a branch:
git checkout -b feat/your-awesome-feature - Implement & Test: Ensure coverage doesn’t drop.
- Commit: Use Conventional Commits (e.g.,
feat:,fix:,docs:,perf:). - Push & Open PR: Provide a clear description of what changed and why.