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:
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.
Project details
Release history Release notifications | RSS feed
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e0b889c331866c0fe0c886928314cc9bec86596fcfa1c279a8998f9eba4d38c
|
|
| MD5 |
63e78c76f7dfce9a5c78c4d3a0b76f10
|
|
| BLAKE2b-256 |
e4ab0c2f63600713471e0c2398bd80ee941c9bf4b91d0427b4ed7c5631108882
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e607fe5961f25d212062e977e12885963bba1e2096f92ccb5f2217029e5f5d27
|
|
| MD5 |
05800a4723bb9f86f81376b73a4aed07
|
|
| BLAKE2b-256 |
7ef8417fcb0bdc4e9b6946b5f2e6b88d85f83911ce668285afe76fbc6e4e250b
|