Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

RESTful (micro)server that can build an API in minutes.

Project Description

Efesto is a RESTful (micro)server that can be used for building an API in minutes. It takes care of authentication, permissions and kickstarts you by providing a simple way to build a data structure and the means to expose it.

Efesto follows the UNIX principle of doing one thing and well, leaving you the freedom of choice about other components (e.g. caching, rate-limiting, load balancer).

When do I use this?

  • You need a full-fledged ReST API
  • You are fine using Siren as hypermedia specification
  • You need authentication and permissions but want the work already done
  • You are fine with using PostgreSQL
  • You want to be able to create models without writing code (Python or SQL)
  • You need to easily import and export the models you created
  • You have Python3.4+ on your production server :)


You will need to install and configure PostgreSQL, and a server like uwsgi or gunicorn:

pip3 install efesto

Configure Efesto, editing the configuration file. At the very minimum you will need to provide the database details:

vim efesto.cfg

Use efesto-quickstart to have tables and admin created:


Done! Now you can run your server and launch Efesto:

gunicorn efesto.App:app

The first request

Efesto only allows authenticated users to make requests, so first authenticate yourself using the /auth endpoint. You will receive an access token that should be sent in the Auth header:



Now that you have a token, you can make requests! For example, to get a list of users:

Authorization: Basic anystring:someverylongtoken

# [ ... list of users ]


Read the documentation at for extra internet points!

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(22.9 kB) Copy SHA256 Hash SHA256
Wheel 3.5 Nov 11, 2016

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers