Skip to main content

Markdown-OS

PyPI version

Developer-focused markdown editor that runs as a local web server. Edit in the browser with live preview, Mermaid diagrams, syntax highlighting, and auto-save.

Desktop installers for macOS and Windows are published from GitHub Releases. The desktop app bundles the local server and opens with a picker-first workflow, so users do not need Python or a terminal after installation.

Install

pip install markdown-os

Or with uv:

uv tool install markdown-os

To upgrade after installing with uv: uv tool upgrade markdown-os

Desktop app

Download the latest desktop installers from GitHub Releases:

  • macOS: .dmg
  • Windows: .exe

The desktop app keeps the same editor UI, but launches in a native desktop shell with recent files/folders and native open dialogs.

Usage

Single file:

markdown-os open ./notes.md

Directory (markdown workspace):

markdown-os open ./my-notes

The app opens in your browser. If port 8000 is in use, the next port is tried. Options: --host, --port.

Example file

Generate a showcase markdown file:

markdown-os example                    # creates example.md in current directory
markdown-os example ./docs/showcase.md # custom path
markdown-os example --open             # generate and open in the editor

Use --force / -f to overwrite an existing file without prompting.

Publishing (maintainers)

Use the release helper from a clean working tree on the branch you want to publish (usually master):

uv run python scripts/release.py

It reads [project].version from pyproject.toml, asks whether to bump major, minor, or patch, updates the file, then runs git add / git commit (only pyproject.toml) / git push -u origin <current-branch> / annotated git tag / git push origin <tag>.

Useful options:

  • --dry-run — print the planned version and git steps without changing files or running git.
  • -y / --yes — skip the final confirmation prompt.
  • --version X.Y.Z — set an exact version string and skip the bump menu.
  • --branch master — push a specific branch (defaults to your current branch).
  • --repo /path/to/checkout — run against another clone.
  • --allow-dirty — proceed when other files are modified (still only commits pyproject.toml).

Manual sequence (equivalent when you are on master):

  1. Bump version in pyproject.toml.
  2. Commit and push: git add pyproject.toml && git commit -m "chore: release X.Y.Z" && git push origin master
  3. Tag and push: git tag -a vX.Y.Z -m "Release X.Y.Z" && git push origin vX.Y.Z

The GitHub workflow runs on tag push and publishes to PyPI only when the tag matches the package version.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

markdown_os-1.3.0.tar.gz (15.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

markdown_os-1.3.0-py3-none-any.whl (2.5 MB view details)

Uploaded Python 3

File details

Details for the file markdown_os-1.3.0.tar.gz.

File metadata

  • Download URL: markdown_os-1.3.0.tar.gz
  • Upload date:
  • Size: 15.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for markdown_os-1.3.0.tar.gz
Algorithm Hash digest
SHA256 d196476881df7b396b9b98d8fcb4e4840b1ebe88b2cff31ddddb2b71aea644f1
MD5 86e73d162ae8e04b4e3e3606ccd5b101
BLAKE2b-256 1207995530e4eb22dd76e2358767566ed7ab2d696d4fdfcc7da44433ee632641

See more details on using hashes here.

Provenance

The following attestation bundles were made for markdown_os-1.3.0.tar.gz:

Publisher: publish.yml on elena-cabrera/markdown-os

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file markdown_os-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: markdown_os-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for markdown_os-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 86bbeb6f4d4de4c03c0419d86be5baac03fe01e07f3ff140a6b811d14edb0178
MD5 eda9383dec188e9db1374c615013be94
BLAKE2b-256 3bd10d024d282bd2f8088bdedfb6e92356e5d15996c2558b3b713ea849db8814

See more details on using hashes here.

Provenance

The following attestation bundles were made for markdown_os-1.3.0-py3-none-any.whl:

Publisher: publish.yml on elena-cabrera/markdown-os

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 files

1.2.0

2 files

1.1.1

2 files

1.1.0

2 files

1.0.0

2 files

0.9.20

2 files

0.9.19

2 files

0.9.18

2 files

0.9.17

2 files

0.9.15

2 files

0.9.14

2 files

0.9.13

2 files

0.9.12

2 files

0.9.11

2 files

0.9.10

2 files

0.9.9

2 files

0.9.8

2 files

0.9.7

2 files

0.9.6

2 files

0.9.5

2 files

0.9.4

2 files

0.9.3

2 files

0.9.2

2 files

0.8.0

2 files

0.7.4

2 files

0.7.3

2 files

0.7.2

2 files

0.7.1

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.3

2 files

0.4.1

2 files

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.0

2 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