Skip to main content

oriel

Turn any folder of Markdown into a beautiful website — instantly.

CI Python 3.11+ License: MIT

oriel rendering a folder of agent output as a live site — nav, prose, KaTeX math, and an inline figure

pip install oriel
oriel serve .        # live site → http://127.0.0.1:18787
oriel build .        # or freeze to ./dist to publish

Every Markdown file becomes a page, images become a gallery, and edits refresh the browser on their own. It looks like a publication, not a file listing — with no build step, no front matter, no config.

Why not MkDocs / markserv / GitHub?

oriel MkDocs · Quarto markserv GitHub
No build, no config ✅ ❌ ✅ ✅
Live on every refresh ✅ ~ ✅ ❌
Looks like a publication ✅ ✅ ❌ ~
Figures wall + dashboards ✅ ~ ❌ ❌
Obsidian [[wikilinks]] ✅ ❌ ❌ ❌
One pip install, static export ✅ ✅ ❌ —

oriel is the middle that was missing: a tiny read-only server you keep running next to a folder.

What you get

📂 Any folder → a site. Loose Markdown at the top level and subfolders both show up; a root README.md is the home page; images become a gallery. Obsidian vaults and agent dumps work as-is.

✍️ Real Markdown. Syntax-highlighted code with copy buttons, KaTeX math in $…$ or \(…\), tables, an auto table-of-contents, and GitHub-style > [!NOTE] callouts.

🔗 Obsidian & agent-native. [[wikilinks]] / ![[embeds]] resolve, dated notes (YYYY-MM-DD_*.md) become a browsable journal, generated plots collect into a figures wall.

⚡ Live & self-contained. Edits auto-refresh the browser — no manual reload; KaTeX is cached locally so math works offline; light/dark themes with a toggle and six presets.

📊 Dashboards via plugins. Drop in an oriel_plugins.py for custom pages — the bundled example adds run-manifest and LLM-spend dashboards.

🚀 Publish anytime. oriel build freezes everything to static HTML — figures and KaTeX bundled, search still works (client-side index) — ready for GitHub Pages.

Publish (static export)

oriel build .                    # → ./dist, ready to deploy
oriel build docs --base /oriel   # subpath hosting (e.g. project GitHub Pages)

URLs stay identical, math renders offline (bundled KaTeX), and search keeps working via a client-side index. A .nojekyll ships for GitHub Pages.

Configure (optional)

Zero config works. To customize, drop an oriel.toml at the folder root:

title   = "My Notes"
preset  = "ocean"          # terracotta · newsprint · forest · ocean · plum · rose
landing = "guide/intro.md"

…or pick a look from the CLI: oriel serve . --theme forest. Every key is in examples/oriel.toml and the docs.

Plugins

A plugin is a register(site) function that adds pages:

def register(site):
    @site.page("/status", "status")
    def status():                       # return an HTML body; oriel adds the chrome
        return site.markdown((site.root / "STATUS.md").read_text())

See examples/oriel_plugins.py for a real one.

Security

oriel is a read-only viewer with a shared-secret key — for a personal machine, an SSH tunnel, or behind a reverse proxy, not a public unauthed service on plain HTTP. See SECURITY.md.

Develop

pip install -e ".[dev]"
make dev      # serve ./docs locally (theme gallery, live reload)
make test     # pytest
make lint     # ruff

make help lists every target. The full docs in docs/ are themselves an oriel site.


An oriel is a bay window that projects out from a wall for a wider view — a window onto a folder.

MIT — see LICENSE.

Metadata

Release files for oriel 0.1.0

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

Source distribution (sdist)

Source distribution for oriel 0.1.0
File Size Uploaded Provenance Actions
oriel-0.1.0.tar.gz 172.2 kB Without provenance Details for oriel-0.1.0.tar.gz

Built distribution (wheel)

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

Total release size: 219.9 kB

Release files / oriel-0.1.0.tar.gz

Download URL oriel-0.1.0.tar.gz
Size 172.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b89091bffc6329c4b8ac47344d9bd6bf0d186d23ce04454503f7126f7ec6d58a
BLAKE2b-256 checksum
How to use checksums
e7715dfb6b6329520be89e0c0cfcaad70466701c6553844c78973aa63f6530c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.30 {"installer":{"name":"uv","version":"0.11.30","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 / oriel-0.1.0-py3-none-any.whl

Download URL oriel-0.1.0-py3-none-any.whl
Size 47.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3ba2cdfb49f4762502534ffe9cf895dee67d49b570a30a6a22acb8252a2fa793
BLAKE2b-256 checksum
How to use checksums
b0761ff2002512e6d25207b20353d506242830b49591a711c8d5e0ded55ffc9e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.30 {"installer":{"name":"uv","version":"0.11.30","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}

Security for oriel 0.1.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

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