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-scanmarker 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)
| File | Size | Uploaded | |
|---|---|---|---|
| docs_hub-0.1.5.tar.gz | 19.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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