Skip to main content

FastAPI web application for biblioflow bibliometric workflows.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

biblioflow_web-0.3.0.tar.gz (136.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

biblioflow_web-0.3.0-py3-none-any.whl (153.4 kB view details)

Uploaded Python 3

File details

Details for the file biblioflow_web-0.3.0.tar.gz.

File metadata

  • Download URL: biblioflow_web-0.3.0.tar.gz
  • Upload date:
  • Size: 136.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.13.13 Linux/6.17.0-1015-azure

File hashes

Hashes for biblioflow_web-0.3.0.tar.gz
Algorithm Hash digest
SHA256 4e0b889c331866c0fe0c886928314cc9bec86596fcfa1c279a8998f9eba4d38c
MD5 63e78c76f7dfce9a5c78c4d3a0b76f10
BLAKE2b-256 e4ab0c2f63600713471e0c2398bd80ee941c9bf4b91d0427b4ed7c5631108882

See more details on using hashes here.

File details

Details for the file biblioflow_web-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: biblioflow_web-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 153.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.13.13 Linux/6.17.0-1015-azure

File hashes

Hashes for biblioflow_web-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e607fe5961f25d212062e977e12885963bba1e2096f92ccb5f2217029e5f5d27
MD5 05800a4723bb9f86f81376b73a4aed07
BLAKE2b-256 7ef8417fcb0bdc4e9b6946b5f2e6b88d85f83911ce668285afe76fbc6e4e250b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page