Auditable pharmacokinetics research preview for plotter.trentranspipeline.cc
  • TypeScript 43.3%
  • Python 42.7%
  • CSS 9.5%
  • Dockerfile 3.2%
  • HTML 0.7%
  • Other 0.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Yael ee573575f7
Some checks are pending
ci/woodpecker/push/woodpecker Pipeline is pending
Merge pull request 'chore(deps): update dependency uv to v0.12.22' (#39) from renovate/uv into main
Reviewed-on: #39
2026-10-02 10:51:53 +00:00
.claude feat(science): add the estradiol cypionate oil IM reference model 2026-09-22 12:11:37 +02:00
apps chore(deps): update dependency vitest to v5.0.2 (#30) 2026-09-30 19:48:41 +00:00
charts/plotter chore: enforce Prettier in CI, fix chart schema gap, split replica counts 2026-09-22 11:03:51 +02:00
docs ci: publish only affected Plotter artifacts 2026-09-25 23:38:42 +02:00
science feat(science): add the estradiol cypionate oil IM reference model 2026-09-22 12:11:37 +02:00
scripts chore: BuildKit cache mount for uv, dedupe pnpm bootstrap line 2026-09-22 12:06:50 +02:00
tests feat(science): add the estradiol cypionate oil IM reference model 2026-09-22 12:11:37 +02:00
.dockerignore chore: migrate from npm to pnpm 2026-09-22 09:51:54 +02:00
.gitignore chore: ignore local Claude instructions 2026-09-22 10:19:14 +02:00
.prettierignore chore: enforce Prettier in CI, fix chart schema gap, split replica counts 2026-09-22 11:03:51 +02:00
.prettierrc.json feat(web): add responsive pharmacokinetics research preview 2026-09-21 10:04:32 +02:00
.woodpecker.yaml chore(deps): update dependency uv to v0.12.22 2026-10-02 00:30:29 +00:00
mise.toml Merge pull request 'chore(deps): update dependency uv to v0.12.22' (#39) from renovate/uv into main 2026-10-02 10:51:53 +00:00
package.json chore(deps): update pnpm to v12.8.1 2026-10-01 18:31:28 +00:00
pnpm-lock.yaml chore(deps): update pnpm to v12.8.1 2026-10-01 18:31:28 +00:00
pnpm-workspace.yaml chore: migrate from npm to pnpm 2026-09-22 09:51:54 +02:00
pyproject.toml chore(release): prepare 0.1.14 2026-09-22 10:00:39 +02:00
README.md chore: migrate from npm to pnpm 2026-09-22 09:51:54 +02:00
renovate.json revert: remove the Forgejo Actions duplicate of chart/api/web 2026-09-22 23:28:13 +02:00
THIRD_PARTY_NOTICES.md chore(release): prepare 0.1.2 2026-09-22 08:55:10 +02:00
uv.lock chore(deps): lock file maintenance 2026-09-30 19:21:51 +00:00

Pipeline Plotter

A pharmacokinetics research preview intended for https://plotter.trentranspipeline.cc.

React + TypeScript + Vite, a FastAPI/uv API, versioned scientific artifacts, two Docker Hardened Images, a Helm chart, and Woodpecker CI.

Run locally

Requires Node 26, pnpm 12.5.1, Python 3.14, uv and Helm for chart checks. The pnpm version is pinned in package.json; CI and the web image builder use Node's bundled npm only to bootstrap that pinned pnpm CLI.

uv sync --frozen
uv run uvicorn plotter.main:app --app-dir apps/api --host 127.0.0.1 --port 8000
# In a second terminal:
pnpm install --frozen-lockfile
pnpm --filter @plotter/web run dev

Open http://127.0.0.1:5173. Vite proxies /api to the local API.

Validate

uv run ruff check .
uv run ruff format --check .
uv run pytest -q
pnpm test
pnpm run build
helm lint charts/plotter --set web.tag=sha-test,api.tag=sha-test,route.enabled=true
woodpecker-cli lint .woodpecker.yaml
docker build -f apps/api/Dockerfile -t plotter-api:local .
docker build -f apps/web/Dockerfile -t plotter-web:local .

The first model reproduces an attributed Estrannaise EEn IM reference fit. It is not a new or independently clinically validated model. SC EEn and additional compounds remain separate evidence-review milestones. See science/README.md, docs/architecture.md, and docs/deployment.md.

For each complete injection interval, the API reports the highest modeled concentration and the modeled concentration immediately before the next injection. The site marks the last complete pair on the curve and lists every complete interval in an expandable table. A partial final interval has no invented trough; these values are not individual blood-level predictions.

The chart can optionally display a 100–200 pg/mL guideline reference band or a custom comparison band entered in pg/mL. Bands convert with the chart unit and remain visual references, not validated optimal ranges, safety thresholds, or dosing recommendations. The guideline reference is attributed to the Endocrine Society's 2017 guidance; a 2025 systematic review found insufficient evidence that this range optimizes outcomes. Neither source establishes an alternative universal 200–400 pg/mL target.

The production release path is Forgejo -> Woodpecker -> Forgejo OCI registry -> infra Git -> Argo CD -> root01. Argo CD Image Updater writes new image digests to infra Git; chart updates remain separately reviewed. No cluster credentials are needed in this repo.