Skip to content

oscoderuz/uniorm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UniORM

UniORM — SQLite, MySQL va PostgreSQL bilan ishlovchi universal async ORM.
Oddiy API, Django’ga o‘xshash model tizimi va kuchli query builder’ga ega.


🚀 Xususiyatlar

  • ✅ Async (async/await)
  • ✅ SQLite, MySQL, PostgreSQL
  • ✅ Model + Field tizimi
  • ✅ QueryBuilder & Q object
  • ✅ Migratsiyalar
  • ✅ Minimal va yengil

📦 O‘rnatish

pip install uniorm

Yoki manbadan:

git clone https://github.com/yourusername/uniorm.git
cd uniorm
pip install -e .

🔌 Database ulash

SQLite

from uniorm import SqliteDatabase

db = SqliteDatabase("db.sqlite3")

MySQL

from uniorm import MySQLDatabase

db = MySQLDatabase(
    database="test",
    user="root",
    password="password",
    host="localhost"
)

PostgreSQL

from uniorm import PostgreSQLDatabase

db = PostgreSQLDatabase(
    database="test",
    user="postgres",
    password="password"
)

🧱 Model yaratish

from uniorm import Model, CharField, IntField

class User(Model):
    name = CharField(max_length=100)
    age = IntField()

    class Meta:
        database = db

✏️ CRUD amallar

Create

user = await User.create(name="Ali", age=20)

Read

user = await User.get(id=1)
users = await User.filter(age__gte=18)

Update

user.age = 21
await user.save()

Delete

await user.delete()

🔍 QueryBuilder

from uniorm import Q

users = await User.select().where(
    Q(age__gte=18) & Q(name__contains="a")
).order_by("-age").limit(10).execute()

🔄 Migratsiyalar

from uniorm import MigrationManager

manager = MigrationManager(db)
await manager.init()
manager.make_migrations([User])
await manager.migrate()

⚠️ Talablar

  • Python 3.9+
  • aiosqlite (SQLite)
  • asyncmy (MySQL)
  • psycopg[binary] (PostgreSQL)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages