awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
ponyorm avatar

ponyorm/pony

0
View on GitHub↗
3,822 星标·256 分支·Python·Apache-2.0·8 次浏览

Pony

Pony is a Python object-relational mapper that maps classes to relational database tables using an object-oriented interface. It serves as a relational database toolkit providing the means to manage database transactions, identity mapping, and the lazy loading of related records.

The project is distinguished by a SQL query translator that converts Python generator expressions into optimized SQL queries by analyzing the abstract syntax tree. It also includes a visual database schema designer for creating entity-relationship diagrams to automatically generate and synchronize relational database structures.

The library covers a broad range of database capabilities, including programmatic schema management, attribute value validation, and entity serialization into JSON or dictionaries. It supports advanced query execution with filtering and pagination, raw SQL execution, and data loading optimization through prefetching.

Features

  • Object-Relational Mappers - Functions as a Python object-relational mapper that abstracts persistent data storage through a class-based interface.
  • Database Transaction Management - Provides context-managed transaction control to ensure atomic operations and data consistency within database sessions.
  • Generator Expression Translators - Translates Python generator expressions into optimized SQL queries by analyzing the abstract syntax tree at runtime.
  • Object-Relational Mapping - Provides a comprehensive object-relational mapping system to link Python classes to relational database tables.
  • Python Database Integrations - Enables Python applications to interact with relational databases using an object-oriented approach instead of raw SQL.
  • Lambda Querying - Analyzes generator expressions and lambda functions to produce optimized SQL queries for specific database dialects.
  • Relational Database Storage - Translates class definitions and expressions into SQL queries to support multiple relational database systems.
  • Relational Database Toolkits - Provides a toolkit for managing database transactions, identity mapping, and relational data retrieval.
  • AST-Based Query Translation - Translates Python generator expressions into optimized SQL queries by analyzing the abstract syntax tree.
  • Expression Tree Translation - Converts high-level language expressions and logic into optimized SQL queries for relational databases.
  • Class-to-Table Mappings - Defines database structures using classes to specify custom types, constraints, and foreign key behaviors.
  • Entity Mappings - Maps database tables to class-based entities using a declarative system to enforce data integrity and constraints.
  • Data Loading Optimizations - Optimizes data retrieval by implementing prefetching and lazy loading strategies to reduce database round-trips.
  • Database Query Optimizations - Automatically translates high-level Python expressions into efficient SQL queries to optimize data retrieval.
  • Database Query Execution - Provides complex lookup capabilities including filtering, pagination, and random sampling for specific data subsets.
  • Database Schema Designers - Enables the creation and prototyping of database structures through a visual entity-relationship diagram editor.
  • Database Schema Managers - Handles the programmatic creation and modification of database tables and constraints across different providers.
  • Database Schema Visualizers - Includes a visual database schema designer for creating entity-relationship diagrams to generate relational database structures.
  • Object Relation Lazy Loading - Defers the retrieval of related records from the database until the specific attribute is accessed in code.
  • Visual Schema Design - Includes a visual database schema designer for creating entity-relationship diagrams that automatically generate database structures.
  • Programmatic Table and Index Managements - Provides the ability to create, remove, and modify tables and indexes programmatically across various database providers.
  • Identity Map Patterns - Implements the Identity Map pattern to ensure each database record is represented by a single object instance per session.
  • Database Clients - Object Relational Mapper.
  • Database ORMs - Listed in the “Database ORMs” section of the Awesome Python awesome list.
  • Database Tools - ORM for Python with dynamic query generation.
  • Object Relational Mappers - Generator-oriented interface for SQL.
  • ORM Frameworks - Generator-based SQL interface.

Star 历史

ponyorm/pony 的 Star 历史图表ponyorm/pony 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

ponyorm/pony 是做什么的?

Pony is a Python object-relational mapper that maps classes to relational database tables using an object-oriented interface. It serves as a relational database toolkit providing the means to manage database transactions, identity mapping, and the lazy loading of related records.

