Skip to content
Python ORM/ODM Examples, For The Sleepy
Python JavaScript CSS
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
sleepy Merge branch 'master' of https://github.com/sloria/PythonORMSleepy Dec 31, 2013
tests
.gitignore
README.md Update README.md Dec 3, 2013
requirements.txt

README.md

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.

Something went wrong with that request. Please try again.