From 3054412d256b304147af2f52852a37a61deb36e4 Mon Sep 17 00:00:00 2001 From: Michael Scott Asato Cuthbert Date: Mon, 27 Apr 2026 12:40:02 -1000 Subject: [PATCH] Remove requirements_dev.txt, minimum Remove alternative `pip` installations, update devcontainer to use uv. for v10 `pip install -r requirements.txt` will still be available, since it's been so long documented, but `uv sync` is now that preferred way to get music21deps for coding. --- .devcontainer/devcontainer.json | 5 +++-- .../developerGuidelines.ipynb | 2 +- requirements.txt | 2 +- requirements_dev.txt | 20 ------------------- requirements_minimum.txt | 5 ----- 5 files changed, 5 insertions(+), 29 deletions(-) delete mode 100644 requirements_dev.txt delete mode 100644 requirements_minimum.txt diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index d492d7e1db..b67b4c162c 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -4,9 +4,10 @@ "features": { "ghcr.io/rocker-org/devcontainer-features/apt-packages:1": { "packages": "musescore3,lilypond" - } + }, + "ghcr.io/va-h/devcontainers-features/uv:1": {} }, - "postCreateCommand": "pip3 install --user -r requirements_dev.txt;pip3 install --user -e .", + "postCreateCommand": "uv sync --locked", "customizations": { "vscode": { "extensions": [ diff --git a/documentation/source/developerReference/developerGuidelines.ipynb b/documentation/source/developerReference/developerGuidelines.ipynb index 768f90e722..eae51643b1 100644 --- a/documentation/source/developerReference/developerGuidelines.ipynb +++ b/documentation/source/developerReference/developerGuidelines.ipynb @@ -52,7 +52,7 @@ }, { "cell_type": "markdown", - "source": "## Preparing to Contribute ##\n\nThe recommended setup uses [uv](https://docs.astral.sh/uv/). From the repository root:\n\n```\nuv sync\n```\n\nThis creates a virtual environment in `.venv/` and installs runtime dependencies plus the\n`dev` dependency group. The `dev` group self-references `music21[extras]`, so the optional\nextras (`scipy` and `python-Levenshtein`) are pulled in automatically -- the test suite will\nnot pass without them.\n\nIf you prefer pip, the equivalent is:\n\n```\npip install -r requirements_dev.txt\npip install -e '.[extras]'\n```", + "source": "## Preparing to Contribute ##\n\nThe recommended setup uses [uv](https://docs.astral.sh/uv/). From the repository root:\n\n```\nuv sync\n```\n\nThis creates a virtual environment in `.venv/` and installs runtime dependencies plus the\n`dev` dependency group. The `dev` group self-references `music21[extras]`, so the optional\nextras (`scipy` and `python-Levenshtein`) are pulled in automatically -- the test suite will\nnot pass without them.\n\nUsers who have not yet adopted `uv` may still install runtime dependencies via\n`pip install -r requirements.txt`, but the development workflow (tests, linting, docs,\ntype-checking) is only supported through `uv`.", "metadata": { "collapsed": false } diff --git a/requirements.txt b/requirements.txt index a0f863c709..6f64da3ce6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,5 +4,5 @@ jsonpickle matplotlib more_itertools numpy>=1.26.4 -webcolors>=1.5 requests +webcolors>=1.5 diff --git a/requirements_dev.txt b/requirements_dev.txt deleted file mode 100644 index e966214fe5..0000000000 --- a/requirements_dev.txt +++ /dev/null @@ -1,20 +0,0 @@ --r requirements.txt -coverage -coveralls -docutils -hatch -hatchling -ipython -jupyter -mypy>=1.16.0 -nbconvert -nbval -pylint>=3.2.0 -pytest -python-Levenshtein -ruff -scipy -sphinx -twine -types-requests -wheel diff --git a/requirements_minimum.txt b/requirements_minimum.txt deleted file mode 100644 index 22fd628e10..0000000000 --- a/requirements_minimum.txt +++ /dev/null @@ -1,5 +0,0 @@ -chardet -joblib -more-itertools -requests -webcolors>=1.5