Easy storage handler
Project description
Ezstorge
[!CAUTION] Currently in development, not ready for use
A python ORM (Object-Relational Mapping) that allow to use a simple class syntax to interact with a database.
Why Ezstorge?
I needed to use a simple ORM to interact with a database, but I found that most of the existing ORMs are either too complex for a simple use case, and the migration tools are not always easy to setup and use.
-
Simple:
- The type of the field is defined by the type hint
- Has a simple query syntax similar to PonyORM
-
Flexible:
- Automatic table creation
- Automatic table update (add and remove fields)
- No need to use extra migration tools
-
Beautiful:
- Designed to be beautiful and easy to read.
- Fully typed, for better IDE support
[!NOTE] Inspired by PonyORM and Sqlalchemy
Example
import pandas as pd
import ezstorge as ez
db = ez.Sqlite("example.db")
@db.useTable("cars")
class Car(ez.Table):
model: str # Required string field
price: float # Required float field
miles: int = 0 # Default value if not provided
# Create, update, delete table
db.createTable(Car)
db.createTables()
db.updateTable(Car)
db.updateTables()
db.deleteTable(Car)
db.deleteTables()
car = Car(model="Tesla", price=100)
car.save() # Save the car
db.commit() # Commit the change
cars = Car.where() # Get all cars
print(cars)
# Use lambda to filter
cars = Car.where(lambda: Car.price > 20)
print(cars)
# Create a dataframe from the table
df = pd.DataFrame(users)
print(df)
Types
- int
- float
- str
- bool
- datetime
- date
- time
- timedelta
- list
- dict
- set
- tuple
- enum
- json
- bytes
- bytearray
- uuid
- Decimal
- Any
- Union
Providers
- Excel
- Sqlite
- Microsoft Access
- MySQL
- PostgreSQL
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 ezstorages-0.0.12.tar.gz.
File metadata
- Download URL: ezstorages-0.0.12.tar.gz
- Upload date:
- Size: 10.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10812b603a3fcb887223057f594973bbce0b0e92b591ab71c5ad497b675a5432
|
|
| MD5 |
cd396915f7fe5156c33687865b8665db
|
|
| BLAKE2b-256 |
b5dce1bf2697e963caf1f45bf54a3f60526e9cc3869d413e611b65f4ab96d8b8
|
File details
Details for the file ezstorages-0.0.12-py3-none-any.whl.
File metadata
- Download URL: ezstorages-0.0.12-py3-none-any.whl
- Upload date:
- Size: 12.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6364e74573356da961aa0bf65fd8b2e7b88781cbd553331da12baf7b9d4dbe60
|
|
| MD5 |
74d4ab6edb2b1adaa76b915b7aa9bdcc
|
|
| BLAKE2b-256 |
1271d1cd3e03cd67199cbff6cf09fa3c9f3ea9f761e9d2a80ed5f60da6ef731a
|