-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add pyproject.toml and packaging config #10
Conversation
@ialarmedalien , Luiz Irber is one of our BER Data Integration Shenanigans colleagues, and another contractor type hired by Kjiersten to Do Stuff. He believes in reducing friction, and has a bit more familiarity with the miasma of Python-related package management tools. Can you comment on how uv, etc, fits in with other KBase tools of interest? |
e25ab2a
to
285edd7
Compare
The tests are failing for this PR because the |
General point: let's just standardise to using py3.12 instead of having 3.11 in some places and 3.12 in others. |
dependencies = [ | ||
"frictionless>=5.17.0,<6", | ||
"requests>=2.32.3,<3", | ||
] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
have you tried running dtspy from a clean py3.12 install? The requirements file is quite long - are these the only two deps? I hope that the testing and doc generation aren't responsible for all the rest!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These two are the top-level dependencies, most of the ones listed in the requirements file come from them indirectly.
To see the equivalent requirements.txt
based on the uv lock file, you can run
uv pip compile pyproject.toml
(and maybe add --no-annotate
to make it easier to diff with current requirements.txt
)
But yes, there are many that are testing/doc deps...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And I'm already using as a dep in a project with
[project]
dependencies = [
"dtspy @ https://github.com/luizirber/dtspy/archive/724f2884e14fee4cc9f9019e3bdf63a46aecf487.tar.gz"
]
which points to this PR, and it is all working
We need either an additional PR or amendments to this PR that do the following:
@luizirber we appreciate your contribution and don't want to dump a load of extra work on you so can you and @jeff-cohere divide and conquer those tasks between yourselves? |
This is somewhat done already, dev deps are listed here: I can add another level to be doc vs testing deps
Agreed, will add to this PR!
👍 |
Thanks, both. I find the Python and Javascript communities to be similarly ultra-aggressive in terms of dependencies, and I haven't really formed my own philosophy about how to manage the resuting pain that these communities feel is a cost of doing business. @luizirber , thanks for taking point on this particular topic for the moment. Happy to kick ideas around. |
This is on my list for the very next PR! |
Separate deps segments for mkdocs and testing would be great, thanks. Something super simple would be fine for the readme -- @jeff-cohere can always flesh it out in his upcoming PR. |
Add pyproject.toml with setuptools build backend, and use
uv
to verify package works.Likely review this after #9 is merged, and how the
requirements.txt
file is generated