Skip to content

v1a0/sqllex

Repository files navigation

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