Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 10 additions & 27 deletions docs/source/developers.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,8 @@
# Developer Documentation

## Installing Development Dependencies
## Environment Setup
Comment thread
medley56 marked this conversation as resolved.

Install development dependencies using `uv`` with all the extras groups:

```bash
# Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install all dependencies including optional extras
uv sync --all-extras
```

Note: `uv` is a fast, Rust-based Python package installer and resolver that is PEP-compliant and fully compatible with pip and PyPI.

Once the development dependencies are installed and the uv-generated `.venv` is activated, you can run

```bash
pre-commit install
```

to get pre-commit hooks to automatically run the linting and formatting checks for you before each commit.
This repository is entirely agnostic to how developers set up their development environments. There is a provided devcontainer configuration file and we suggest using a devcontainer to set up and isolate your development environment.

## Testing

Expand All @@ -31,20 +13,21 @@ To run all tests, run
pytest tests
```

To run all tests in docker containers (tests against many versions of python), run

```bash
docker-compose up --build && docker-compose down
```

## Building Documentation with Sphinx

Documentation is automatically built on ReadTheDocs in response to every PR and release,
but you can also build it locally with:

```bash
# From docs directory
make html && open build/html/index.html
make html

# macOS
open build/html/index.html

# Linux / WSL (devcontainer)
sudo apt install wslu
wslview build/html/index.html
```

## Making a Pull Request
Expand Down
Loading