Skip to content
Merged
Show file tree
Hide file tree
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
8 changes: 8 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,11 @@ updates:
directory: "/"
schedule:
interval: "daily"
- package-ecosystem: "uv"
directory: "/"
schedule:
interval: "daily"
groups:
all-dependencies:
patterns:
- "*"
40 changes: 30 additions & 10 deletions doc/internals/contributing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -93,17 +93,29 @@ These are the basic steps needed to start developing on Sphinx.
git clone https://github.com/<USERNAME>/sphinx
cd sphinx

#. Setup a virtual environment.
#. Install uv and set up your environment.

This is not necessary for unit testing, thanks to :program:`tox`,
but it is necessary if you wish to run :program:`sphinx-build` locally
or run unit tests without the help of :program:`tox`:
We recommend using :program:`uv` for dependency management.
Install it with:

.. code-block:: shell

virtualenv ~/.venv
. ~/.venv/bin/activate
pip install -e .
python -m pip install -U uv

Then, set up your environment:

.. code-block:: shell

uv sync

**Alternative:** If you prefer not to use :program:`uv`, you can use
:program:`pip`:

.. code-block:: shell

python -m venv .venv
. .venv/bin/activate
python -m pip install -e .

#. Create a new working branch. Choose any name you like.

Expand Down Expand Up @@ -167,8 +179,9 @@ Style and type checks can be run as follows:

.. code-block:: shell

ruff check .
mypy
uv run ruff check
uv run ruff format
uv run mypy


Unit tests
Expand Down Expand Up @@ -205,7 +218,14 @@ You can also test by installing dependencies in your local environment:

.. code-block:: shell

pip install . --group test
uv run pytest

Or with :program:`pip`:

.. code-block:: shell

python -m pip install . --group test
pytest

To run JavaScript tests, use :program:`npm`:

Expand Down
Loading
Loading