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.

PubMed/PMC imports

The backend exposes POST /api/projects/{project_id}/sources/import for PubMed and PubMed Central searches. The route calls the core biblioflow API connectors and stores the result as a regular active dataset.

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 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.2.0.tar.gz (120.7 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.2.0-py3-none-any.whl (136.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for biblioflow_web-0.2.0.tar.gz
Algorithm Hash digest
SHA256 b5a16f61c9869729038bd5f217d50be44204eb9f57e7bc1fa442456d90efa63e
MD5 3241db98bdf2494e07d2daddd252c60b
BLAKE2b-256 98cecaec0d3100b263af72027579e9bdf7441a8a59dc08cfa3963851ca5a9fc6

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for biblioflow_web-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b64df73a9fc1ebe17c03d0ab161f7117f2a1029118a99c46c65a07a10370fcdf
MD5 6f945648a5310db5c92cd338d3eb0205
BLAKE2b-256 dcea1f68ef1a8ed5b01384b8ac3ec96bd32dd6e2a7fc0cad868303c41aba1b56

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