Skip to main content

Full power of *asyncpg* with user friendly api of *sqlalchemy.core*

Project description

Corebases

Full power of asyncpg with user friendly api of sqlalchemy.core

Corebases - is async adapter for Sqlalchemy.Core. Interface and code based on encode/databases, but has bit difference. Now supported only asycnpg driver (but It's possible to extend)

Current status - Experimental

Reason for create fork

Install

> pip install corebases

Usage

# Create a database instance, and connect to it.
from corebases import database
database = database('postgres://user:pass@localhost:5432')
await database.connect()

# Insert some data.
query = "INSERT INTO HighScores(name, score) VALUES (:name, :score)"
value =  {"name": "Daisy", "score": 92}

with database.transaction() as db:
    await db.execute(query=query, value=value)

# Run a database query.
query = "SELECT * FROM HighScores"
rows = await database.fetch_all(query=query)
print('High Scores:', rows)

await database.disconnect()

Difference between encode/databases

Principal is a bit of difference in interface on transactions:

encode/database:

with database.transaction():
    await database.execute(query=query, value=value)

corebases:

with database.transaction() as db:
    await db.execute(query=query, value=value)

Also, corebases doesn't support methods:

  • feach_val
  • execute_many

But we can add in the future.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

corebases-0.2.1.tar.gz (4.7 kB view hashes)

Uploaded Source

Built Distribution

corebases-0.2.1-py3-none-any.whl (5.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page