Skip to content
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

As a developer, I want to use a REST API framework so that I don't re-invent the wheel #25

Closed
abompard opened this issue Mar 28, 2020 · 1 comment · Fixed by #73
Closed
Assignees
Labels
M Medium (10 hours of work) spike Research needed

Comments

@abompard
Copy link
Member

We want to write a REST API in Python following the OpenAPI standard. There are many web frameworks and libraries that can help us with that.

Here's what I think we should consider:

Acceptance Criteria

The project must:

  • be maintained, with regular releases, a responding bug tracker and a strong developer community
  • have a strong user community and be widely used
  • be compatible with OpenAPI
  • be reasonably fast

I haven't personally tried any of those frameworks but they look interesting. I think FastAPI is very much worth investigating, as it is based on solid libraries, has good references, and supports async. They have an interesting page listing other API projects that they took inspiration from.

@abompard abompard added the spike Research needed label Mar 28, 2020
@sfinn85 sfinn85 removed the spike Research needed label Mar 31, 2020
@abompard abompard added the spike Research needed label Apr 8, 2020
@abompard
Copy link
Member Author

abompard commented Apr 15, 2020

I did have a look at them and while FastAPI's defaut support for async is attractive, our team's willingness to standardize on Flask is also very important to consider.

Looking at Connexion's supported authentication schemes, I'm not sure it would work well with our GSSAPI authentication, and the docs aren't clear on how to extend authentication schemes (but that can be researched).
So if there aren't any better candidate, I suggest we evaluate Flask-Restplus and see if it's worthwhile to use it in place of pure Flask. Also note that Flask-Restplus has been forked due to inactivity. Maybe the new fork is a better way to go.

@ryanlerch ryanlerch added the M Medium (10 hours of work) label Apr 17, 2020
@abompard abompard self-assigned this Apr 23, 2020
abompard added a commit to abompard/fasjson that referenced this issue Apr 28, 2020
Fixes: fedora-infra#25

Signed-off-by: Aurélien Bompard <[email protected]>
abompard added a commit to abompard/fasjson that referenced this issue Apr 28, 2020
Fixes: fedora-infra#25

Signed-off-by: Aurélien Bompard <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
M Medium (10 hours of work) spike Research needed
Projects
No open projects
Status: Overall Done
Development

Successfully merging a pull request may close this issue.

3 participants