mirror of
https://github.com/TagStudioDev/TagStudio.git
synced 2026-07-08 15:14:40 +02:00
fix(deps): replace optional dependencies with dependency groups (#1435)
Definition: https://packaging.python.org/en/latest/specifications/dependency-groups The optional dependency table ([project.optional-dependencies]) is supposed to be user-facing for installs of TagStudio. Meanwhile, the replacement dependency groups is explicitly meant for extra development tools, so lets use that. This does mean the command for a full development environment has changed from: ```sh pip install -e '.[dev]' ``` To: ```sh pip install -e . --group all ``` The documentation has been adjusted for a quick replacement, but probably should have more information on a later time.
This commit is contained in:
+19
-7
@@ -42,12 +42,28 @@ dependencies = [
|
||||
"semver~=3.0.4",
|
||||
]
|
||||
|
||||
[project.optional-dependencies]
|
||||
dev = ["tagstudio[mkdocs,pyright,pre-commit,pyinstaller,pytest,ruff]"]
|
||||
[project.gui-scripts]
|
||||
tagstudio = "tagstudio.main:main"
|
||||
|
||||
[dependency-groups]
|
||||
all = [
|
||||
{ include-group = "check" },
|
||||
{ include-group = "build" },
|
||||
{ include-group = "docs" },
|
||||
{ include-group = "extra" },
|
||||
]
|
||||
check = [{ include-group = "lint" }, { include-group = "test" }]
|
||||
|
||||
build = [{ include-group = "pyinstaller" }]
|
||||
docs = [{ include-group = "mkdocs" }]
|
||||
extra = [{ include-group = "pre-commit" }]
|
||||
lint = [{ include-group = "pyright" }, { include-group = "ruff" }]
|
||||
test = [{ include-group = "pytest" }]
|
||||
|
||||
mkdocs = ["mkdocs-material[imaging]>=9.7", "mkdocs-redirects~=1.2"]
|
||||
pyright = ["pyright~=1.1.409"]
|
||||
pre-commit = ["pre-commit~=4.2"]
|
||||
pyinstaller = ["Pyinstaller~=6.21"]
|
||||
pyright = ["pyright~=1.1.409"]
|
||||
pytest = [
|
||||
"pytest==9.0.3",
|
||||
"pytest-cov==6.1.1",
|
||||
@@ -57,13 +73,9 @@ pytest = [
|
||||
]
|
||||
ruff = ["ruff==0.15.17"]
|
||||
|
||||
[project.gui-scripts]
|
||||
tagstudio = "tagstudio.main:main"
|
||||
|
||||
[tool.hatch.build.targets.wheel]
|
||||
packages = ["src/tagstudio"]
|
||||
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
qt_api = "pyside6"
|
||||
pythonpath = ["src"]
|
||||
|
||||
Reference in New Issue
Block a user