Skip to main content

docs-hub

Scans one or more root folders for .html/.md files that live under a docs/ or reports/ folder (at any depth), converts the Markdown ones to HTML, and builds a single browsable index grouped by top-level repo/folder. Runs locally on your own machine only — no hosting, no accounts, no data leaves your filesystem.

Install

pipx install .          # from this directory, or `pipx install docs-hub` once published
# or, in a venv:
pip install .

Quick start

docs-hub config set roots=/path/to/your/projects
docs-hub scan            # one-off run
docs-hub ui              # http://127.0.0.1:5000 — dashboard, settings, cron

The web UI lets you:

  • Dashboard — see last scan info and open the generated index.
  • Settings — pick which root folder(s) to scan, which folder names count as "docs"/"reports", and which directories to skip.
  • Cron — see whether a scheduled scan is installed, and install/update/ remove it. This writes to your real user crontab, tagged with a # docs-hub-scan marker comment so it only ever touches its own job — your other cron jobs are left alone.

Config lives at ~/.config/docs-hub/config.json (or your platform's config-dir equivalent); generated output lives under ~/.local/share/docs-hub by default.

CLI reference

docs-hub scan [--root PATH ...]
docs-hub ui [--port 5000] [--host 127.0.0.1]
docs-hub config show
docs-hub config set KEY=VALUE [KEY=VALUE ...]   # comma-separate list values
docs-hub cron install [--schedule "0 * * * *"]
docs-hub cron remove
docs-hub cron status

Migrating from the old standalone generate.py

This repo previously shipped a single hardcoded script (generate.py) with a raw crontab entry pointing at it directly. To move to the packaged version:

pip install -e .                                    # from this directory
docs-hub config set roots=/home/arun/Arun/Projects   # restore the old scan target
docs-hub cron install --schedule "0 * * * *"         # replaces the raw crontab line
crontab -e                                           # remove the old raw generate.py line by hand

The old converted/, index.html, and cron.log produced by generate.py are independent of the new package's output directory and can be left in place or deleted once you've confirmed the new docs-hub scan output looks right. Note that docs-hub (this folder) itself sits under /home/arun/Arun/Projects, so it's included in the default exclude_dirs list to avoid the scanner picking up its own cached output as a phantom "repo".

Metadata

Release files for docs-hub 0.1.5

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

Source distribution (sdist)

Source distribution for docs-hub 0.1.5
File Size Uploaded
docs_hub-0.1.5.tar.gz 19.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for docs-hub 0.1.5
File Interpreter ABI Platform
docs_hub-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 39.1 kB

Release files / docs_hub-0.1.5.tar.gz

Download URL docs_hub-0.1.5.tar.gz
Size 19.3 kB
Tags Source
SHA-256 checksum
How to use checksums
41bb20bb2a583b92337b52221038346de61fba85293d212ede54a719dc274cf2
BLAKE2b-256 checksum
How to use checksums
1c07926de8bae2abb5aa9bb4bdb68e61723481d612135d20665c4994568e5a5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release files / docs_hub-0.1.5-py3-none-any.whl

Download URL docs_hub-0.1.5-py3-none-any.whl
Size 19.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3f0ff9bc453004d9b5622250e242e730ae5a2d39e54ccdde2eb65e35d4850a56
BLAKE2b-256 checksum
How to use checksums
8ce7d25e1259eafc0159b5dc58d03b1815e6ca136335d703a7e2356bd01baf2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 20, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

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