datasette-horizontal-scroll
A Datasette plugin that adds a fixed horizontal scrollbar at the bottom of the viewport when a visible results table is wider than the screen. This makes it easier to horizontally navigate wide tables without needing to hit the native scrollbar on the table itself.
Installation
Install this plugin in the same environment as Datasette:
datasette install datasette-horizontal-scroll
This plugin depends on Datasette 0.58+ (it uses datasette.urls.static_plugins() for serving static assets).
Usage
Install the plugin and reload Datasette. On table, query, database, and row views, a bottom-of-viewport scrollbar will appear when the active table overflows horizontally.
This plugin serves its assets as packaged static files (CSS/JS) under Datasette's /-/static-plugins/ mechanism.
Development
Clone the repository and run the tests:
pip install -e ".[dev]"
pytest
If you use uv, you can equivalently run:
uv run pytest
Releasing / publishing to PyPI
This repository includes a GitHub Actions workflow that can publish releases to PyPI using Trusted Publishing.
Typical release flow:
- Bump the version in
pyproject.toml - Create and push a git tag (for example:
v0.1) - Create a GitHub Release for that tag (the publish workflow is triggered on
release: published)
Metadata
Release files for datasette-horizontal-scroll 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| datasette_horizontal_scroll-0.1.1.tar.gz | 10.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| datasette_horizontal_scroll-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.4 kB
Release files / datasette_horizontal_scroll-0.1.1.tar.gz
| Download URL | datasette_horizontal_scroll-0.1.1.tar.gz |
|---|---|
| Size | 10.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
629426781096c821923d4425a2b153b13969cd467581c80b7e05928026d2ad5f
|
|
BLAKE2b-256 checksum How to use checksums |
beb5c48d5791ff157ccfa1577cef232fa9b9b7c2255616bc3f6aebd202f1e2f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 22, 2026.
Transparency logRelease files / datasette_horizontal_scroll-0.1.1-py3-none-any.whl
| Download URL | datasette_horizontal_scroll-0.1.1-py3-none-any.whl |
|---|---|
| Size | 11.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b45a9477ad183dd220bb27a2305a95d3199a38aafac702309d5d458959fee395
|
|
BLAKE2b-256 checksum How to use checksums |
c7fddc1994b6f08d0fbd229fa4d7910909f3d444a7b969cb47c5e8d48b02b1e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Jan 22, 2026.
Transparency log