Skip to main content

Pypi Build Status Coverage Code Climate

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 Distribution

efesto-0.7.tar.gz (13.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

efesto-0.7.linux-x86_64.tar.gz (28.8 kB view details)

Uploaded Source

efesto-0.7-py3-none-any.whl (22.5 kB view details)

Uploaded Python 3

File details

Details for the file efesto-0.7.tar.gz.

File metadata

  • Download URL: efesto-0.7.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for efesto-0.7.tar.gz
Algorithm Hash digest
SHA256 a3c3e5c3513629b89b068775bee537ddb2eefa6ec64719c27b01d8d9961174a3
MD5 cff77df6804cb30cedfbab8d1304e0bd
BLAKE2b-256 eae442ae59e75f563198dfb8617176340ed8e2455ec720f740b32cc65545d12b

See more details on using hashes here.

File details

Details for the file efesto-0.7.linux-x86_64.tar.gz.

File metadata

File hashes

Hashes for efesto-0.7.linux-x86_64.tar.gz
Algorithm Hash digest
SHA256 5f024a89faa24e3dc9e18dbd13fa80871d3606bce721d0fae15f3a08016fbe5a
MD5 e5d36d618d418cb75448fcef59624615
BLAKE2b-256 c5a715a96b141cba60bb0da1dc4ae047de299a92e8798487c82a5e5337e2772d

See more details on using hashes here.

File details

Details for the file efesto-0.7-py3-none-any.whl.

File metadata

  • Download URL: efesto-0.7-py3-none-any.whl
  • Upload date:
  • Size: 22.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for efesto-0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 7c52517cf9d67fff6a11be2aa1d2e93514705b9825624811622ae76e922c5fc2
MD5 f20b4d9d47dd7e80620ed9102f1600c0
BLAKE2b-256 796d1c836c1d338d48e2fab46db1ef7497b059636a5a100646725186bf1c7a6d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page