Open Kache opened 1 year ago
Yes, send PRs.
So uh.. what is the solution to the minimal example that doesn't work above?
@benjamin-kirkbride It's not a valid pyproject.toml file, which pip-tools will not generate for you. I recommend flit for that task, but that's not the only option. If you check with validate-pyproject, it reports:
Invalid file: pyproject.toml
[ERROR] `project` must contain ['version'] properties
I had no luck with validate-pyproject
and unfortunately I had to spend a lot more time debugging the underlying issue. I have described my solution in https://github.com/jazzband/pip-tools/issues/1860 in case someone else gets the same error Failed to parse pyproject.toml
I landed here because I wish the 'build backend failed to parse pyproject.toml' error message was better. Thanks for the linting recommendations.
separate prod, test, dev dependency constraints
https://github.com/jazzband/pip-tools/?tab=readme-ov-file#workflow-for-layered-requirements
basic constraint operators
There is no reason anyone should duplicate documentation. These should be PEP 508 (also found on the packaging site), and with a guide. Do I think their guide is good? Not really. But does that belong here? No.
Coming from having experience with
poetry
andbundler
from Ruby, I'm finding it frustrating to get started withpip-tools
. As far as I can tell, the only docs available are:https://github.com/jazzband/pip-tools/blob/main/README.rst
A synopsis of my experience follows.
Environment Versions
Python 3.11.1
pip 22.3.1
pip-compile, version 6.12.1
Steps to replicate
I started out trying to use a
pyproject.toml
, as I heardpip-tools
now supports it. I wasn't even able to get a minimal working project up and running:Which fails if the last line is uncommented, with no guidance as what to do:
Adopting a
pyproject.toml
generated via poetry doesn't work either.I was more successful with
requirements.in
, but have been unable to find mentions of or ways to do practical things like:^
: https://python-poetry.org/docs/dependency-specification/~>
: https://bundler.io/guides/gemfile.htmlExpected result
...
Actual result
...