Skip to content

Introduce uv in packaging, avoid recommending setuptools and twine unless necessary #319

@ashwinvis

Description

@ashwinvis

Why?

Arguments for doing so:

  • It is fast
  • Less typing
  • It unifies the packaging experience, under one tool
  • It is widely used according to https://pypistats.org/packages/uv and also supports build backends like setuptools, hatch, flit etc

Arguments against:

  • Relatively new and frequently updated

Things to teach

For now, to avoid becoming obsolete we will only teach three commands:

  • uv init --lib with some manual edits or uv init --lib --no-pin-python --python 3.10
  • uv build
  • uv publish

As of now, these commands could be used with similar behaviour, if we replace uv with either flit, hatch, poetry, pdm.

In the future, when are sure that uv is here to stay, we can extend it to:

  • uv add
  • uv sync
  • uv lock
  • uv run

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions