Installation
Markdown-OS is distributed as a Python package on PyPI. You can install it usingpip or the modern uv package manager.
Requirements
Python Version
Python 3.11 or higher (3.11, 3.12, 3.13 tested)
Operating System
Linux, macOS, or Windows (with POSIX compatibility notes)
File locking uses POSIX
fcntl and is optimized for Linux/macOS. Windows users may need WSL for full compatibility.Install with pip
The standard Python package installer:markdown-os CLI command globally in your Python environment.
Using pipx (Recommended)
For isolated CLI tool installation:Install with uv (Recommended)
uv is a fast, modern Python package manager. It’s the recommended installation method for Markdown-OS.Install uv
If you don’t have uv installed:Install Markdown-OS
Use uv’s tool installer for clean, isolated installation:markdown-os command available globally.
The
uv tool install command is similar to pipx install but uses uv’s faster resolver and installer.Verify Installation
Check that Markdown-OS is installed correctly:Upgrading
Upgrade with pip
Upgrade with uv
Check the GitHub releases or PyPI page for the latest version.
Uninstalling
Uninstall with pip
Uninstall with uv
Dependencies
Markdown-OS automatically installs the following Python dependencies:| Package | Version | Purpose |
|---|---|---|
fastapi | ≥0.129.0 | Web framework for the server |
python-multipart | ≥0.0.22 | Multipart form parsing for image uploads |
typer | ≥0.23.1 | CLI framework |
uvicorn[standard] | ≥0.40.0 | ASGI server |
portalocker | ≥3.0.0 | Cross-platform file locking |
watchdog | ≥6.0.0 | File system monitoring |
websockets | ≥16.0 | WebSocket support for live sync |
Development Installation
If you want to contribute to Markdown-OS or run the development version:Running Tests
The project includes 61 async-compatible tests using pytest:Troubleshooting
Command Not Found
Ifmarkdown-os is not found after installation:
- Check your PATH: Ensure pip/uv’s bin directory is in your PATH
- Reinstall: Try uninstalling and reinstalling
- Use full path: Try
python -m markdown_os.cliinstead
Python Version Errors
Markdown-OS requires Python 3.11+. Check your version:Import Errors
If you see import errors, ensure all dependencies are installed:Port Already in Use
Markdown-OS defaults to port 8000 but auto-increments if occupied. Watch the CLI output for the actual URL:Platform-Specific Notes
macOS
macOS users should have no issues. The app opens your default browser automatically.
Linux
Linux users may see harmless dbus warnings when the browser auto-opens:Windows
Windows users should use WSL (Windows Subsystem for Linux) for best compatibility due to file locking differences:Cloud VMs and Remote Access
If running on a cloud VM or remote server, bind to0.0.0.0 to allow external access:
Next Steps
Quick Start Guide
Learn how to use Markdown-OS with real examples