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.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 dorothea 1.9.5
File Size Uploaded
dorothea-1.9.5.tar.gz 6.4 MB Details

Built distribution (wheel)

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

Total release size: 6.7 MB

Release files / dorothea-1.9.5.tar.gz

Download URL dorothea-1.9.5.tar.gz
Size 6.4 MB
Tags Source
SHA-256 checksum
How to use checksums
df71d70b4fccc24037a260b2e8e26a845b53710e166e218d3a74d85b85d50e14
BLAKE2b-256 checksum
How to use checksums
a455d0db3665e7afc38b30387da3d12dc4734e05a0a8a245523dbd3307606574
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.5-py3-none-any.whl

Download URL dorothea-1.9.5-py3-none-any.whl
Size 268.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b3f97e251a42d8567ee876f1459ecd9346a1779c67b8b2dd42cd09a775c45b4b
BLAKE2b-256 checksum
How to use checksums
fea078a2fdd31cd82ea40f143310aafc0426d4b08079779f09e9ceb44a4ddb69
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

This release

1.9.5 This release

2 release files

1.9.4

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