dataclassessql 0.3.0
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
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.