Question

I am currently using PyORMish for powering Flask powered web apps, but since it's so new the support isn't quite there yet. I don't have any real issues other than the documentation.

On the surface they both appear to fill similar roles, but since Storm is so much larger I can only assume that it provides more features. I haven't found a good comparison of features between the two.

Has anyone here used both Storm or PyORMish? And if so, which did you find to work better with web applications?

Was it helpful?

Solution

Even though I'm the author of PyORMish (as you already know) I'll try to keep this answer as unbiased as possible.

<opinion> I have used Storm in the past, but I felt it was a little too heavy for my projects. I believe that relationships are best handled by the relational database -- I don't want my ORM running multiple selects without my knowledge. It should join when I tell it to. </opinion>

Storm

  • LGPL license
  • Supports MySQL, SQLite, Oracle, and Postgres
  • Creates database schema for you
  • First release in 2007
  • Determines relationships based on relationship classes (Reference)
  • Full mapping: Understands datatypes of fields
  • May or may not join depending on schema

PyORMish

  • BSD license
  • Supports MySQL, SQLite, and Postgres
  • Creates getters and setters for you
  • First release in 2013
  • Determine relationships based on joins
  • Minimal mapping: Has no knowledge of field datatypes
  • Specify when to join

As for web apps, it's currently performing well with about 8,000 page turns/day at the PyORMish website with 0 crashes or dropped connections as of the 1st of April. I did not notice any major concerns when running Apache benchmarks with 10k hits/minute sustained. The same is true for Storm, though. I think the argument could be made that both are production ready.

All in all, this comes down to a matter of preference.

If you're comfortable with SQL and creating your own schema then I'd say stick with PyORMish.

If you'd rather focus on Python and not touch SQL, you'll be more comfortable with Storm.

Edit: I'd also like to comment on the lack of documentation. I've added the most commonly requested information, and suggestions are welcome. If you're curious about some aspect of PyORMish that isn't documented then please let me know. I'll do my best to get it in the system. Please submit documentation requests via: GitHub - Issues. Thanks!

Also, thanks for giving PyORMish a chance!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top