-
Notifications
You must be signed in to change notification settings - Fork 511
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
⬆️ Upgrade aiohttp-apispec
and apispec
#2920
⬆️ Upgrade aiohttp-apispec
and apispec
#2920
Conversation
Everything passed locally. The PR Test failures seem like spurious json-ld context failures. 4 cases of:
|
Sadge. Integration test failures too |
I haven't glanced at the specifics just yet but I assume it would be accurate to say that replacing this library with an actively maintained alternative is infeasible? |
@dbluhm I think that would be better, yes. But as far as I could tell, it seemed like quite a bit of refactoring to move to another library. Maybe it's not such a heavy lift -- it's more that it feels redundant to refactor something that's not broken. If there's other motivation for moving to a more up-to-date library, then that's definitely better. But here the only issue I saw is that it's pinned to some deprecated versions |
Signed-off-by: ff137 <ff137@proton.me>
Unmaintained library that I've forked and manually upgraded Signed-off-by: ff137 <ff137@proton.me>
…ecated" Signed-off-by: ff137 <ff137@proton.me>
384ed5e
to
a17a689
Compare
Any recent updates on this? I see the PR to aiohttp-apispec has not been merged, so that doesn't seem to be the path. |
I think we should go ahead with this and look for alternatives in the meantime. It would be better to have a library which is well maintained, but I don't think this is really a downgrade going from what we are using now to @ff137's github. |
@jamshale agreed - it would be better to use a more well-maintained library, but there's probably not much motivation to replace As it stands I've just taken the existing aiohttp_apispec repo and upgraded dependencies. I've made a PR to merge to their main repo, and emailed the owner, but haven't gotten any feedback. So, this will just allow some libraries to upgrade a few major version (like apispec and webargs), and it'll allow for python 3.12 when that's desired. It probably looks weird to have one dependency pointing to my personal fork, but that can be changed any time, and anyone can fork my fork to build on the existing changes if need be |
…spec Signed-off-by: ff137 <ff137@proton.me>
3 scenarios failing in integration tests. Each of them due to a validation error:
Seems to be a change in webargs (edit: webargs5 used marshmallow2, and webargs8 uses marshmallow3), which I guess was previously ignoring a bad value being passed: the demo is providing a str when the model expects a List[str] |
Signed-off-by: ff137 <ff137@proton.me>
Quality Gate passedIssues Measures |
Ready to merge? |
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.
Approved. I think this is better then what we are currently doing. I'll create a ticket for looking into a replacement.
The
aiohttp-apispec
project is no longer maintained, and is pinned to some very old versions ofapispec
andwebargs
.It appeared to be the only library that would throw deprecation warnings that had to be added to this pyproject.toml's filterwarnings rules.
I forked the project and manually upgrade some of the dependencies. Not too much effort. All it means is that the version now points to my fork:
Maybe the maintainer sees my contributions and it can get merged into the official release. Otherwise, anyone can fork my fork, upgrade it, and update the above link.
This permits
apispec
to go from v3 to v6.6. Andwebargs
to go from v5 to v8.4This means the custom
filterwarning
can be removed - the one for ignoring "distutils Version classes are deprecated"And one more perk is that
aiohttp-apispec
is now compatible up to python 3.12. So it's one step closer in allowing ACA-Py to finally upgrade from python 3.9 :-)