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 :)
Installing
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:
efesto-quickstart
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:
POST http://myhost.com/auth
username=myuser&password=mypasswd
{'token':'someverylongtoken'}
Now that you have a token, you can make requests! For example, to get a list of users:
GET http://myhost.com/users Authorization: Basic anystring:someverylongtoken # [ ... list of users ]
More
Read the documentation at http://efesto.readthedocs.io for extra internet points!
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file efesto-0.7.5-py3-none-any.whl.
File metadata
- Download URL: efesto-0.7.5-py3-none-any.whl
- Upload date:
- Size: 22.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fbd991343dfcbef4c2f74bc11f13ea084e6e0a61530e6cdfd97aee04d106ccf7
|
|
| MD5 |
97f76b72a597504038b775b96f7275b8
|
|
| BLAKE2b-256 |
93d56c90778c804e7e70685843e2e6968002b770bcd168f38835f2d6e8a9e157
|