WebGrid
Introduction
WebGrid is a datagrid library for Flask and other Python web frameworks designed to work with SQLAlchemy ORM entities and queries.
With a grid configured from one or more entities, WebGrid provides these features for reporting:
-
Automated SQL query construction based on specified columns and query join/filter/sort options
-
Renderers to various targets/formats
- HTML output paired with JS (jQuery) for dynamic features
- Excel (XLSX)
- CSV
-
User-controlled data filters
- Per-column selection of filter operator and value(s)
- Generic single-entry search
-
Session storage/retrieval of selected filter options, sorting, and paging
Installation
Install via pip or uv:
# Just the package
pip install webgrid
uv pip install webgrid
# or, preferably in a uv project:
uv add webgrid
Some basic internationalization features are available via extra requirements:
pip install webgrid[i18n]
uv pip install webgrid[i18n]
# or, preferably in a uv project:
uv add webgrid --extra i18n
Getting Started
For a quick start, see the Getting Started guide in the docs.
Links
Dev
Copier Template
Project structure and tooling mostly derives from the Coppy, see its documentation for context and additional instructions.
This project can be updated from the upstream repo, see Updating a Project.
Project Setup
From zero to hero (passing tests that is):
-
Ensure host dependencies are installed
-
Start docker service dependencies (if needed):
❯ docker compose config --services mssql pg ❯ docker compose up -d ... -
Sync project virtualenv w/ lock file:
uv sync -
Configure pre-commit:
pre-commit install -
Install mssql driver if intending to run mssql tests
mise odbc-driver-install -
View sessions then run sessions:
❯ nox --list # all sessions ❯ nox # selected sessions ❯ nox -e ...
Versions
Versions are date based. A bump action exists to help manage versions:
# Show current version
mise bump --show
# Bump version based on date, tag, and push:
mise bump
# See other options
mise bump -- --help
PyPI Publishing
PyPI publishing is automated in the nox.yaml GitHub action:
- "v" tags will publish to pypi.org (production)
- Anything else that triggers the Nox GH action will publish to test.pypi.org
Auth for test.pypi.org is separate from production so users who should be able to manage the PyPI project need to be given access in both systems.
Documentation
The RTD project will automatically build on pushes to master.
Metadata
Release files for WebGrid 0.20250807.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| webgrid-0.20250807.2.tar.gz | 266.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| webgrid-0.20250807.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 369.7 kB
Release files / webgrid-0.20250807.2.tar.gz
| Download URL | webgrid-0.20250807.2.tar.gz |
|---|---|
| Size | 266.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
314f84e75c47381c7088a8af8c2c79b71307985623a6dd76b22ab46246d04285
|
|
BLAKE2b-256 checksum How to use checksums |
408fabb10af4d0f8945258f9db4b254bf265c489f7d0ae1f88467c892cfdb8b7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 7, 2025.
Transparency logRelease files / webgrid-0.20250807.2-py3-none-any.whl
| Download URL | webgrid-0.20250807.2-py3-none-any.whl |
|---|---|
| Size | 103.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
93bbcd4b8db32361631547bd4a5d7d064d3ec47103f3f0bc2946f8494984aa78
|
|
BLAKE2b-256 checksum How to use checksums |
bb181848fa42a20bb76aa1d2537c77cd5f3e3174ac75d0305df60f34666055f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 7, 2025.
Transparency log