-
-
Notifications
You must be signed in to change notification settings - Fork 225
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
Version compatibility check for optional dependencies #576
Comments
In my experience, trying to get – even marginally – into Python packaging only results in blood and tears. I'm open to documenting the minimal versions (and testing against them), but doing runtime checks will always backfire – the question is only when. |
Documenting and testing sound like a nice first step indeed ! I don't have any experience on the packager side of the python ecosystem, so, I'll take your word for it ; however, do you think such backfires could be worse than not doing any kind of validation and exploding ? |
The problem with Python packaging as a big picture is that it's very much in flux. In the past few years there was like 5 ways to save/check package versions (see for example my post from early 2020: https://hynek.me/articles/packaging-metadata/) and even if we started using the latest now, there's the risk of nonstandard setups that somehow work patch something here, or insert modules there and suddenly |
That's unfortunate but in line with my undersanding of the ecosystem state. I was hoping I had missed something here :/ |
Hi folks,
I recently ran into an issue with the
rich
integration, for traceback formatting.With
structlog
version23.2.0
, andrich
version13.0.1
, receiving a traceback results in a crash during error handling, as follows :Upgrading
rich
to version13.7.0
solves the issue, stacktraces now appear normally.I undersand that
rich
is entirely optional to structlog, but I was wondering if maybe we could add some kind of protection against using an incompatible version of it. On top of my head :rich
during structlog init), that the installed version is indeed recent enough, and don't attempt to use it if not. Maybe log something indicating the minimum required versionAlso, similar checks could make sense for other optional dependencies (like
better-exceptions
)What do you think ? Does that seem reasonable ?
The text was updated successfully, but these errors were encountered: