
Show HN: Orator – An ActiveRecord ORM for Python - sdispater
http://orator-orm.com/
======
sdispater
Orator is a brand new ORM for Python following the ActiveRecord pattern with a
pinch of magic in it.

Its main goal is simplicity. I want it to be really easy to read and write
with useful features out of the box (relationships decorators, timestampable
models, soft deletes, protection against mass assigment, model events,
caching).

I started it as a personal need for simplicity when defining my models which
is one of the things I like about Ruby On Rails.

It is inspired by the database part of the Laravel PHP framework, but modified
to be more pythonic.

~~~
exDM69
I'll ask the inevitable question: how does this compare to SQLAlchemy ORM?

~~~
sdispater
I've been using SQLAlchemy for quite some time now and it's a rich and
powerful ORM, no doubt.

However, I found it to sometimes be a bit too complex for simple use cases.

Orator aims at simplicity. You can define your models quickly in a natural
fashion. For that, Orator uses some magic and conventions (you do not need to
define your model columns for example).

Regarding features, Orator provides useful ones out of the box compared to
default SQLAlchemy (timestampable models, soft deletes).

Performance-wise, I have made some small benchmarks on my end, and Orator
stands up pretty well but it some cases it is not as efficient as SQLAlchemy
due to the ActiveRecord pattern, but nothing drastic.

------
drcongo
This looks pretty nice. Aside from wondering how it compares to SQLAlchemy,
I'm also interested in how mature you believe it to be currently.

~~~
sdispater
Currently, I still consider it to be in beta, due to the fact that, for now,
it has not been used widely.

However, I've been using it on a production project since the 0.4 version
without any problem.

I hope to have some feedback to fix and improve things and reach the first
stable version.

------
softwarelimits
Hi, looks very nice! Would you like to write about what are the main
differences compared to sqlalchemy? Thanks!

------
meowface
I don't know what functional merits this might have over SQLAlchemy, but I
will say its API looks _much_ nicer, cleaner, and simpler than SQLAlchemy.

