Python class decorator that creates a database representation of a class and vice versa, a lightweight ORM.
Project description
Database Models
Python class decorator that creates a database representation of a class and vice versa, a lightweight ORM.
setup.py provided for installation, uses psycopg 3 rather than 2 for the
better context manager support and type hinting.
Recommended Import Setup
import databasemodels as dbm
from databasemodels.datatypes import *
This allows you to use bare datatypes such as INTEGER, or complex datatypes
such as PrimaryKey.
Features
All basic types and pseudo-types implemented are all capital, whereas type modifiers and constructed types like enums are capital camel case.
Currently, implemented types/pseudo-types include:
EnumType
INTEGER
SERIAL
REAL
TEXT
TIMESTAMP
TIMESTAMP_WITH_TIMEZONE
DATE
TIME
BOOL
VARCHAR
CHAR
NUMERIC
Currently, implemented constraints include:
ForeignKey
PrimaryKey
Unique
NotNull
Planned Features
- Interval type
- Additional SQL parameter to createTable
- Full documentation across all the module
- Implementation of all types listed here.
- "Mutation" context managers for database model instances
- Higher unittest coverage
- Higher customizability with table creation and other database operations
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file databasemodels-1.3.7.tar.gz.
File metadata
- Download URL: databasemodels-1.3.7.tar.gz
- Upload date:
- Size: 24.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54c76687a5099648f0bde9c6c446e6101c32f09a640e25bce2ff3719c5a116d6
|
|
| MD5 |
14c5c15d11db4e6987618546e9b6a765
|
|
| BLAKE2b-256 |
bd7b4e436702dd3349273c08c32aab2ac319d1b6726910643583f0409623dc8b
|
File details
Details for the file databasemodels-1.3.7-py3-none-any.whl.
File metadata
- Download URL: databasemodels-1.3.7-py3-none-any.whl
- Upload date:
- Size: 27.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c571975f0dffd5ba4a05f7c452c7dfd281c3aff1ef1a1c31079ecab7eaceb7e4
|
|
| MD5 |
1e88a88d1e5ec59cc6eb4f2b2fbd42d8
|
|
| BLAKE2b-256 |
19e72eac434a6bcf20094931290c1171ad86aa2cf0625fff1d82870e0be49896
|