Skip to main content
This guide explains how to set up a development environment and how to submit changes to tif1.

Development Setup

Prerequisites

  • Python 3.11+
  • 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

The test suite uses pytest, with xdist for parallel execution.

Running Tests

Code Coverage

Run the tests with coverage reporting:

Code Quality

Make sure that the code passes all quality checks before a pull request is submitted.
  • Linting & Formatting: The project uses ruff.
  • Type Checking: The project uses pyright (via ty).
  • prek: Run all checks at once.

Documentation

The documentation is built with Mintlify.

Local Development

To preview the documentation locally:
  1. Install the Mintlify CLI: npm i -g mintlify
  2. Run the dev server in the docs directory: mintlify dev

Guidelines

  • Use Google-style docstrings for all public functions.
  • Update mint.json when a new page is added.
  • Use Mintlify components (<Steps>, <Card>, <CodeGroup>) to structure the pages.

Pull Request Process

  1. Create a branch: git checkout -b feat/your-awesome-feature
  2. Implement & Test: Make sure that the coverage does not drop.
  3. Commit: Use Conventional Commits, for example feat:, fix:, docs:, perf:.
  4. Push & Open PR: Describe the changes and the reason for them.
Check CHANGELOG.md and add a summary of the changes there as well.
Last modified on September 3, 2026