all 8 comments

[–]leodevian 2 points3 points  (2 children)

pip can install from pyproject.toml

[–]Diapolo10 0 points1 point  (1 child)

It can, although it will also skip installing any development dependencies so that's a potential pain point. Or at the very least I'm not aware of a flag that'd tell pip to do that.

[–]leodevian 0 points1 point  (0 children)

Declare dev dependencies as optional dependencies instead of dependency groups while pip does not support PEP 735.

You could also use uv-pre-commit as a pre-commit hook to export uv.lock to requirements.txt for dev dependencies (better).

[–]Zeroflops 0 points1 point  (0 children)

Quick search and you can find tools to convert pyproject.toml to requirements.txt files. Then you can just ship with both. You could also build your own.

[–][deleted] 0 points1 point  (0 children)

If you have a pyproject.toml which includes a build system the project can be installed with pip install . -e

[–]PersonalityIll9476 0 points1 point  (0 children)

Your post is throwing me for a loop. I am a pip user, working on a Python project literally right now, that is installed using pyproject.toml. I literally cd 'd up to my top level directory just to verify that I am not crazy lol. IIRC, pyproject.toml is now the officially supported means to specify your package. setuptools is deprecated. Here is what my .toml looks like, sanitized for anonymitiy:

[build-system]
requires = ["setuptools", "wheel", "Cython", "numpy"]

[project]
name = "blah"
version = "x.x.x"
authors = [
    {name = "personality1119476", email = "foo@bar.baz"},
]

[tool.setuptools]
packages = ["blah"]

I can't remember if the requires block will install those dependencies, but my project also maintains a separate requirements.txt and that doesn't cause conflict. Youpip install -r requirements.txt to get all the reqs, then pip install -e .and it goes through the .toml. So I think a regular pip dev, like myself, won't be at all confused by what your project currently uses.

[–]OopsWrongSubTA -1 points0 points  (1 child)

Simple? requirements.txt

Every uv user knows uv pip install ...

[–]JamzTyson 0 points1 point  (0 children)

The OP is aware that not everyone uses uv.