microsoft / microsoft/aspire

PolyGlot Apphost - Python - use standard pyproject.toml with uv.lock instead of pylock.apphost.toml

Open
#16,578 0 comments 0 reactions 0 assignees View on GitHub
area-polyglot python
Dominant language
C#
Stars
6.3k
Forks
991
Avg merge
2d 12h
Merged PRs (30d)
201

Description

### Is there an existing issue for this?

- [x] I have searched the existing issues

### Is your feature request related to a problem? Please describe the problem.

I am trying to add dependencies to the venv that is used by aspire so that I can use existing python packages in the commands, lifecycle hooks and more.

For example, using the pika rabbitmq client to communicate with the rabbitmq instance in aspire to configure all the queues and exchanges.

Adding a package to the pylock.apphost.toml doesn't pull in transitive dependencies and doing this manually (or with an agent) is not doable.

### Describe the solution you'd like

Support the standard pyproject.toml that adds the aspire generated dependencies using a editable source.
Then I can just uv add x and x will be added with the uv.lock being updated etc.

### Additional context

Running on daily build.
I also tried removing the pylock.apphost.toml and it failed to use the apphost_requirements.txt as I am using uv.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the PolyGlot Apphost Python dependency setup and how it reads pylock.apphost.toml or apphost_requirements.txt. Compare that flow with the standard pyproject.toml and uv.lock workflow. Done means uv add can manage direct and transitive dependencies while Aspire-generated dependencies remain available to the apphost.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
tooling
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.