You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
prefect-shell currently depends on prefect>=3.0.0rc1, which brings in the full prefect package.
For projects that only need to interact with the Prefect API and do not require task flow definitions or runtime, the prefect-client library would be a sufficient and lighter dependency.
Automatic installation of prerelease versions:
The dependency specification prefect>=3.0.0rc1 allows the installation of prerelease versions, such as recent .dev versions.
This behavior leads to frequent automatic updates to potentially unstable versions, which may introduce unexpected changes or issues.
Describe the proposed behavior
Use prefect-client instead of prefect:
Replace the prefect dependency in prefect-shell with prefect-client to reduce dependency weight and avoid unnecessary imports.
This would allow prefect-shell to remain focused on API interactions and avoid coupling to the task execution and orchestration features provided by prefect.
Avoid prerelease version installations:
Adjust the dependency specification to prevent prerelease versions from being installed unless explicitly intended, such as by setting prefect>=3.0.0.
This ensures stability by preventing .dev or rc versions from being automatically pulled in during dependency resolution.
Example Use
No response
Additional context
This change will make prefect-shell easier to integrate in projects where a lighter, API-only client is preferred and prevent potentially unstable releases from being automatically installed.
The text was updated successfully, but these errors were encountered:
Good call @tyong920 thank you for the issue! I've opened a PR to remove the suffixes; I like your idea of only requiring prefect-client but it will take some time to implement it. Currently the main prefect package does not have prefect-client as a dependency, so without more work this would cause re-installations of prefect-client in cases where it is not necessary. We have a target to refactor the client and we can include this in that work when we pick it up.
@cicdw Thank you for the quick response and for opening the PR to remove the suffixes!
I appreciate your consideration of the prefect-client dependency idea. It makes sense that refactoring will require some additional work, especially given the current separation between prefect and prefect-client. I’m glad to hear it’s on the roadmap, and I’ll look forward to seeing how it evolves when you’re able to take it up.
Thanks again for your prompt action and thoughtful approach!
@cicdw BTW, would it be possible to prioritize publishing the components under src/integrations to PyPI, including prefect-shell? Having these packages readily available would be extremely helpful for projects depending on them.
Describe the current behavior
Describe the proposed behavior
Example Use
No response
Additional context
This change will make prefect-shell easier to integrate in projects where a lighter, API-only client is preferred and prevent potentially unstable releases from being automatically installed.
The text was updated successfully, but these errors were encountered: