Skip to main content

Dorothea

CI Tests Coverage Code Code + tests PyPI Python Docs License

Dorothea is a static site generator for photography websites, primarily photo essays.

It is a port to Python of Jack Qiao's wonderful Exposé project (originally in bash). It keeps adding fixes and features, but with --legacy it's output-compatible* with Exposé, and our integration tests check that on each commit.

*=Resized photos come from Pillow rather than ImageMagick, so their bytes differ slightly (their sizes match).

Documentation: dorothea.readthedocs.io, including a configuration reference and a guide for migrating from expose.sh.

What is it

If you're a photographer, you probably come back home from a trip and end up with photos that look like this:

a bunch of images in a single folder

Dorothea turns those folders into a website, resizing the photos and encoding the videos for the web. Sub-folders become galleries, and a text file next to a photo becomes its caption. Two themes are included: photoessay, with full-screen photos and text over them, and medium, with text in a column between the photos (themes).

Quick start

Dorothea runs on Linux, macOS and Windows with Python 3.14+; everything it needs installs with it, ffmpeg included. With uv:

cd ~/my-trip-to-ecuador
uvx dorothea            # builds the site into ./_site
uvx dorothea serve      # or build, then preview it at http://localhost:8000/

Put the _site folder on any web server that serves static files. Other ways to install (uv tool install, pipx) are in the getting started guide.

Why a Python port of Exposé

I wanted to start addressing some of the pain points with the original package, branch out to new themes and tweaks, and found maintaining my own fork in Bash to be less work than porting it to Python, thanks to today's AI-assisted coding tools.

Metadata

Release files for dorothea 1.9.4

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

Source distribution (sdist)

Source distribution for dorothea 1.9.4
File Size Uploaded
dorothea-1.9.4.tar.gz 6.3 MB Details

Built distribution (wheel)

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

Total release size: 6.6 MB

Release files / dorothea-1.9.4.tar.gz

Download URL dorothea-1.9.4.tar.gz
Size 6.3 MB
Tags Source
SHA-256 checksum
How to use checksums
74614a82358cacbf4baf92f694514a4ea8ca3b58e11d82dc09c427684b672630
BLAKE2b-256 checksum
How to use checksums
87c180a838fede875eae349c9cb2a14ea8c3897a83b67f6c94c3e40bf64faa6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / dorothea-1.9.4-py3-none-any.whl

Download URL dorothea-1.9.4-py3-none-any.whl
Size 253.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a2c17e753e3d2c53b7ee16f6f7b8f646264cd47447538b2d3c872de56f30f4b5
BLAKE2b-256 checksum
How to use checksums
dd9d62589dcba0ea194ad933d2eccb7b980289340aae2e74b9200830ab6b7273
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

1.9.5

2 release files

This release

1.9.4 This release

2 release files

1.9.3

2 release files

1.9.2

2 release files

1.9.1

2 release files

1.9.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