Observed since 21 Oct, 11:48 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
AIODesa offers a straightforward and 100% Python interface for managing asynchronous data access. By leveraging Python's built-ins and standard library, it seamlessly wraps around AioSqlite, providing a hassle-free experience. With AIODesa, you can define, generate, and commit data effortlessly, thanks to shared objects for tables and records.
A straightforward and 100% Python interface for managing asynchronous database API's by leveraging Python's built-ins and standard library. It wraps around AioSqlite, providing a hassle-free experience to define, generate, and commit data effortlessly, thanks to shared objects for tables and records.
AIODesa is specifically crafted for simpler projects where database IO is minimal. It's not intended for heavy production use but rather serves as an excellent choice for personal projects that require SQL structured data persistence without the complexity of a full-scale database setup. SQLite is leveraged here, meaning youre free to use other SQLite drivers to consume and transform the data if your project outgrows AIODesa.

Install via pip
pip install aiodesa
Sample API usage:
from aiodesa import Db
import asyncio
from dataclasses import dataclass
from aiodesa.utils.tables import ForeignKey, UniqueKey, PrimaryKey, set_key
async def main():
# Define structure for both tables and records
# Easily define key types
@dataclass
@set_key(PrimaryKey("username"), UniqueKey("id"), ForeignKey("username", "anothertable"))
class UserEcon:
username: str
credits: int | None = None
points: int | None = None
id: str | None = None
table_name: str = "user_economy"
async with Db("database.sqlite3") as db:
# Create table from UserEcon class
await db.read_table_schemas(UserEcon)
# Insert a record
record = db.insert(UserEcon)
await record('sockheadrps', id="fffff")
# Update a record
record = db.update(UserEcon, column_identifier="username")
await record('sockheadrps', points=2330, id="1234")
# Find All in a table
find_all_users = db.find_all(UserEcon)
all_users = await find_all_users()
for user in all_users:
print(user.username)
asyncio.run(main())
Ensure poetry is installed:
pip install poetry
Install project using poetry
poetry add git+https://github.com/sockheadrps/AIODesa.git
poetry install
create a python file for using AIODesa and activate poetry virtual env to run it
poetry shell
poetry run python main.py
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.2.0 | 23 Jul 2024 | 3 |
This describes our collected data; it is not a security assessment.
Observed since 21 Oct, 11:48 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:af25885ea8e58e24338c5d472afca1df31094c65fc1d8146615328a4c32070c8