Skip to content

fix(deps): replace optional dependencies with dependency groups#1435

Open
xarvex wants to merge 1 commit into
mainfrom
pyproject-dependency-groups
Open

fix(deps): replace optional dependencies with dependency groups#1435
xarvex wants to merge 1 commit into
mainfrom
pyproject-dependency-groups

Conversation

@xarvex

@xarvex xarvex commented Jul 7, 2026

Copy link
Copy Markdown
Member

Summary

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:

pip install -e '.[dev]'

To:

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 does matter outside pedanticism by preparing for us to use optional dependencies for its intended use, notably some dependencies we rely on can and should be made optional (looking at you Valve Source). This also allows tools to be better grouped and inherited.

Tasks Completed

  • Platforms Tested:
    • Windows x86
    • Windows ARM
    • macOS x86
    • macOS ARM
    • Linux x86
    • Linux ARM
  • Tested For:
    • Basic functionality
    • PyInstaller executable

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.
@CyanVoxel CyanVoxel added Priority: High An important issue requiring attention Status: Review Needed A review of this is needed labels Jul 7, 2026
@xarvex xarvex added Type: Installation Installing, building, and/or launching the program Priority: Low Doesn't require immediate attention and removed Priority: High An important issue requiring attention labels Jul 7, 2026
@CyanVoxel CyanVoxel added Priority: Medium An issue that shouldn't be be saved for last and removed Priority: Low Doesn't require immediate attention Status: Review Needed A review of this is needed labels Jul 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Priority: Medium An issue that shouldn't be be saved for last Type: Installation Installing, building, and/or launching the program

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants