Skip to content

jmcarp/filteralchemy

Repository files navigation

filteralchemy

Latest version Documentation Status Travis-CI Code coverage

filteralchemy is a declarative query builder for SQLAlchemy. filteralchemy uses marshmallow-sqlalchemy to auto-generate filter fields and webargs to parse field parameters from the request. Use it to filter data with minimal boilerplate.

For Django users: the design of filteralchemy is strongly inspired by django-filter.

Install

pip install filteralchemy

Quickstart

import flask
from models import Album, session
from webargs.flaskparser import parser

from filteralchemy import FilterSet
from filteralchemy.operators import Equal, Less, Greater

class AlbumFilterSet(FilterSet):
    class Meta:
        model = Album
        query = session.query(Album)
        operators = (Equal, Less, Greater)
        parser = parser

app = flask.Flask(__name__)

@app.route('/albums')
def get_albums():
    query = AlbumFilterSet().filter()
    return flask.jsonify(query.all())
http :5000/albums artist==Queen genre==rock sales__gt==1000000

About

Declarative query builder for SQLAlchemy

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages