Manage project with poetry#114
Conversation
|
I really like the use of poetry for managing the build/dev environment, and keeping the requirements as a dependency list. |
|
Great. Thanks 🙏 |
|
@hmartiro @SethForsgren @christopherwoodall can you have a look at this once you have time? |
|
@piiq if the name is available I would try to grab it as fast as possible. You can always share the repo key with the developers if they decide to publish it. |
|
Aiming to take a look by tomorrow |
|
Hey @piiq , thank you for the work here! I don't have experience with poetry, but I'm concerned that |
| dora-search==0.1.11 ; python_version >= "3.8" and python_full_version != "3.9.7" and python_version < "3.12" | ||
| einops==0.6.0 ; python_version >= "3.8" and python_full_version != "3.9.7" and python_version < "3.12" | ||
| entrypoints==0.4 ; python_version >= "3.8" and python_full_version != "3.9.7" and python_version < "3.12" | ||
| filelock==3.9.0 ; python_version >= "3.8" and python_full_version != "3.9.7" and python_version < "3.12" |
There was a problem hiding this comment.
I'm confused why these are all locked, when there's already poetry.lock? It seems like this requirements file won't play nice with anyone else
There was a problem hiding this comment.
poetry.lock is an artifact for poetry that stores info on a fully solved dependency tree. we use the lock file to generate the requirements.txts
Warning: wall of text 😂😅 poetry is a tool that can be used to solve the dependency tree and generate the Poetry solves all the deps (including the dependencies of the dependencies of the dependencies) in a way they all play nicely with each other. Poetry uses the top level deps specified in pyproject.toml and generates a So what we're seeing here are auto-generated requirements files that are produced by these 2 commands: poetry export -f requirements.txt --without-hashes --output requirements.txt
poetry export -f requirements.txt --only dev --without-hashes --output requirements-dev.txtThat's "poetry export dependencies information in a 'requirements.txt format' without hashes into a requirements.txt file" When you install the dependencies with Now if we consider using If you have a specific use case in mind of riffusion not playing nicely with a specific package that's not in the dependency tree - let me know and we'll take a look how we can address that. |
|
I've tried to fix some linter errors and upgrade the streamlit code to support the new caching methods introduced in 1.18 but the cache gets messed up so it doesn't work nicely with streamlit 1.18+ (and i don't currently have a lot of time to rewire the pages). FYI the problematic point is the deprecated I have reverted all changes related to the streamlit upgrade and pinned the version to |
|
And mypy gha check is expected to pass now |
This PR was initially started to resolve #111 by pinning pillow but seeing the work related to #49 done by @christopherwoodall in #108 I add to the discussion by adding dependency and package build management with poetry.
You can install the riffusion package with
pip install .and the script interfaces will beriffusionandriffusion-serverrespectivelyAdditionally this PR updates the code to support latest version of streamlit