{"library":"pony","title":"Pony ORM","description":"Pony ORM is a Python Object-Relational Mapper that allows developers to work with databases using Python objects and queries written in plain Python. It translates Python queries into optimized SQL, supporting SQLite, PostgreSQL, MySQL, and Oracle. The current version is 0.7.19. Releases occur periodically, often driven by new Python version support or significant bugfixes, indicating an active but not rapid development cadence with several months to a year between minor releases.","language":"python","status":"active","last_verified":"Mon May 18","install":{"commands":["pip install pony"],"cli":null},"imports":["from pony.orm import Database","from pony.orm import Required","from pony.orm import Optional","from pony.orm import Set","from pony.orm import PrimaryKey","from pony.orm import db_session","from pony.orm import select"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"from pony.orm import *\n\ndb = Database()\n\nclass Person(db.Entity):\n    id = PrimaryKey(int, auto=True)\n    name = Required(str)\n    age = Optional(int)\n    cars = Set('Car')\n\nclass Car(db.Entity):\n    make = Required(str)\n    model = Required(str)\n    owner = Required(Person)\n\ndb.bind(provider='sqlite', filename=':memory:', create_db=True)\ndb.generate_mapping(create_tables=True)\n\n@db_session\ndef create_data():\n    p1 = Person(name='John Doe', age=30)\n    c1 = Car(make='Toyota', model='Camry', owner=p1)\n    p2 = Person(name='Jane Smith', age=25)\n    print(\"Data created.\")\n\n@db_session\ndef query_data():\n    for p in select(p for p in Person if p.age < 35):\n        print(f\"Name: {p.name}, Age: {p.age}\")\n        for car in p.cars:\n            print(f\"  Car: {car.make} {car.model}\")\n\ncreate_data()\nquery_data()","lang":"python","description":"This quickstart demonstrates defining a database connection, creating entity models, generating the database schema, and performing basic CRUD operations within a `db_session` context. It uses an in-memory SQLite database for simplicity.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"0.7.19","pypi_latest":"0.7.19","is_stale":false,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":1.8,"avg_import_s":0.24,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"pony","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.19,"mem_mb":6.7,"disk_size":"21.2M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"pony","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.7,"import_time_s":0.13,"mem_mb":6.7,"disk_size":"22M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"pony","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.35,"mem_mb":6.9,"disk_size":"24.2M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"pony","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.9,"import_time_s":0.31,"mem_mb":6.9,"disk_size":"25M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"pony","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.28,"mem_mb":7,"disk_size":"15.8M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"pony","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.8,"import_time_s":0.28,"mem_mb":7,"disk_size":"16M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"pony","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.3,"mem_mb":7.9,"disk_size":"15.5M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"pony","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":1.7,"import_time_s":0.28,"mem_mb":7.9,"disk_size":"16M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"pony","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":null,"import_time_s":0.17,"mem_mb":6.6,"disk_size":"20.7M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"pony","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":2,"import_time_s":0.15,"mem_mb":6.6,"disk_size":"21M"}]}}