awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
encode avatar

encode/databasesArchived

0
View on GitHub↗
4,002 stars·260 forks·Python·BSD-3-Clause·32 viewswww.encode.io/databases↗

Databases

This project is an asyncio database abstraction layer that provides a common interface for performing non-blocking database operations in Python. It functions as an asynchronous database driver wrapper and a SQL expression builder, allowing for the construction of raw SQL strings from structured Python objects.

The library includes an asyncio connection pool manager that utilizes task-local storage to handle connection lifecycles and reduce resource overhead. It also serves as an async database transaction manager, wrapping operations in atomic transactions and savepoints to maintain data integrity.

The system covers broad capabilities including asynchronous data streaming for processing large result sets without high memory usage and the management of database schemas. Additionally, it provides tools for automated database testing by isolating test data through transaction rollbacks.

Features

  • Database Abstraction Layers - Provides a unified asyncio interface for performing non-blocking database operations across multiple drivers.
  • Database Driver Abstractions - Provides a common abstraction layer that wraps multiple asynchronous database drivers for a consistent API.
  • Asynchronous Database Drivers - Provides non-blocking database operations via asynchronous drivers and structured query expressions.
  • Connection Pooling - Implements an asynchronous connection pooling system to optimize resource efficiency across Python tasks.
  • Connection Pools - Maintains a cache of reusable database connections to improve efficiency across asynchronous tasks.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI
  • Task-Local - Utilizes task-local storage in its connection pool manager to ensure connection reuse throughout specific asynchronous chains.
  • Connection Pool Managers - Automatically manages the lifecycle of database connections to optimize resource utilization.
  • Database Query Execution - Enables execution of SQL queries for data retrieval and schema modification through a common interface.
  • Database Transaction Management - Manages database transaction boundaries and savepoints to ensure atomic changes and data integrity.
  • Database Transactions - Ensures data consistency by wrapping multiple operations in ACID-compliant transactions and savepoints.
  • SQL Expression Builders - Ships a SQL expression builder that translates structured Python objects into raw SQL strings for execution.
  • Query Result Fetching - Offers asynchronous methods to retrieve single values, individual rows, or complete result sets.
  • Non-Blocking Event Loops - Implements a non-blocking event loop architecture to execute database I/O without pausing the Python main thread.
  • Cursor-Based Result Streamers - Provides asynchronous cursors to stream large database result sets incrementally and minimize memory usage.
  • Nested Transactions - Supports nested transactions and savepoints to group multiple database operations into atomic units.
  • Row-Based Result Streaming - Iterates through database records sequentially using asynchronous cursors to prevent high memory consumption.
  • SQL Query Builders - Offers a programmatic builder to construct raw SQL strings from structured Python objects.
  • Asynchronous Database Result Streams - Processes large database result sets by iterating over rows one by one to avoid high memory usage.
  • Transaction-Based Test Isolation - Provides automated database testing by isolating test data through mandatory transaction rollbacks.
  • Test Data Isolation - Isolates test data by wrapping each test case in a transaction that is rolled back upon completion.
  • Database Clients - Async database support.
  • Database Drivers - Async database access layer for SQLAlchemy core.
  • Query Builders - Async SQL query builder for SQLAlchemy Core.
  • Star history

    Star history chart for encode/databasesStar history chart for encode/databases

    Frequently asked questions

    What does encode/databases do?

    This project is an asyncio database abstraction layer that provides a common interface for performing non-blocking database operations in Python. It functions as an asynchronous database driver wrapper and a SQL expression builder, allowing for the construction of raw SQL strings from structured Python objects.

    What are the main features of encode/databases?

    The main features of encode/databases are: Database Abstraction Layers, Database Driver Abstractions, Asynchronous Database Drivers, Connection Pooling, Connection Pools, Task-Local, Connection Pool Managers, Database Query Execution.

    What are some open-source alternatives to encode/databases?

    Open-source alternatives to encode/databases include: codeigniter4/codeigniter4 — CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web… doctrine/dbal — This project is a SQL database abstraction layer that provides a consistent object-oriented interface for interacting… coleifer/peewee — Peewee is a SQL object-relational mapper and query builder that provides an object-oriented interface for mapping… magicstack/asyncpg — asyncpg is an asynchronous database driver and binary protocol client for PostgreSQL. It provides a non-blocking… tortoise/tortoise-orm — Tortoise ORM is an asynchronous object-relational mapper for Python that mirrors Django's model and queryset API while… sqlalchemy/sqlalchemy — SQLAlchemy is a comprehensive Python SQL toolkit and object-relational mapper that provides a full suite of tools for…

    Open-source alternatives to Databases

    Similar open-source projects, ranked by how many features they share with Databases.
    • codeigniter4/codeigniter4codeigniter4 avatar

      codeigniter4/CodeIgniter4

      5,924View on GitHub↗

      CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web applications. It provides a lightweight toolkit with minimal configuration, organizing application logic into controllers, models, and views for clean separation of concerns. The framework includes a fluent query builder for constructing SQL statements programmatically, PSR-4 autoloading with namespace mapping, and a service-based dependency injection container for managing shared class instances. The framework distinguishes itself through its comprehensive set of built-in tools

      PHPcodeignitercodeigniter4framework-php
      View on GitHub↗5,924
    • doctrine/dbaldoctrine avatar

      doctrine/dbal

      9,699View on GitHub↗

      This project is a SQL database abstraction layer that provides a consistent object-oriented interface for interacting with multiple relational database systems. It includes a driver wrapper to standardize connections and result sets, a fluent query builder for constructing portable SQL statements, and a type mapper for converting database-specific data types into native application types and vice versa. The library enables programmatic schema management through a schema manager that can introspect database metadata, model structures as objects, and generate the SQL required to migrate between

      PHPdatabaseibm-db2mariadb
      View on GitHub↗9,699
    • coleifer/peeweecoleifer avatar

      coleifer/peewee

      11,971View on 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
      View on GitHub↗11,971
    • magicstack/asyncpgMagicStack avatar

      MagicStack/asyncpg

      7,953View on GitHub↗

      asyncpg is an asynchronous database driver and binary protocol client for PostgreSQL. It provides a non-blocking interface for executing SQL statements, streaming result sets, and managing data transfer between an application and a PostgreSQL database. The driver implements the PostgreSQL binary protocol directly to facilitate efficient data transfer and type conversion. It includes a connection pool to maintain and reuse open database connections, reducing the latency associated with repeated handshakes. The project covers a broad range of database integration capabilities, including atomic

      Pythonasync-programmingasync-pythonasyncio
      View on GitHub↗7,953
    See all 30 alternatives to Databases→