Skip to content

Repository files navigation

UploadKit docs site

Public documentation site for UploadKit — modular, framework-independent upload pipelines for Python.

Structure

  • / — 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.

Local preview

Serve the repo root over HTTP (absolute /styles.css paths need a server):

python3 -m http.server 8080

Regenerate docs pages after content edits (shared sidebar chrome):

python3 _generate_docs.py

Rebuild the search index:

npx pagefind@1.3.0 --site . --output-subdir pagefind

Deploy

Static 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.

Package status

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.

uploadkit (core)

CI Coverage Python

uploadkit-django

CI Coverage Python Django

uploadkit-fastapi

CI Coverage Python FastAPI

uploadkit-odoo

CI Coverage Python Odoo

uploadkit-pdf

CI Coverage Python

uploadkit-audio

CI Coverage Python

uploadkit-office

CI Coverage Python

uploadkit-cli

CI Python

Links

Releases

Packages

Used by

Contributors

Languages