All Projects β†’ omnilib β†’ aql

omnilib / aql

Licence: MIT license
asyncio query generator

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to aql

buildsqlx
Go database query builder library for PostgreSQL
Stars: ✭ 92 (+178.79%)
Mutual labels:  query-builder
apollo-studio-community
🎑 Β GraphQL developer portal featuring an IDE (Apollo Explorer), auto-documentation, metrics reporting, and more. This repo is for issues, feature requests, and preview docs. πŸ“¬
Stars: ✭ 212 (+542.42%)
Mutual labels:  query-builder
cqrs
A foundational package for Command Query Responsibility Segregation (CQRS) compatible with Laravel.
Stars: ✭ 37 (+12.12%)
Mutual labels:  query-builder
goql
Super simple SQL query builder
Stars: ✭ 16 (-51.52%)
Mutual labels:  query-builder
querqy-elasticsearch
Querqy for Elasticsearch
Stars: ✭ 37 (+12.12%)
Mutual labels:  query-builder
indexeddb-orm
Indexed DB ORM
Stars: ✭ 53 (+60.61%)
Mutual labels:  query-builder
Zeko-SQL-Builder
Zeko SQL Builder is a high-performance lightweight SQL query library written for Kotlin language
Stars: ✭ 87 (+163.64%)
Mutual labels:  query-builder
kex
ORM-less for Knex
Stars: ✭ 17 (-48.48%)
Mutual labels:  query-builder
querie
Compose Ecto query from the client side
Stars: ✭ 20 (-39.39%)
Mutual labels:  query-builder
Gridify
Easy and optimized way to apply Filtering, Sorting, and Pagination using text-based data.
Stars: ✭ 372 (+1027.27%)
Mutual labels:  query-builder
flepper
Flepper is a library to aid in database interaction. 🐸
Stars: ✭ 60 (+81.82%)
Mutual labels:  query-builder
laravel-query-inspector
The missing laravel helper that allows you to inspect your eloquent queries with it's bind parameters
Stars: ✭ 59 (+78.79%)
Mutual labels:  query-builder
sea-query
πŸ”± A dynamic SQL query builder for MySQL, Postgres and SQLite
Stars: ✭ 595 (+1703.03%)
Mutual labels:  query-builder
query builder
Compose Ecto queries without effort
Stars: ✭ 56 (+69.7%)
Mutual labels:  query-builder
viziquer
Tool for Search in Structured Semantic Data
Stars: ✭ 12 (-63.64%)
Mutual labels:  query-builder
database
Database Abstraction Layer, Schema Introspection, Schema Generation, Query Builders
Stars: ✭ 51 (+54.55%)
Mutual labels:  query-builder
pinto
Query builder (SQL) in Rust
Stars: ✭ 23 (-30.3%)
Mutual labels:  query-builder
vue-query-builder
A Vue-Query-Builder
Stars: ✭ 71 (+115.15%)
Mutual labels:  query-builder
query-filter
πŸ” Database/Eloquent Query Builder filters for Laravel
Stars: ✭ 69 (+109.09%)
Mutual labels:  query-builder
database
A php class for managing and connecting to a database
Stars: ✭ 33 (+0%)
Mutual labels:  query-builder

aql

Simple, async query library for modern Python

build status code coverage version license code style

Highlights

aql is a simple, modern, and composable query builder, with support for asynchronous execution of queries against multiple database backends using a unified API. aql uses modern, type annotated data structures for both table definitions and queries.

aql is still in early alpha. Not all features are available or finalized.

Define tables:

@table("objects")
class Object:
    id: PrimaryKey[AutoIncrement[int]]
    name: Unique[str]
    description: text
    created: datetime

Build queries:

query = (
    Object.select()
    .where(Object.id >= 25)
    .order_by(Object.name)
    .limit(5)
)

sql, params = SqlEngine.prepare(query)
# "select * from `objects` where `id` >= ? order by `name` asc limit 5", (25)

Execute queries:

async with connect(...) as db:
    cursor = db.execute(Object.select().where(Object.id < 100))
    async for row in cursor:
        print(f"{row.id} {row.name} {row.description}")

Simple actions:

async with connect(...) as db:
    rows = await db.get(Object, Object.id == 100)
    rows[0].description += "updated"

    await db.modify(Object, rows)

License

aql is copyright John Reese, and licensed under the MIT license. I am providing code in this repository to you under an open source license. This is my personal repository; the license you receive to my code is from me and not from my employer. See the LICENSE file for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].