starlette-admin is a comprehensive admin interface library for Starlette and FastAPI applications, providing auto-generated CRUD views with search, sorting, filtering, inline editing, batch actions, import/export, and a widget-based dashboard system. It is designed as an ASGI middleware that mounts onto a Starlette app, using Jinja2 templating, itsdangerous for cookie signing, and python-multipart for file uploads. The architecture is backend-agnostic: the core defines abstract interfaces for model views, fields, filters, storage, and authentication, while optional ORM integrations (SQLAlchemy, SQLModel, Beanie, MongoEngine, Tortoise) provide concrete implementations. The library also includes a plugin and theme system, internationalization (Babel), CSRF protection, flash messages, and a full event lifecycle for audit and custom logic. It is a pure application libraryβno data research or analytics components.
This repository is a Laravel package that provides a server-side processing engine for jQuery DataTables. It handles AJAX requests from DataTables, performing searching, sorting, pagination, and column formatting on data sourced from Eloquent ORM, Query Builder, or in-memory collections. The architecture uses a factory pattern (DataTables class) to select the appropriate engine (EloquentDataTable, QueryDataTable, CollectionDataTable, PaginatorDataTable, ApiResourceDataTable) based on the source type. Each engine extends the abstract DataTableAbstract class, which defines the common workflow: count total records, apply global and column filters, order, paginate, fetch results, process rows (add/edit columns, format), and render a JSON response. The package integrates deeply with Laravel's service container and configuration system, and includes support for eager-loaded relations, complex query counting, and optional full-text search via Laravel Scout. The codebase is well-structured, extensively tested, and follows modern PHP practices.
ITables is a Python library that transforms Pandas, Polars, and other DataFrame libraries into interactive, sortable, and filterable HTML tables using the DataTables.js library. It integrates seamlessly with Jupyter Notebook/Lab, VS Code, Colab, Quarto, and web frameworks like Dash, Streamlit, Shiny, and Panel. The architecture is a thin Python wrapper that generates HTML/JavaScript snippets, with a bundled JavaScript package (dt_for_itables) containing DataTables and its extensions. Key entry points include `itables.show()`, `itables.init_notebook_mode()`, and framework-specific components (e.g., `itables.dash.ITable`). Data flows from DataFrame to JSON serialization (with special handling for floats, categories, and large integers) to HTML template injection. External dependencies include DataTables.js (via CDN or offline bundle), optional Narwhals for multi-backend support, and framework-specific packages (Dash, Streamlit, etc.). The library also provides fallback static HTML and Markdown table rendering for environments without JavaScript.