Metadata-Version: 2.1
Name: Flask2Neo4J
Version: 0.1a1
Summary: Extension Flask for integration with neo4j graph database
Home-page: https://github.com/ganggas95/flask2neo4j
Author: Ganggas95
Author-email: subhannizar25@amail.com
License: MIT
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Database
Description-Content-Type: text/markdown
Requires-Dist: Flask (>=1.0)
Requires-Dist: py2neo (>=3.0)
Requires-Dist: prompt-toolkit (<2.1,>=2.0.7)

# Flask2Neo4J
Extension Flask for integration with neo4j graph database

## Installation

Using pip:

```
$ pip install flask2neo4j
```

## Usage

Basic Step to usage this extension:

1. Create Flask app instance:

```
import bcrypt
from py2neo import ogm
from flask import Flask, request
from flask2neo4j import Flask2Neo4J


app = Flask(__name__)

```

2. Add NEO4J Config and Initialization Flask2Neo4j Extensions:
```

app.config["NEO4J_USERNAME"] = "neo4j"
app.config["NEO4J_PASSWORD"] = "neo4j"
app.config["NEO4J_URI"] = "bolt://localhost:7687"

flask2neo = Flask2Neo4J()

flask2neo.init_app(app)

```

3. Create Model using Graph Object if using GraphObject

```
class Users(ogm.GraphObject):
    __primarykey__ = "id"

    id = ogm.Property()
    username = ogm.Property("username")
    password = ogm.Property("password")

    def create_password(self, password):
        self.password = str(bcrypt.encrypt(password))

    @property
    def is_exist(self):
        return flask2neo.graph.exists(self)

    def save(self):
        if self.is_exist:
            flask2neo.graph.merge(self)
            flask2neo.graph.push(self)
        else:
            flask2neo.graph.create(self)
```
4. Define function register as flask request method ```POST```
```
@app.route("/register", methods=["POST"])
def register():
    form = request.form
    user = Users()

    user.username = form['username']
    user.create_password(form['password'])
    user.save()
    return "User Created"

```

5. Run flask app
```
if __name__ == '__main__':
    app.run(port=8500, debug=True)
```


Open your browser and type into url : ```http://localhost:8500```


