Skip to content

refactor: remove -dev packages #961

@acroca

Description

@acroca

Problem

Every package in this repo has a setup.py that renames the published package at build time:

  • daprdapr-dev
  • dapr-ext-grpcdapr-ext-grpc-dev
  • etc.

This runs on every push to main, publishing dev snapshots under separate PyPI package names. Extensions also swap their dapr dependency to dapr-dev in the same step.

This creates ongoing maintenance burden:

  • Any new package needs this same boilerplate setup.py
  • It's the only reason setup.py still exists — blocking a full migration to uv build/uv publish
  • The logic is easy to get wrong (the workflow/strands extensions had it missing at one point)

Why it's no longer needed

Python packaging already solves this natively. PEP 440 dev releases (1.17.0.devN) are excluded from the default resolver. pip install dapr will never install a .dev version — users would need to explicitly pass --pre or pin the exact version. This has been the case since pip 9 (2016).

Our version strings already follow the PEP 440 .devN format. We're just not taking advantage of it.

Questions

  • Are there any consumers of the dapr-dev / *-dev packages on PyPI?
  • Any concern about dev releases appearing alongside stable releases on the dapr PyPI page? Potentially very noisy
  • the pip install --pre will now install .dev packages and not just release candidates. Acceptable?

Metadata

Metadata

Assignees

Labels

kind/questionFurther information is requested

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions