Pony is a Python ORM with beautiful query syntax
Write your database queries using Python generators & lambdas
Try PonyORM now Support PonyORM
Free open-source software
Custom software development

Tweak Pony ORM to meet specific requirements or develop a complete app using Python, TypeScript and ReactJS. The team of software development experts from our partner AgileCode can provide custom development for your project. Email us to info at ponyorm.org with a summary of your needs and we will give you an estimate of time and price.

Get estimate
Easy to use and powerful
database query syntax

Using Pony object-relational mapper you can concentrate on writing business logic of your application and use Python syntax for interacting with the database. Pony translates such queries into SQL and executes them in the database in the most efficient way.

Learn more

Here is Pony query example:

select(c for c in Customer if sum(c.orders.price) > 1000)

which is being translated into the following SQL:

SELECT "c"."id"
FROM "customer" "c"
  LEFT JOIN "order" "order-1"
    ON "c"."id" = "order-1"."customer"
GROUP BY "c"."id"
HAVING coalesce(SUM("order-1"."total_price"), 0) > 1000


Schema
Online tool
for database design

You can start modeling your application right now. Once your data diagram is ready, you can start using it with Pony ORM or get SQL statements for creating tables.

Learn more

Rocket
Easy to start with, quick to learn

If you know Python you already know how to write queries with Pony.

Nerd
Scalable and powerful

Pony is good for beginners due to its pythonic syntax. But besides this it also provides great performance due to smart caching.

Box
Up-to-date with the latest database features

Pony now supports a native database JSON data type that enables efficient access to data in JSON format.


  • Licensed under Apache 2.0
  • Great for start-ups and researchers
  • Easy to do aggregations
  • Reliability and safety - no SQL injections possible
  • Supports major relational databases: SQLite, PostgreSQL, MySQL, Oracle
  • Stable API
  • Many years of development
  • Join us on Telegram. Meet the PonyORM team, chat with the community members, and get your questions answered on our community Telegram group.
  • Post your PonyORM questions on Stack Overflow.
  • Report an issue. Submit bug reports, suggest new features, or follow development on our GitHub repo.
  • Reach us on Twitter.
  • Check the messages from our mail list archive.
Join the newsletter