-
Notifications
You must be signed in to change notification settings - Fork 70
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
Add Starlette (and thus FastAPI) support #47
Conversation
Hi @twalcari . First off, thank you for the PR!
Because of all this i don't consider FastAPI as additional adapter for the current moment but we may probably return to this feature in the future at least after drop python 2.7/3.5 support. |
Hi @dmitry-viskov . Thank you for the quick and careful consideration of this PR. I'll review your remarks and will do some extra work to see how these blocking issues can be resolved. |
@twalcari I am currently working on FastAPI + LTI 1.3 integration too |
In the end I just implemented the part of the LTI advantage spec that I needed myself. I'll attach the relevant code as a tar to this comment. The project has never progressed beyond a PoC stage, so I cannot vouch for its correctness/performance. |
@twalcari Thank you, I will take a look. Anyways your PR already helped me a lot to figure out what to do next! |
@twalcari It looks like slightly different implementation for asynchronous applications. I haven't tested it yet, but I would like to see this project it in PyPi.org, so don't you mind if I will add some packaging and will publish it? |
This pull request adds support for Starlette, which underlies FastAPI (the same way Werkzeug underlies Flask).
This way, we add support for the most populair ASGI web frameworks.
For testing purposes, I've also adapted the Flask example to FastAPI and published it here: https://github.com/twalcari/pylti1.3-fastapi-example. I've tested this on https://lti-ri.imsglobal.org/ to verify the implementation.