ponyorm/pony 的主要功能有哪些?

ponyorm/pony 的主要功能包括:Object-Relational Mappers, Database Transaction Management, Generator Expression Translators, Object-Relational Mapping, Python Database Integrations, Lambda Querying, Relational Database Storage, Relational Database Toolkits。

ponyorm/pony 有哪些开源替代品?

ponyorm/pony 的开源替代品包括: dotnetcore/freesql — FreeSql is a .NET object-relational mapper and data access layer that translates object-oriented code into SQL for… coleifer/peewee — Peewee is a SQL object-relational mapper and query builder that provides an object-oriented interface for mapping… dotnet/efcore — Entity Framework Core is an object-relational mapper that enables developers to interact with database systems using… sqlalchemy/sqlalchemy — SQLAlchemy is a comprehensive Python SQL toolkit and object-relational mapper that provides a full suite of tools for… mikro-orm/mikro-orm — Mikro-ORM is a TypeScript-based object-relational mapping system that provides a unified persistence layer for Node.js… doctrine/orm — Doctrine ORM is a PHP object-relational mapper that connects application objects to relational database tables. It…

Pony 的开源替代方案

相似的开源项目,按与 Pony 的功能重合度排序。
  • dotnetcore/freesqldotnetcore 的头像

    dotnetcore/FreeSql

    4,388在 GitHub 上查看↗

    FreeSql is a .NET object-relational mapper and data access layer that translates object-oriented code into SQL for multiple relational database providers. It functions as a fluent SQL query builder and database schema synchronizer, allowing developers to align database table and index structures with entity class definitions. The framework is specifically optimized for .NET Native AOT to ensure reduced memory footprints and faster startup times. It includes a database traffic manager to distribute load through read-write splitting, dynamic table sharding, and tenant-based data isolation. Bro

    C#accessclickhousecodefirst
    在 GitHub 上查看↗4,388
  • coleifer/peeweecoleifer 的头像

    coleifer/peewee

    11,971在 GitHub 上查看↗

    Peewee is a SQL object-relational mapper and query builder that provides an object-oriented interface for mapping application classes to relational database tables. It functions as a relational database toolkit for managing schemas, executing migrations, and handling complex table relationships. The project distinguishes itself by providing an asyncio database driver for non-blocking database operations, ensuring event loop responsiveness. It also supports semi-structured data storage, allowing the storage and querying of flexible JSON documents within traditional relational database systems.

    Pythonasynciodankfastapi
    在 GitHub 上查看↗11,971
  • dotnet/efcoredotnet 的头像

    dotnet/efcore

    14,587在 GitHub 上查看↗

    Entity Framework Core is an object-relational mapper that enables developers to interact with database systems using strongly-typed code. It serves as a comprehensive data access framework, providing a unified interface for mapping application objects to relational and non-relational database schemas while managing the lifecycle of data operations through a central context. The project distinguishes itself through a provider-based architecture that decouples core data access logic from specific database engines, allowing for consistent interaction across diverse storage systems. It features a

    C#aspnet-productc-sharpdatabase
    在 GitHub 上查看↗14,587
  • sqlalchemy/sqlalchemysqlalchemy 的头像

    sqlalchemy/sqlalchemy

    11,612在 GitHub 上查看↗

    SQLAlchemy is a comprehensive Python SQL toolkit and object-relational mapper that provides a full suite of tools for interacting with relational databases. It serves as a foundational layer for database connectivity, offering both a high-level object-oriented interface for data persistence and a programmatic SQL expression language for constructing complex, dialect-agnostic queries. The project distinguishes itself through its sophisticated unit of work persistence, which coordinates atomic transactions and tracks object state changes to minimize redundant database operations. It provides a

    Pythonpythonsqlsqlalchemy
    在 GitHub 上查看↗11,612
查看 Pony 的所有 30 个替代方案→