Skip to main content

DocNet

Instant local file wiki. Point it at any folder and get a clean, searchable browser for all your files.

pip install docnet
docnet ~/notes

Features

  • Zero config — just run it in a directory
  • Multi-filetype — markdown, code (20+ languages), CSV, JSON, images, PDFs
  • HTML rendering — .html files render live, with a toggle to view source
  • Live reload — edit a file on disk and the open page refreshes itself
  • Reader mode — hide the sidebar for a clean, website-like view (--reader or the ☰ button)
  • Full-text search — search filenames and file content with highlighted snippets
  • 5 themes — light, dark, ocean, forest, rose
  • Recent pages — sidebar tracks what you've visited
  • Quality of life — copy buttons on code blocks, hover anchors on headings, per-file download
  • Safe — path traversal protection, never serves files outside the target directory

Usage

docnet                        # serve current directory
docnet ~/notes                # serve a specific folder
docnet ~/notes -p 8080        # custom port
docnet ~/notes --host 0.0.0.0 # expose on local network (share with phone etc.)
docnet ~/notes --reader       # start with the sidebar hidden (website-like)
docnet ~/notes --no-browser   # don't auto-open browser
docnet --version

File support

Type Extensions
Markdown .md (with mermaid diagrams)
Code .py .js .ts .jsx .tsx .rs .go .java .c .cpp .rb .php .swift .kt .sh .css .scss
Web .html .htm (rendered live, with source toggle)
Data .json .yaml .toml .csv
Images .png .jpg .gif .webp .svg
Documents .pdf .txt .log

Run from Python

Instead of the CLI, you can launch DocNet from a script:

from docnet import serve

serve("~/notes", port=8080, reader=True)   # blocks until Ctrl+C

serve() accepts directory, port, host, reader, open_browser, and debug. Pass open_browser=False to skip auto-opening a tab (e.g. headless).

Need the raw Flask app (for gunicorn/uWSGI or tests)? Use the factory:

from docnet import create_app

app = create_app("~/notes")   # a standard Flask app

Home page

If a Home.md exists in the directory it's shown on launch. Otherwise an auto-generated index of all files is shown.

Install from source

git clone https://github.com/yourname/docnet
cd docnet
pip install -e .

License

MIT

Release files for docnet 0.2.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 docnet 0.2.0
File Size Uploaded
docnet-0.2.0.tar.gz 56.2 kB Details

Built distribution (wheel)

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

Total release size: 84.8 kB

Release files / docnet-0.2.0.tar.gz

Download URL docnet-0.2.0.tar.gz
Size 56.2 kB
Tags Source
SHA-256 checksum
How to use checksums
64f0e2e4bfcec25da57ae00bb778b8a6da004e72099df580c3ca21217d13b617
BLAKE2b-256 checksum
How to use checksums
8d40a004043a25405bd1b976d3471ba52f3bf174d481849635552c560130e9b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release files / docnet-0.2.0-py3-none-any.whl

Download URL docnet-0.2.0-py3-none-any.whl
Size 28.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e181060f1f088e3a5d78835e6ed0a081cb2619b9d6fdb573687b4ad21ae613a3
BLAKE2b-256 checksum
How to use checksums
20f3eacabe729becf9a3a460e75526e0078c8d89edcc9022af0a116d49e820a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release history Release notifications | RSS feed

0.3.0

2 release files

This release

0.2.0 This release

2 release files

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