Public documentation site for UploadKit — modular, framework-independent upload pipelines for Python.
/— marketing landing/docs/— getting started and guides (sidebar + Pagefind search)/docs/cli/— developer CLI/docs/core/,/docs/django/,/docs/fastapi/,/docs/aiohttp/,/docs/odoo/,/docs/flask//docs/pdf/,/docs/office/,/docs/audio/— feature packages/docs/patterns/— shared policy, after-upload hooks, validators, errors, JSON shape/docs/storage/— boto3 / aioboto3 for AWS S3 and MinIO/docs/performance/— chunk size, S3 part size, and workers by file size/docs/security/—uploadkit-security+ libmagic
Hand-authored static HTML/CSS/JS. Nested tabs (pip/uv/poetry, sync/async) stay as tabs; framework guides are real URLs.
Serve the repo root over HTTP (absolute /styles.css paths need a server):
python3 -m http.server 8080Regenerate docs pages after content edits (shared sidebar chrome):
python3 _generate_docs.pyRebuild the search index:
npx pagefind@1.3.0 --site . --output-subdir pagefindStatic site on main (including committed pagefind/ index). GitHub Pages is configured to publish from the main branch root.
Optional: .github/workflows/pages.yml can rebuild Pagefind and deploy via Actions (workflow_dispatch / push). Prefer branch publish when Actions runners are unavailable.
After content edits:
python3 _generate_docs.py
npx pagefind@1.3.0 --site . --output-subdir pagefind --glob "{index.html,docs/**/*.html}"In the repo Settings → Pages, set source to GitHub Actions (not “Deploy from a branch”) so the workflow can publish.
Coverage badges on feature packages (pdf / audio / office) and cli are
measured totals, not the 100% figures used by Core and framework adapters.
Gaps are mostly metadata.py edge cases (malformed inputs, rare security /
format branches) and CLI flag/error paths. Feature-package CI gates at 80%
where configured; cli has no coverage gate yet, so it shows CI + Python only.
- Site: https://uploadkit.github.io/
- Docs: https://uploadkit.github.io/docs/
- Organization: https://github.com/uploadkit