LDaCA Wordflow Backend
FastAPI service for LDaCA Wordflow. The package can run the API by itself or serve the bundled production frontend from the same process.
The authoritative source, issue tracker, CI, and package release workflow live in the LDaCA Wordflow monorepo.
Quick start
# Install and run (backend + frontend on one port)
uvx ldaca-wordflow
# Or run only the backend API
uvx ldaca-wordflow --backend
# Custom port
uvx ldaca-wordflow --port 9000
Notebook and BinderHub launch
Use the asynchronous launcher when Python must retain control of the event loop, such as a BinderHub notebook cell:
import os
from IPython.display import Markdown, display
from ldaca_wordflow import start_async_server
server = await start_async_server(port=8001)
proxy_path = (
f"{os.environ['JUPYTERHUB_SERVICE_PREFIX'].rstrip('/')}"
f"/proxy/{server.settings.backend_port}/"
)
display(Markdown(f"[Open Wordflow]({proxy_path})"))
start_async_server() returns only after ASGI lifespan startup succeeds. Its
caller-owned handle supports waiting and bounded graceful shutdown. Under
JupyterHub, the launcher derives the proxy root_path from
JUPYTERHUB_SERVICE_PREFIX. Install ldaca-wordflow[deploy] in the Binder
environment so jupyter-server-proxy is available to the Jupyter server. Do
not run this cell while a CLI-launched instance already owns the same port.
When finished, stop the caller-owned server from another cell:
await server.close()
See the BinderHub runbook for image setup, terminal launch alternatives, proxy behavior, and storage expectations.
Development
- Backend architecture:
../docs/architecture/backend/overview.md - HTTP endpoint inventory:
../docs/reference/backend-api.md - Settings reference:
../docs/reference/backend-settings.md - Lint:
uv run ruff check . - Type check:
uv run ty check - Tests:
uv run pytest -q - OpenAPI export:
uv run python scripts/export_openapi.py --output <path>
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ldaca_wordflow-0.7.2.tar.gz.
File metadata
- Download URL: ldaca_wordflow-0.7.2.tar.gz
- Upload date:
- Size: 6.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
660994561608ed4b6de7e29f459d22f865bd559c9ff5effaf7805684b6c01ac6
|
|
| MD5 |
f05f94b20fe4756a441471e2745f921a
|
|
| BLAKE2b-256 |
efb103ab534a50bc4fef7f15c412dd5fb4b2681fb3cbb978d196411c95d9f817
|
Provenance
The following attestation bundles were made for ldaca_wordflow-0.7.2.tar.gz:
Publisher:
release.yml on Australian-Text-Analytics-Platform/ldaca-wordflow
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ldaca_wordflow-0.7.2.tar.gz -
Subject digest:
660994561608ed4b6de7e29f459d22f865bd559c9ff5effaf7805684b6c01ac6 - Sigstore transparency entry: 2514697917
- Sigstore integration time:
-
Permalink:
Australian-Text-Analytics-Platform/ldaca-wordflow@8c7667edb292f1faf686ac34f57d292535b0d823 -
Branch / Tag:
refs/tags/v0.7.2 - Owner: https://github.com/Australian-Text-Analytics-Platform
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8c7667edb292f1faf686ac34f57d292535b0d823 -
Trigger Event:
push
-
Statement type:
File details
Details for the file ldaca_wordflow-0.7.2-py3-none-any.whl.
File metadata
- Download URL: ldaca_wordflow-0.7.2-py3-none-any.whl
- Upload date:
- Size: 6.8 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f2cad1bfc1bcc360d8ee661e85f12fbee11045fb30fff5962e8cec577a02078
|
|
| MD5 |
c347a6676bcabe23e04ec49c2cecbda1
|
|
| BLAKE2b-256 |
497d26579680fb0a3c1d83c913ae014cd4b676ddb09644219bc212e75cf2f893
|
Provenance
The following attestation bundles were made for ldaca_wordflow-0.7.2-py3-none-any.whl:
Publisher:
release.yml on Australian-Text-Analytics-Platform/ldaca-wordflow
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
ldaca_wordflow-0.7.2-py3-none-any.whl -
Subject digest:
9f2cad1bfc1bcc360d8ee661e85f12fbee11045fb30fff5962e8cec577a02078 - Sigstore transparency entry: 2514697963
- Sigstore integration time:
-
Permalink:
Australian-Text-Analytics-Platform/ldaca-wordflow@8c7667edb292f1faf686ac34f57d292535b0d823 -
Branch / Tag:
refs/tags/v0.7.2 - Owner: https://github.com/Australian-Text-Analytics-Platform
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@8c7667edb292f1faf686ac34f57d292535b0d823 -
Trigger Event:
push
-
Statement type: