-
Notifications
You must be signed in to change notification settings - Fork 398
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
Manage project with poetry #114
base: main
Are you sure you want to change the base?
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 |
requirements.txt
Outdated
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.txt
s
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.txt That'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 beriffusion
andriffusion-server
respectivelyAdditionally this PR updates the code to support latest version of streamlit