Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

yom

yom is a local web viewer for Markdown trees. It scans a directory, renders .md files, and serves them in a sidebar-based browser UI with live reload.

Features

  • Recursively discovers Markdown files
  • Shows a file tree in the sidebar
  • Renders Markdown as HTML
  • Resolves relative links and image paths inside Markdown
  • Watches for file changes and updates the browser automatically
  • Starts a local server with a single command

Installation

Install from PyPI:

pip install yom

If you use uv, you can also run it without a manual virtual environment step:

uv tool install yom

Quick Start

Serve the current directory:

yom .

Serve a specific directory:

yom /path/to/docs

By default, yom starts a local server on http://127.0.0.1:8000 and opens it in your browser.

Usage

yom /path/to/docs --host 127.0.0.1 --port 8000 --interval 0.7 --title "My docs"

Options available through yom --help:

  • root: directory to scan
  • --host: bind host
  • --port: bind port
  • --interval: polling interval for change detection, in seconds
  • --no-watch: disable file watching
  • --watch-mode {auto,poll,watchdog}: choose the watch backend
  • --title: browser window title
  • --no-open: disable automatic browser launch on startup
  • --markdown-extension NAME: enable an additional Markdown extension
  • --no-default-extensions: disable the built-in Markdown extensions

Enable an extra Markdown extension:

yom /path/to/docs --markdown-extension admonition

--markdown-extension does not enable a yom-specific feature. It passes an additional extension name through to the underlying Python-Markdown renderer. For example, admonition enables admonition block syntax supported by Python-Markdown.

By default, yom enables fenced_code, tables, toc, and sane_lists. Use --no-default-extensions if you want to start from an empty extension set and opt in only to the extensions you need.

Run with the minimal Markdown configuration:

yom /path/to/docs --no-default-extensions

Relative Paths

  • Markdown links such as ./other.md and ../guide.md are converted into in-app navigation
  • Image paths such as ./image.png are served as local assets
  • References that point outside the scanned directory tree are left unresolved

Watch Behavior

To disable file watching:

yom /path/to/docs --no-watch

To force the watchdog backend:

yom /path/to/docs --watch-mode watchdog

To disable automatic browser opening:

yom /path/to/docs --no-open

Development

For local development with the repository checked out:

uv sync --group dev
make test
make ci-check

The Japanese translation is available at README.ja.md.

Metadata

Release files for yom 0.1.0a0

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

Source distribution (sdist)

Source distribution for yom 0.1.0a0
File Size Uploaded Provenance
yom-0.1.0a0.tar.gz 21.2 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 40.3 kB

Release files / yom-0.1.0a0.tar.gz

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

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

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