biblioflow-web backend
FastAPI backend for the biblioflow-web application.
This directory is an individual Python package published as biblioflow-web. It
serves /api/* routes and, in production, serves the built React frontend from
src/biblioflow_web_backend/static/.
Development
cd packages/biblioflow-web/backend
poetry install --extras dev
PYTHONPATH=src:../../biblioflow/src poetry run pytest \
--cov=biblioflow_web_backend --cov-fail-under=90
poetry run uvicorn biblioflow_web_backend.main:app --reload --port 0
Use --port 0 to bind a random free port, or pass a fixed port such as
--port 8000 when the frontend development proxy needs a stable backend URL.
Set BIBLIOFLOW_WEB_DATA_DIR to control where projects, uploads, datasets,
exports, and caches are written. Runtime data is never written into the
installed Python package directory.
Source-agnostic screening imports
The backend exposes generic screening endpoints for staging records before they become analysis datasets. The recommended workflow is:
POST /api/projects/{project_id}/screening/runsto stage uploaded files, raw records, or a supported remote search as screening candidates.PATCH /api/projects/{project_id}/screening/runs/{screening_run_id}/candidatesto mark candidates as selected, maybe, excluded, duplicate, or candidate.POST /api/projects/{project_id}/screening/runs/{screening_run_id}/promoteto create a regular active dataset from selected candidate IDs or statuses.
The older /sources/search* staged routes and direct
POST /api/projects/{project_id}/sources/import route remain available for
compatibility when an intermediate screening step is not needed.
Configure NCBI contact details with environment variables when desired:
export BIBLIOFLOW_NCBI_EMAIL="researcher@example.org"
export BIBLIOFLOW_NCBI_API_KEY="optional-key"
Submitted API keys are passed to biblioflow for the request only; they are not
persisted in project metadata, screening payloads, datasets, or returned by the
API.
Bundling the frontend
The React source lives in ../frontend. For release builds, build the frontend
and copy its dist/ output into the backend static package data:
cd packages/biblioflow-web/backend
python scripts/build_frontend.py
poetry build
Users installing the built biblioflow-web wheel or sdist do not need Node/npm.
Metadata
Release files for biblioflow-web 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| biblioflow_web-0.3.0.tar.gz | 136.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| biblioflow_web-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 289.8 kB
Release files / biblioflow_web-0.3.0.tar.gz
| Download URL | biblioflow_web-0.3.0.tar.gz |
|---|---|
| Size | 136.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4e0b889c331866c0fe0c886928314cc9bec86596fcfa1c279a8998f9eba4d38c
|
|
BLAKE2b-256 checksum How to use checksums |
e4ab0c2f63600713471e0c2398bd80ee941c9bf4b91d0427b4ed7c5631108882
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.1 CPython/3.13.13 Linux/6.17.0-1015-azure
|
Release files / biblioflow_web-0.3.0-py3-none-any.whl
| Download URL | biblioflow_web-0.3.0-py3-none-any.whl |
|---|---|
| Size | 153.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e607fe5961f25d212062e977e12885963bba1e2096f92ccb5f2217029e5f5d27
|
|
BLAKE2b-256 checksum How to use checksums |
7ef8417fcb0bdc4e9b6946b5f2e6b88d85f83911ce668285afe76fbc6e4e250b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.4.1 CPython/3.13.13 Linux/6.17.0-1015-azure
|