Skip to main content

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:

  1. POST /api/projects/{project_id}/screening/runs to stage uploaded files, raw records, or a supported remote search as screening candidates.
  2. PATCH /api/projects/{project_id}/screening/runs/{screening_run_id}/candidates to mark candidates as selected, maybe, excluded, duplicate, or candidate.
  3. POST /api/projects/{project_id}/screening/runs/{screening_run_id}/promote to 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)

Source distribution for biblioflow-web 0.3.0
File Size Uploaded
biblioflow_web-0.3.0.tar.gz 136.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for biblioflow-web 0.3.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page