Skip to main content

Library for interacting with the SQLite database.

Installation:

pip install mwsqlite

Example:

from mwsqlite import MWBase, Where, Order, DESC, ASC

# create database object (1)
base = MWBase(
    filename="file.db",
    tables={
        "users": {
            "first_name": str,
            "last_name": str,
            "middle_name": str,
            "age": int,
            "info": dict,
            "is_admin": bool,
            "list_rewards": list,
        }
    }
)

# add user to database
base.users.add(
    first_name="John",
    last_name="Doe",
    middle_name="Smith",
    age=18,
    info={"description": "some info"},
    is_admin=False,
    list_rewards=[{"id": 1, "name": "reward1"}, {"id": 2, "name": "reward2"}],
)

# get one user from database
user = base.users.get_one(name="John", age=18)
print(user)
# MWBase.users.Row({'first_name': 'John', 'last_name': 'Doe', 'middle_name': 'Smith', 'age': 18, 'info': {'description': 'some info'}, 'is_admin': False, 'list_rewards': [{'id': 1, 'name': 'reward1'}, {'id': 2, 'name': 'reward2'}]})

base.users.update(
    Where(first_name="John"),
    first_name="Jane",
)

user = base.users.get_one(name="Jane", age=18)
print(user)
#  MWBase.users.Row({'first_name': 'Jane', 'last_name': 'Doe', 'middle_name': 'Smith', 'age': 18, 'info': {'description': 'some info'}, 'is_admin': False, 'list_rewards': [{'id': 1, 'name': 'reward1'}, {'id': 2, 'name': 'reward2'}]})

print(user.age)
# 18
user.update(age=19)
print(user.age)
# 19

user.delete()

user = base.users.get_one(name="Jane", age=18)
print(user)
# None

# get many users from database

for i in range(3):
    base.users.add(first_name="John", age=18 + i)

users = base.users.get(
    Order(age=DESC), 
    name="John"
)
print(len(users))
# 3

print(users)
# [{'first_name': 'Jane', 'last_name': '', 'age': 0, 'info': {}, 'is_admin': False, 'list_rewards': []}, ...]

for user in users:
    print(user.age)
    # 20
    # 19
    # 18

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mwsqlite-1.3.1.tar.gz (8.2 kB view details)

Uploaded Source

File details

Details for the file mwsqlite-1.3.1.tar.gz.

File metadata

  • Download URL: mwsqlite-1.3.1.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.2

File hashes

Hashes for mwsqlite-1.3.1.tar.gz
Algorithm Hash digest
SHA256 6c82a06f57a2ff0428cab0f2e46a36fa865494d2a96217356ca06ddabb413525
MD5 a59261f6850eea8e200e897d29e0943c
BLAKE2b-256 794aece7df9cda0bf017d02e7bec28c783d51be2562a120cee3305f54f41063c

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.3.1 This release

1 file

1.3.0

1 file

1.2.3

1 file

1.2.2

1 file

1.2.1

1 file

1.1.1

1 file

1.1.0

1 file

1.0.2

1 file

1.0.1

1 file

1.0.0

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page