Skip to content
Open
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
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need to make a distinction in these docs that these steps are only required if a user is not using the devcontainer. If they are in the devcontainer, all of this setup should already be taken care of.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of providing environment setup, we state the repository is agnostic and instead suggest using the devcontainer

"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."


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