Eve. The Simple Way to REST¶
Version 1.1.4.
Eve is an open source Python REST API framework designed for human beings. It allows to effortlessly build and deploy highly customizable, fully featured RESTful Web Services.
Eve is powered by Flask and Cerberus and it offers native support for MongoDB data stores. Support for SQL, Elasticsearch and Neo4js backends is provided by community extensions.
The codebase is thoroughly tested under Python 2.7, 3.5+, and PyPy.
Note
The use of Python 3 is highly preferred over Python 2. Consider upgrading your applications and infrastructure if you find yourself still using Python 2 in production today.
Eve is Simple¶
from eve import Eve
settings = {'DOMAIN': {'people': {}}}
app = Eve(settings=settings)
app.run()
The API is now live, ready to be consumed:
$ curl -i http://example.com/people
HTTP/1.1 200 OK
All you need to bring your API online is a database, a configuration file
(defaults to settings.py
) or dictionary, and a launch script. Overall, you
will find that configuring and fine-tuning your API is a very simple process.
Funding Eve¶
Eve REST framework is a collaboratively funded project. If you run a business and are using Eve in a revenue-generating product, it would make business sense to sponsor Eve development: it ensures the project that your product relies on stays healthy and actively maintained. Individual users are also welcome to make either a recurring pledge or a one time donation if Eve has helped you in your work or personal projects. Every single sign-up makes a significant impact towards making Eve possible.
You can support Eve development by pledging on GitHub, Patreon, or PayPal.
Live demo¶
Check out the live demo. If using a browser you will get XML back. For JSON
in the browser, you might want to install Postman or similar extension and
then set the Accept
request header to application/json
. If you are
a CLI user (and you should), curl
is your friend. The source code will
show you how easy it is to run an API with Eve. You will also find usage
examples for all common use cases (GET, POST, PATCH, DELETE and more). There
is also a simple client app available.
Note
This documentation is under constant development. Please refer to the links on the sidebar for more information.