v1a0 / sqllex

The most pythonic ORM (for SQLite and PostgreSQL). Seriously, try it out!

Home Page:https://v1a0.github.io/sqllex

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

sqllex logo

SQLLEX ORM v0.3.0

python-auto-ver lgtm-quality-img lgtm-alerts-img

pypi-version-img pypi-downloads-img

wiki-img docs-dark-img telegram-group-img


The most pythonic ORM. Seriously, try it out!

Installation

pip install sqllex
Version Status Tests, and actions
>=0.3.0 ✔️ Supported
✔️ Stable
code-ql-img
sqllex-tests-img
pypi-upload-img
<=0.2.3 ⚠️ OUTDATED ⚠️ Mostly passing
<=0.2.0.4 ❌️ Security issue
CVE-2022-0329
❌️
Databases Support
SQLite ✔️
PostgreSQL ✔️*

* - partially support

About

Use databases without thinking about SQL.

Interact with a database as python object by intuitive methods just like .insert(), .select() or .find().

Let me show you how sqllex ORM makes your life easier. Imagine you need create some database, save some data into this and take it back. That's how your easy to code it with sqllex.

SQLite3

from sqllex import *

db = SQLite3x(                              
    path='my_database.db',                      
    template={                              
        "users": {                          
            "username": [TEXT, NOT_NULL],   
            "age": INTEGER,                 
        }                                   
    }                                       
)

users = db["users"]

users.insert('Sqllex', 33)

users_33 = users.find(age=33)

print(users_33)  # [('Sqllex', 33)]

WHAT IS GOING ON THERE?!
from sqllex import *

# Create some database, with simple structure
db = SQLite3x(                              # create database
    path='my_data.db',                      # path to your database, or where you would like it locate
    template={                              # schema for tables inside your database                              
        "users": {                              # name for the 1'st table
            "username": [TEXT, NOT_NULL],       # 1'st column of table, named "username", contains text-data, can't be NULL
            "age": INTEGER,                     # 2'nd column of table, named "age", contains integer value
        }                                   # end of table
    }                                       # end of schema (template)
)

# Ok, now you have database with table inside it.
# Let's take this table as variable
users = db["users"]

# Now add record of 33 years old user named 'Sqllex' into it
# Dear table, please insert ['Sqllex', 33] values
users.insert('Sqllex', 33)

# Dear table, please find records where_ column 'age' == 33
users_33 = users.find(age=33)

# Print results
print(users_33)  # [('Sqllex', 33)]

Examples

DMS Example
SQLite3 "Zero level" (v0.2+)
SQLite3 "Pre-Intermediate" (v0.2+)
SQLite3 Data Science (v0.1.8.4)
SQLite3 Project Showcase
PostgreSQL -

Community

stars-image

Not enough? Read more in Sqllex Documentation!


Other

About

The most pythonic ORM (for SQLite and PostgreSQL). Seriously, try it out!

https://v1a0.github.io/sqllex

License:GNU General Public License v3.0


Languages

Language:Python 100.0%