All Projects β†’ taoufik07 β†’ Responder

taoufik07 / Responder

Licence: other
A familiar HTTP Service Framework for Python.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Responder

Chronos
πŸ“Š πŸ“Š πŸ“Š Monitors the health and web traffic of servers, microservices, and containers with real-time data monitoring and receive automated notifications over Slack or email.
Stars: ✭ 347 (-90.28%)
Mutual labels:  graphql, microservices
Spacy Graphql
πŸ€Ήβ€β™€οΈ Query spaCy's linguistic annotations using GraphQL
Stars: ✭ 81 (-97.73%)
Mutual labels:  graphql, flask
Graphql Microservices
Showcasing a graphql microservice setup
Stars: ✭ 68 (-98.09%)
Mutual labels:  graphql, microservices
Up
Up focuses on deploying "vanilla" HTTP servers so there's nothing new to learn, just develop with your favorite existing frameworks such as Express, Koa, Django, Golang net/http or others.
Stars: ✭ 8,439 (+136.45%)
Mutual labels:  graphql, microservices
Space Cloud
Open source Firebase + Heroku to develop, scale and secure serverless apps on Kubernetes
Stars: ✭ 3,323 (-6.89%)
Mutual labels:  graphql, microservices
Best Of Web Python
πŸ† A ranked list of awesome python libraries for web development. Updated weekly.
Stars: ✭ 1,118 (-68.67%)
Mutual labels:  graphql, flask
Nestjs Cqrs Starter
NestJS CQRS Microservices Starter Project
Stars: ✭ 80 (-97.76%)
Mutual labels:  graphql, microservices
Graphiti
Stylish Graph APIs
Stars: ✭ 783 (-78.06%)
Mutual labels:  graphql, microservices
Practical Dapr
A full-stack .NET microservices build on Dapr and Tye
Stars: ✭ 140 (-96.08%)
Mutual labels:  graphql, microservices
Flask Graphene Sqlalchemy
A demo project for Flask + GraphQL (With Graphene & SQLAlchemy)
Stars: ✭ 117 (-96.72%)
Mutual labels:  graphql, flask
Ultimate Backend
Multi tenant SaaS starter kit with cqrs graphql microservice architecture, apollo federation, event source and authentication
Stars: ✭ 978 (-72.6%)
Mutual labels:  graphql, microservices
Gramps Legacy
The core data source combination engine of GrAMPS.
Stars: ✭ 198 (-94.45%)
Mutual labels:  graphql, microservices
Catalyst
Typescript NodeJS Microservices Boilerplate with Generator CLI - Moleculer, GraphQL, REST, OAuth2, Jaeger, Grafana, Prometheus, Ory Hydra, Ory Keto w/ Access Control middleware, Moleculer-DB GraphQL mixin, Pug, Redis, sibling client repo (login, persistance layer, react-native-web, ios, android)
Stars: ✭ 30 (-99.16%)
Mutual labels:  graphql, microservices
Graphql Server
This is the core package for using GraphQL in a custom server easily
Stars: ✭ 65 (-98.18%)
Mutual labels:  graphql, flask
Magazine Website Akka
The experiment on the akkadotnet
Stars: ✭ 21 (-99.41%)
Mutual labels:  graphql, microservices
Flask Graphql
Adds GraphQL support to your Flask application.
Stars: ✭ 1,188 (-66.71%)
Mutual labels:  graphql, flask
Practical.cleanarchitecture
Asp.Net Core 5 Clean Architecture (Microservices, Modular Monolith, Monolith) samples (+Blazor, Angular 11, React 17, Vue 2.6), Domain-Driven Design, CQRS, Event Sourcing, SOLID, Asp.Net Core Identity Custom Storage, Identity Server 4 Admin UI, Entity Framework Core, Selenium E2E Testing, SignalR Notification, Hangfire Tasks Scheduling, Health Checks, Security Headers, ...
Stars: ✭ 639 (-82.1%)
Mutual labels:  graphql, microservices
Tyk
Tyk Open Source API Gateway written in Go, supporting REST, GraphQL, TCP and gRPC protocols
Stars: ✭ 6,968 (+95.24%)
Mutual labels:  graphql, microservices
Flask Graphene Sqlalchemy
βš—οΈProject template to build a GraphQL API in Python
Stars: ✭ 109 (-96.95%)
Mutual labels:  graphql, flask
Kreta
Modern project management solution
Stars: ✭ 177 (-95.04%)
Mutual labels:  graphql, microservices

Responder: a familiar HTTP Service Framework for Python

Build Status Documentation Status image image image image

Powered by Starlette. That async declaration is optional. View documentation.

This gets you a ASGI app, with a production static files server pre-installed, jinja2 templating (without additional imports), and a production webserver based on uvloop, serving up requests with gzip compression automatically.

Testimonials

"Pleasantly very taken with python-responder. @kennethreitz at his absolute best." β€”Rudraksh M.K.

"ASGI is going to enable all sorts of new high-performance web services. It's awesome to see Responder starting to take advantage of that." β€” Tom Christie author of Django REST Framework

"I love that you are exploring new patterns. Go go go!" β€” Danny Greenfield, author of Two Scoops of Django

More Examples

See the documentation's feature tour for more details on features available in Responder.

Installing Responder

Install the stable release:

$ pipenv install responder
✨🍰✨

Or, install from the development branch:

$ pipenv install -e git+https://github.com/taoufik07/responder.git#egg=responder

Only Python 3.6+ is supported.

The Basic Idea

The primary concept here is to bring the niceties that are brought forth from both Flask and Falcon and unify them into a single framework, along with some new ideas I have. I also wanted to take some of the API primitives that are instilled in the Requests library and put them into a web framework. So, you'll find a lot of parallels here with Requests.

  • Setting resp.content sends back bytes.
  • Setting resp.text sends back unicode, while setting resp.html sends back HTML.
  • Setting resp.media sends back JSON/YAML (.text/.html/.content override this).
  • Case-insensitive req.headers dict (from Requests directly).
  • resp.status_code, req.method, req.url, and other familiar friends.

Ideas

  • Flask-style route expression, with new capabilities -- all while using Python 3.6+'s new f-string syntax.
  • I love Falcon's "every request and response is passed into to each view and mutated" methodology, especially response.media, and have used it here. In addition to supporting JSON, I have decided to support YAML as well, as Kubernetes is slowly taking over the world, and it uses YAML for all the things. Content-negotiation and all that.
  • A built in testing client that uses the actual Requests you know and love.
  • The ability to mount other WSGI apps easily.
  • Automatic gzipped-responses.
  • In addition to Falcon's on_get, on_post, etc methods, Responder features an on_request method, which gets called on every type of request, much like Requests.
  • A production static file server is built-in.
  • Uvicorn built-in as a production web server. I would have chosen Gunicorn, but it doesn't run on Windows. Plus, Uvicorn serves well to protect against slowloris attacks, making nginx unnecessary in production.
  • GraphQL support, via Graphene. The goal here is to have any GraphQL query exposable at any route, magically.
  • Provide an official way to run webpack.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].