beeware / beeware/briefcase

Add support for PEP735-style dependency groups

Open
#2,301 3 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
3.3k
Forks
549
Avg merge
1d 4h
Merged PRs (30d)
40

Description

### What is the problem or limitation you are having?

Currently, Briefcase ignores [PEP-735](https://peps.python.org/pep-0735/)-style dependency groups.

[PEP-735](https://peps.python.org/pep-0735/) added support for dependency groups that are not published to PyPI and is now the standard way that [PDM](https://pdm-project.org/latest/usage/dependency/#add-development-only-dependencies) and [uv](https://docs.astral.sh/uv/concepts/projects/dependencies/#adding-dependencies) adds dependencies. Briefcase might want to support using those for test dependencies as well.

By default, these tools use the `dev` dependency group, but users can also specify a specific group name, like `test` to store the dependencies in as well.

### Describe the solution you'd like

Supporting dependency groups as test dependencies in Briefcase.

### Describe alternatives you've considered

Don't support it

### Additional context

_No response_

Contributor guide

Open the contributing guide

Research direction

No files, tests, or entry points are named. Start by locating how Briefcase currently reads test dependencies and compare that behavior with PEP 735 dependency-group semantics, including the default dev group and user-selected group names. Done means dependency groups can be used as test dependencies without publishing them to PyPI.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.