Flask-SQLAlchemy Model to API in one line of code
Project description
Flask middleware that creates a simple Flask API CRUD REST endpoint based on a SQLAlchemy model definition.
Basic usage
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_sqla2api import SQLA2api
# Init app and DB
app = Flask(__name__)
db = SQLAlchemy(app)
# Setup a simple SQLAlchemy model
class Entry(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80))
# Init Flask-sqla2api
api = SQLA2api([Entry], self.db)
api.append_blueprints(app)
The previous tiny app will create the following endpoints
URL |
HTTP Method |
Action |
---|---|---|
/entry |
GET |
Get all entries |
/entry |
POST |
Create new entry |
/entry/<id> |
GET |
Get a single entry |
/entry/<id> |
PUT |
Edit existing entry |
/entry/<id> |
DELETE |
Delete existing entry |
Generate single blueprint
If you want more control over your blueprints you can generate it and append it yourself to your app.
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_sqla2api import generate_blueprint
# Init app and DB
app = Flask(__name__)
db = SQLAlchemy(app)
# Setup a simple SQLAlchemy model
class Entry(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80))
# Generate and register blueprint
blueprint = generate_blueprint(Entry, db)
app.register_blueprint(blueprint, url_endpoint='/')
To-Do
Input validation
API docs generation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Flask-SQLA2api-0.2.1.tar.gz
(4.5 kB
view hashes)
Built Distributions
Close
Hashes for Flask_SQLA2api-0.2.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea512d61ae94cadc530475228b2481fc0e356fc64ba9810e8474116d67bf0e8b |
|
MD5 | 24784149d3b3d2d3f3fab9da7bc603b2 |
|
BLAKE2b-256 | d292123201727f3703cfbb290b123c649431b639b8975c522eca07d01c29b53b |