gREST is a RESTful API development framework on top of Python, Flask, Neo4j and Neomodel. Its primary purpose is to ease development of RESTful APIs with little effort and minimum amount of code.
If you are a user of Flask micro web framework and want to expose your Neo4j database as a set of REST endpoints, use gREST and you're good to go. It helps you easily construct endpoints with deep relationship support and automatic validation.
You just need to define your schema in Neomodel, and subclass "GRest" with some tiny little details to get a working REST API on top of Neo4j. There are examples in the GitHub repository to show you how to make a gREST app. You also have the option of using the "grest" command-line tool to generate a skeleton app.
It tried my best to develop a battle-tested library that passes all tests and has been used on real-world projects and solved real-world problems.
According to BigQuery results from the "the-psf:pypi.downloads" dataset, it has been downloaded over 82k times in its more than two years of existence. It has also been mentioned twice on the Neo4j blog:
- This Week in Neo4j – 29 April 2017
- This Week in Neo4j – $80 Million Series E, New Neo4j Monitoring Tool, Cyber Attack Graphs, Spring Data Neo4j Tutorial
"The Story of gREST, A Graph-based Restful API Development Framework" is my article on Medium on why I have developed this library and how it became what it is today.
P.S. Since the project is Free/Open Source, it would be great if anyone can give a hand and help it grow by writing documentation, adding new features, solving issues and the like. Please feel free to ping me on twitter.