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

Framework for HTTP(S) API? #24

Open
NoraCodes opened this issue Dec 14, 2015 · 6 comments
Open

Framework for HTTP(S) API? #24

NoraCodes opened this issue Dec 14, 2015 · 6 comments
Milestone

Comments

@NoraCodes
Copy link
Contributor

I'd like to have a consensus on how to implement the HTTP(S) API. I would suggest Flask but that is only because of my inexperience with other options (Bottle, Pyramid, etc).

Once we have a decision on this, a skeleton API could be written with the actual implementation filled in as the functionality materializes. It will mostly be boilerplate and there is no reason for implementers of actually hard things to have to write that code as well.

@Mec-iS
Copy link

Mec-iS commented Apr 2, 2016

The trend now seems to be gunicorn with lightweight applications: Python threading or Falcon Framework, I have good experience with webapp2 but I am not sure about future support. Bigger frameworks can be overkilling, it can be preferred to start from server plus basic authentication, Flask can be the choice if frameworks features are needed.

@NoraCodes
Copy link
Contributor Author

I'm somewhat concerned that webapp2 isn't maintained anymore. It seems to be hosted on Google Code, which is now gone (except for the readonly archive). I'd be happy with gunicorn, since it seems to be quite robust while remaining small (and pure Python!)

@benmoran56
Copy link

I would recommend Pyramid framework. http://www.pylonsproject.org/
It can handle small single-file apps like Flask, but offers greater flexibility if the project does grow in the future. Specifically, the configuration is much more flexible.

@Scondo
Copy link

Scondo commented Aug 8, 2016

Pylons/Pyramid is a full-featured framework with ACL, resource-based URLs etc.
It is good for web-portal, but too big for API in my opinion.

Lightweight framework like Flask or even pure-wsgi (via gunicorn or wsgiref.simple_server) should be much better for API.

@benmoran56
Copy link

My mistake, I thought this was in reference to the webui, like go-ipfs has. If it's just the API, then Flask is certainly enough (and quite nice for that).

@jbenet
Copy link
Contributor

jbenet commented Aug 8, 2016

  • the webui should work on top of the same API.
  • i remember flask and bottle being pretty good for APIs

@ntninja ntninja added this to the Far Future milestone Sep 28, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants