Skip to main content

Small library for easy work with databases.

Project description

Welcome to ORMStorm

ORMStorm is a small library for easy work with databases.

The key features are:

  • Simplicity: The library is very simple, and it won't take long to learn it.
  • Coding speed: Integrating the library into your projects won't take long.
  • Dynamic: Unlike others, this library will allow you to very quickly create new tables and add databases to them.

Installing

pip install ormstorm

Usage

Using standard tables

from ormstorm import Table, Types, Column, create_session  


class ExampleTable(Table): 
    __tablename__ = "example"  
      
    id = Column(Types.INTEGER, primary_key=True, autoincrement=True)  
    text = Column(Types.STRING)  
      
      
LocalSession = create_session("example.sqlite3", [ExampleTable])  
      
with LocalSession() as session:  
    session.insert(ExampleTable(text="Hello, world!"))

Using a dynamic table

from ormstorm import DynamicTable, Types, Column, create_session  
      
      
LocalSession = create_session("example.sqlite3", [])  
      
with LocalSession() as session:  
    NewTable = DynamicTable(  
        "new_table", {"id": Column(Types.INTEGER, primary_key=True, autoincrement=True), "text": Column(Types.STRING)}  
    )  
      
    session.create(NewTable)  
    session.insert(NewTable(text="Easy use of dynamic tables!"))

Magic filters

Magic filters is a special system that allows you to quickly write conditions for sql queries in the usual python style! Magic filters currently support the following operators: =, !=, >=, >, <=, <, &, |, ~

Simple use of magic filters:

from ormstorm import Table, Types, Column, create_session


class ExampleTable(Table):
    __tablename__ = "example"

    id = Column(Types.INTEGER, primary_key=True, autoincrement=True)
    text = Column(Types.STRING)


LocalSession = create_session("example.sqlite3", [ExampleTable])

with LocalSession() as session:
    result = session.select(
        (ExampleTable.text == "Hello") | ((ExampleTable.id > 5) & (ExampleTable.id < 15))
    )

Instead of the usual and and or, & and | are used, respectively. Also, ~ is used instead of the or keyword. It is also worth noting that some expressions should be wrapped in parentheses to avoid unexpected errors.

To select all data from a table, simply specify its class.

result = session.select(ExampleTable)

Documentation

At the moment, all documentation is located in the library itself. Each function and class has good documentation to understand what the function is for.

Note

This library is strictly not recommended for use in large projects because of the small functionality!

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

ormstorm-0.0.3.0.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

ormstorm-0.0.3.0-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file ormstorm-0.0.3.0.tar.gz.

File metadata

  • Download URL: ormstorm-0.0.3.0.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.0

File hashes

Hashes for ormstorm-0.0.3.0.tar.gz
Algorithm Hash digest
SHA256 79f94cc916b97c2e2400baec021b9faa30e2e542a8d80c864be7cb29c1d24246
MD5 5fb983de0e58058fe520382628b50b80
BLAKE2b-256 0faee4b297ed30b2f213b34da8fb7d4b662b767aacc58ae5706687f5d55acbfc

See more details on using hashes here.

File details

Details for the file ormstorm-0.0.3.0-py3-none-any.whl.

File metadata

  • Download URL: ormstorm-0.0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.0

File hashes

Hashes for ormstorm-0.0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b95d2faf99b3a4dccbca7b048271ab64c37a149bb09aee7da854632eb11163a3
MD5 b11db5858982a4da4a81432448a5f2ae
BLAKE2b-256 68f1bf5b781449fca0835032d5fcf3441399f8fd56cb5024648f82dbbe98123a

See more details on using hashes here.

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