Files
omniread/docs/wiki/04_development.md
Vishesh 'ironeagle' Bangotra 650d3a19e8 chore(release): 0.0.3
Squash-merge lib-standardisation: adopt repo standards across packaging,
tooling, docs, and CI.

- standardize pyproject.toml (canonical packaging, lint config, extras, GSDFC pydoclint)
- add py.typed marker, modernize type hints and Google-style docstrings
- nest generated docs under docs/lib and docs/mcp; add hand-written wiki
- adopt standard Type A PyPI CI pipeline (tag==version guard + quality gate)
- promote generated CHANGELOG.md; bump version to 0.0.3
2026-10-17 02:16:48 +05:30

1.9 KiB

🛠️ Development

Working on omniread itself.


📂 Repository layout

Path Purpose
omniread/ The library package (core + html, pdf, csv, xlsx modules)
omniread/*.pyi Type stubs kept in sync with implementations
tests/ End-to-end and unit tests against mock transports/clients
covers —
docs/lib/ Generated library reference (docforge, flat layout)
docs/mcp/ Machine-readable bundle served by the MCP server
docs/wiki/ This hand-written wiki

🔧 Setup

python -m venv .venv
.venv/Scripts/pip install -e ".[dev]"

🧪 Tests

Run the suite (offline; a mock httpx transport and mock PDF client are used):

.venv/Scripts/pytest

Coverage spans end-to-end scrape → parse flows for HTML, PDF, and XLSX, plus client validation and CSV/XLSX parsing edge cases.


✅ Quality gates

The CI quality gate runs, matching the Drone pipeline:

.venv/Scripts/black --check .
.venv/Scripts/ruff check .
.venv/Scripts/mypy
.venv/Scripts/pytest

📝 Building documentation (docforge)

The site is generated by docforge and served per kind under site/{kind}:

doc-forge build \
  --mkdocs --mcp \
  --module-is-source --module omniread \
  --site-name "OmniRead"
  • --module-is-source renders the flat docs/lib/ layout (no nesting under omniread/), matching docforge.nav.yml and docs/mkdocs.lib.yml.
  • --mcp regenerates the structured bundle in docs/mcp/.
  • --wiki builds this wiki.
  • gen_api.py (if present) regenerates the API docs.

Preview locally:

doc-forge serve --lib
doc-forge serve --wiki
doc-forge serve --mcp