Skip to main content

Some templating for streamlit and sqlalchemy

Project description

Streamlit SQLAlchemy Integration

Overview

streamlit_sqlalchemy is a Python module that provides seamless integration between Streamlit and SQLAlchemy models. It simplifies the process of creating, updating, and deleting database objects through Streamlit's user-friendly interface.

Features

  • Easy Initialization: Initialize the SQLAlchemy engine with a simple method call.
  • CRUD Operations: Create, read, update, and delete operations are streamlined with minimal code.
  • Dynamic Forms: Automatically generate forms for creating and updating database objects.
  • Tabbed Interface: Organize CRUD operations in a tabbed interface for better user experience.
  • Foreign Key Support: Easily handle foreign key relationships in forms.

Installation

pip install streamlit_sqlalchemy

Usage

  1. Initialize the Engine:

    from streamlit_sqlalchemy import StreamlitAlchemyMixin
    
    # Create your SQLAlchemy model
    class YourModel(Base, StreamlitAlchemyMixin):
        __tablename__ = "your_model"
    
        id = Column(Integer, primary_key=True)
        # Other fields
    
    # Initialize the engine
    StreamlitAlchemyMixin.st_initialize(engine)
    
  2. CRUD Tabs:

    YourModel.st_crud_tabs()
    
  3. Customization:

    Customize the behavior by overriding methods in your model.

    class CustomModel(YourModel):
        # Override methods as needed
    

Example

import streamlit as st
from sqlalchemy import create_engine, Column, String, Integer
from sqlalchemy.ext.declarative import declarative_base
from streamlit_sqlalchemy import StreamlitAlchemyMixin

Base = declarative_base()

class ExampleModel(Base, StreamlitAlchemyMixin):
    __tablename__ = "example"

    id = Column(Integer, primary_key=True)
    name = Column(String)

# Initialize the engine
engine = create_engine("sqlite:///example.db")
ExampleModel.st_initialize(engine)

# Create CRUD tabs
ExampleModel.st_crud_tabs()

Documentation

The project documentation is currently under development. Meanwhile, you can explore the provided example.

Contributing

We welcome contributions! See our contribution guidelines for more details.

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

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

streamlit_sqlalchemy-0.0.5.tar.gz (50.0 kB view hashes)

Uploaded Source

Built Distribution

streamlit_sqlalchemy-0.0.5-py3-none-any.whl (9.9 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