Skip to main content

A very simple CRUD class for SQLModel! :sparkles:

Project description

basesqlmodel

Latest Commit
Package version

A very simple CRUD class for SQLModel! :sparkles:

Installation

pip install basesqlmodel

Usage

import asyncio

from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
from sqlalchemy.orm import sessionmaker
from sqlmodel import Field

from basesqlmodel import Base

engine = create_async_engine("sqlite+aiosqlite:///:memory:")
SessionLocal = sessionmaker(engine, expire_on_commit=False, class_=AsyncSession)


class Potato(Base, table=True):
    id: int = Field(primary_key=True)
    name: str


async def main():
    # Create tables
    async with engine.begin() as conn:
        await conn.run_sync(Base.metadata.create_all)

    # Interact with the Potato table
    async with SessionLocal() as session:
        obj = await Potato.create(session, name="Potato")
        print(f"Potato created: {repr(obj)}")

        obj = await Potato.get(session, name="Potato")
        print(f"Potato retrieved: {repr(obj)}")

        await obj.update(session, name="Fake Potato")
        print(f"Potato updated: {repr(obj)}")

        await Potato.delete(session, name="Fake Potato")
        print(f"Potato deleted: {repr(obj)}")

        objs = await Potato.get_multi(session)
        print(f"Confirm that the database is empty: {objs}")


asyncio.run(main())

License

This project is licensed under the terms of the MIT license.

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

basesqlmodel-0.1.0.tar.gz (4.1 kB view details)

Uploaded Source

Built Distribution

basesqlmodel-0.1.0-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file basesqlmodel-0.1.0.tar.gz.

File metadata

  • Download URL: basesqlmodel-0.1.0.tar.gz
  • Upload date:
  • Size: 4.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.8 CPython/3.9.7 Linux/5.11.0-34-generic

File hashes

Hashes for basesqlmodel-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b9ae90978d0f78019007f3ba4de890c5abe3a4defc5720ab4066606ae74fdb4b
MD5 c249a90559b152e60b3de08ba7213722
BLAKE2b-256 db75538c05ed7564b3e63749738491e7330373f5dc48990903a6adafcae1484c

See more details on using hashes here.

File details

Details for the file basesqlmodel-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: basesqlmodel-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.8 CPython/3.9.7 Linux/5.11.0-34-generic

File hashes

Hashes for basesqlmodel-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c85b9a66d769b1e8e4fe96eed93f0d81e985643cdcf955eaf25aee5fa5380ee3
MD5 08ac4900a109dc3f1ad40008b42b5729
BLAKE2b-256 9cf99c46c7f60f77ee5f8ecb14f8d60e75fef9fd16272248db33dee637149869

See more details on using hashes here.

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