dataclasses-sql
Using dataclasses with SQL databases.
Examples:
import dataclasses
import sqlalchemy
import dataclasses_sql
@dataclasses.dataclass
class Car:
brand: str = dataclasses.field(metadata={"key": True})
model: str = dataclasses.field(metadata={"key": True})
milage: float
# Connect to database
engine = sqlalchemy.create_engine("sqlite:///:memory:")
metadata = sqlalchemy.MetaData(engine)
metadata.reflect()
# Insert
car = Car("Kia", "Ceed", 15678)
dataclasses_sql.insert(metadata, car, check_exists=True)
car = Car("Ford", "Mustang", 4032)
dataclasses_sql.insert(metadata, car, check_exists=True)
# Select
builder = dataclasses_sql.SelectStatementBuilder()
builder.add_column(Car, "mileage")
builder.add_clause(Car, "brand", "Kia")
statement = builder.build()
with metadata.bind.begin() as conn:
row = conn.execute(statement).fetchone()
print(row)
Installation
Easiest way to install using pip:
pip install dataclasses-sql
For development installation from the git repository::
git clone git@github.com/ppinard/dataclasses-sql.git
cd dataclasses-sql
pip install -e .
Release notes
0.3
- Add delete function
0.2
- Add update function
Contributors
License
The library is provided under the MIT license license.
Copyright (c) 2020, Philippe Pinard
Metadata
Release files for dataclasses-sql 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dataclasses-sql-0.3.0.tar.gz | 24.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dataclasses_sql-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 38.3 kB
Release files / dataclasses-sql-0.3.0.tar.gz
| Download URL | dataclasses-sql-0.3.0.tar.gz |
|---|---|
| Size | 24.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
15ea499f3b1a36c737b8faf4c543de0570dc10e595cbd865f08be4a0ce14e1e1
|
|
BLAKE2b-256 checksum How to use checksums |
13d18f5d6679572af2afb6b5e716bfb0c2285e74be7c3d2e23c34cb6b551f748
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2.post20191203 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.7.4
|
Release files / dataclasses_sql-0.3.0-py3-none-any.whl
| Download URL | dataclasses_sql-0.3.0-py3-none-any.whl |
|---|---|
| Size | 14.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
12741b947d7c43bcd6d0972fde7b4dcba3c99ea6e5e5103424d994307c82b2a7
|
|
BLAKE2b-256 checksum How to use checksums |
18b37577fc93a2bb67c9d24b0c1a24f68e38195077339dcfd1059456b8be807a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2.post20191203 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.7.4
|