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.3.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.3.0
File Size Uploaded
docnet-0.3.0.tar.gz 56.2 kB Details

Built distribution (wheel)

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

Total release size: 84.9 kB

Release files / docnet-0.3.0.tar.gz

Download URL docnet-0.3.0.tar.gz
Size 56.2 kB
Tags Source
SHA-256 checksum
How to use checksums
6f955bb29b0f11bcf482cbc603319f8b12f3c73680ed67e3a43bd862b4760aa0
BLAKE2b-256 checksum
How to use checksums
c7c91316a98c9558fb2d69c18a87bba174f9ce50b4490820b0a69aabca767f18
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.3.0-py3-none-any.whl

Download URL docnet-0.3.0-py3-none-any.whl
Size 28.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4de5d7ee54098d92dd1858759e1db86426bc3a4cc2227c47b5cd958d46b5cb9a
BLAKE2b-256 checksum
How to use checksums
0ac454ebf6f5a0893bd447f2dec96ddcc86a7d6616ec15f888ce7cbc84f11d88
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

This release

0.3.0 This release

2 release files

0.2.0

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