Enhancement: avoid circular dependencies on litestar-htmx
bollwyvl opened this issue · 7 comments
Summary
Treat htmx
as any other optional dependency.
Basic Example
2.13.0 change of introducing a hard dependency on litestar-htmx
(which has a hard, but unpinned dependency on litestar
).
While pip
can handle this, is troublesome for downstreams (such as conda-forge/litestar-feedstock#11) to bootstrap.
Drawbacks and Impact
Users will need to use the existing litestar[htmx]
rather than get litestar-htmx
"for free".
Unresolved questions
litestar-htmx
has further packaging issues: litestar-org/litestar-htmx#7
Note
While we are open for sponsoring on GitHub Sponsors and
OpenCollective, we also utilize Polar.sh to engage in pledge-based sponsorship.
Check out all issues funded or available for funding on our Polar.sh dashboard
- If you would like to see an issue prioritized, make a pledge towards it!
- We receive the pledge once the issue is completed & verified
- This, along with engagement in the community, helps us know which features are a priority to our users.
Fixed by litestar-org/litestar-htmx#8
We should open a PR and pin litestar to >= 0.4.0 of litestar-htmx.
We can't make it an optional dependency at this point though because this would be considered a breaking change. It could be a 3.0 consideration though.
We should open a PR and pin litestar to >= 0.4.0 of litestar-htmx.
Doing that at this point would make the situation worse, as there would be no way to bootstrap.
(making a [litestar]
extra that contained the version pin would provide useful metadata, however)
worse
To clarify: the situation would be worse if litestar-htmx
's pyproject.toml
contained a pin with a version. Perhaps that's not what that pin litestar to >= 0.4.0 of litestar-htmx intends
I'm fairly certain this doesn't break things, but please feel free to suggest changes on this PR here:
#3884
This issue has been closed in #3884. The change will be included in upcoming releases.