Skip to main content

scrolly

Compile a JSON5 deck into a single, self-contained, scrollable 2D-canvas HTML presentation.

Liked by humans; understood by agents.

scrolly — scroll-driven 2D-canvas presentations

CI PyPI Python License

Why it's different

  • A 2D canvas you fly around, not a linear reel. Slides sit on an integer grid connected by edges; readers zoom out to a deck map and zoom into any slide to scroll through it.
  • Scroll-driven keyframe animation. Element properties (position, size, opacity, scale, angle) interpolate as the reader scrolls — no timeline, no autoplay.
  • One self-contained HTML file. A default build inlines every asset into a single index.html with zero external loads — open it by double-clicking, host it anywhere, email it.
  • Agent-friendly. The CLI exposes full help, input schemas, deck introspection, and numbered error codes, so agentic coding tools immediately understand how to author and debug scrolly decks.

Installation

pip install scrolly        # or: uv tool install scrolly

Quickstart

scrolly init my-deck                                    # scaffold a starter deck
scrolly build my-deck/deck.deck.json --out out --force  # compile to one HTML file
open out/index.html                                     # double-click anywhere

A deck is a .deck.json manifest plus one .slide.json per slide (both parsed as JSON5):

// deck.deck.json
{
  title: "My Deck",
  slides: [
    { id: "intro", position: [0, 0], source: "slides/intro.slide.json" },
  ],
  edges: [],
}
// slides/intro.slide.json
{
  title: "My Deck",
  elements: [
    { markdown: "# My Deck\n\nWelcome to your new presentation." },
  ],
}

Elements

Slides hold elements of six types — markdown, image, image_sequence, mermaid, html, and iframe — each animatable via scroll-driven keyframes. See the element reference for fields and examples.

Learn more

License

MIT.

Metadata

Release files for scrolly 0.3.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scrolly 0.3.5
File Size Uploaded
scrolly-0.3.5.tar.gz 1.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for scrolly 0.3.5
File Interpreter ABI Platform
scrolly-0.3.5-py3-none-any.whl Python 3 none any Details

Total release size: 2.2 MB

Release files / scrolly-0.3.5.tar.gz

Download URL scrolly-0.3.5.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
cb3a520a0ec83532bbe62f87ba8bca6ce5d8f6df48e13870867e9d5ce9686f47
BLAKE2b-256 checksum
How to use checksums
da3f3b8b9c7c6c564e6e60216cbfed9b37dbb1cd05917b216bcd94bfc1bbe14d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 12, 2026.

Transparency log

Release files / scrolly-0.3.5-py3-none-any.whl

Download URL scrolly-0.3.5-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
acb0994c3ef0a1e474d825c407b50f4a696231725be41e14d534f81462e22ebb
BLAKE2b-256 checksum
How to use checksums
d988ee60f8b83076d87c98dcac9688a2d9860521b03536be66368f7cfc7a50ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jun 12, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.5 This release

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page