Hence, when a user installs my project from say Github with pip they won’t get the right packages (for Darwin.). I need extra instructions for them in that case, or force them to install uv.
Is there a pyproject.toml standard for sources specification that uv isn’t following, or there isn’t one?
Any recommendations of how to specify those sources (I’m also using different hardware markers.)?
This is an area where we believe tools are best to innovate, rather than being constrained to one fixed idea. If they all seem to be aligning on something similar, and there are real benefits to sharing the specification, it might be considered.
There have been some past discussions about this, though. If you find those (I think they used the term “Repository specification”?), you may find some more context on why this is a harder problem than it may seem.
It depends on what you want to accomplish exactly. Some of these are supported by standard dependency specifiers in declarative configuration; others are not (e.g. alternative indices). The specific example you provided might also be expressible as:
Each will require you to make different sacrifices (in order: have users install uv; be unable to publish your package to PyPI; possibly needing to execute multiple commands).