Giter VIP home page Giter VIP logo

sqladmin-litestar's Introduction

Build Status Publish Status Coverage Package version Supported Python versions


SQLAlchemy Admin for Litestar

SQLAdmin is a flexible Admin interface for SQLAlchemy models.

Main features include:


Documentation: https://aminalaee.dev/sqladmin

Source Code: https://github.com/cemrehancavdar/sqladmin-litestar

Original Source Code: https://github.com/aminalaee/sqladmin

Online Demo: Demo


Installation

Install using pip:

$ pip install sqladmin-litestar

This will install the full version of sqladmin with optional dependencies:

$ pip install "sqladmin-litestar[full]"

Screenshots

sqladmin-1

sqladmin-2

Quickstart

Let's define an example SQLAlchemy model:

from sqlalchemy import Column, Integer, String, create_engine
from sqlalchemy.orm import declarative_base


Base = declarative_base()
engine = create_engine(
    "sqlite:///example.db",
    connect_args={"check_same_thread": False},
)


class User(Base):
    __tablename__ = "users"

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


Base.metadata.create_all(engine)  # Create tables

If you want to use SQLAdmin with Litestar:

from litestar import Litestar
from sqladmin import Admin, ModelView


app = Litestar()
admin = Admin(app, engine)


class UserAdmin(ModelView, model=User):
    column_list = [User.id, User.name]


admin.add_view(UserAdmin)

Now visiting /admin on your browser you can see the SQLAdmin interface.

Differences between SQLAdmin and SQLAdmin-Litestar

  1. Working with Custom Views

SQLAdmin-Litestar templates works sync, and handlers should be annotated.

 @expose("/report", methods=["GET"])
 async def report_page(self, request):
     return await self.templates.TemplateResponse(request, "report.html")
should be changed to
 @expose("/report", methods=["GET"])
 async def report_page(self, request) -> str:
     return self.templates.TemplateResponse(request, "report.html")

Related projects and inspirations

  • SQLAdmin The original SQLAdmin Repository
  • Flask-Admin Admin interface for Flask supporting different database backends and ORMs. This project has inspired SQLAdmin extensively and most of the features and configurations are implemented the same.
  • FastAPI-Admin Admin interface for FastAPI which works with TortoiseORM.
  • Dashboard Admin interface for ASGI frameworks which works with the orm package.

sqladmin-litestar's People

Contributors

aminalaee avatar dependabot[bot] avatar cemrehancavdar avatar dwreeves avatar okapies avatar ischaojie avatar agn-7 avatar murrple-1 avatar cuamckuu avatar colin99d avatar gitbib avatar wiradkp avatar rossmacarthur avatar uriyyo avatar dexter-dopping-ekco avatar toshakins avatar anton-petrov avatar timoniq avatar art1415926535 avatar brouberol avatar conradogarciaberrotaran avatar dima23113 avatar essaalshammri avatar griceturrble avatar enotshow avatar j123b567 avatar jonocodes avatar kostyaten avatar linomp avatar ncarvajalc avatar

Stargazers

 avatar  avatar Ryan Seeley avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.