All Projects → sloria → Pythonormsleepy

sloria / Pythonormsleepy

Python ORM/ODM Examples, For The Sleepy

Programming Languages

python
139335 projects - #7 most used programming language

Python ORM/ODM Examples, For The Sleepy

The same RESTful API (an inventory app), implemented using different ORM/ODMs--a sort of "Hello World" tour of Python data mapper libraries.

Each example demonstrates the syntax for declaring models as well as basic querying, inserting, updating, and deleting of records.

Featuring. . .

SQLAlchemy (Relational DBs)

Full Example

hour_ago  = datetime.utcnow() - timedelta(hours=1)
recent_items = Item.query.filter(Item.checked_out &
                                (Item.updated > hour_ago)) \
                                .order_by(Item.updated.desc()).all()

Peewee (Relational DBs)

Full Example

hour_ago  = datetime.utcnow() - timedelta(hours=1)
recent_items =Item.select().where(Item.checked_out &
                                (Item.updated > hour_ago)) \
                                .order_by(Item.updated.desc())

Mongoengine (MongoDB)

Full Example

hour_ago  = datetime.utcnow() - timedelta(hours=1)
recent_items = Item.objects(checked_out=True, updated__gt=hour_ago)\
                            .order_by("-updated")

Stdnet (Redis)

Full Example

hour_ago  = datetime.utcnow() - timedelta(hours=1)
recent_items = models.item.filter(checked_out=True, updated__gt=hour_ago)\
                                .sort_by("-updated").all()

Pony (Relational DBs)

Full Example

hour_ago  = datetime.utcnow() - timedelta(hours=1)
recent_items = orm.select(item for item in Item
                                if item.checked_out and
                                    item.updated > hour_ago)\
                                    .order_by(Item.updated.desc())[:]

. . . and more to come.

Each of these was put to REST by Flask, Flask-Classy, and marshmallow.

Running an example

First, install dependencies.

$ pip install -r requirements.txt

Then run the example of your choice.

$ python sleepy/api_sqlalchemy.py

Browser interface

An interactive browser interface is included to test out the REST API.

Browser interface

To use the browser interface, run an example and browse to http://localhost:5000.

"Why isn't _____ included here?"

To which I respond: Why don't you fork this project?

License

MIT Licensed.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].