Skip to main content

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


Download files

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

Source Distribution

ezstorages-0.0.12.tar.gz (10.4 kB view hashes)

Uploaded Source

Built Distribution

ezstorages-0.0.12-py3-none-any.whl (12.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page