Skip to main content

Fyron Banner

PyPI Python CI Security policy License Public beta FHIR DICOM Survival ML Docs

Fyron

The research buddy we wished we had when we were starting out.

Healthcare research often starts with a question that matters. Then comes the work nobody put in the study proposal: finding the right data, understanding how a hospital stores it, and getting systems built in different decades to agree on what it means.

An HL7 message is not a research-ready table. A DICOM study is more than a folder of images. FHIR gives data a shared structure, but FHIR servers differ in their profiles, search capabilities, and implementations. With REST endpoints, you need to work through authentication and pagination. With SQL databases, you encounter different dialects, schemas, and local conventions. Across institutions, even familiar fields can carry different meanings. Before the first analysis, there is already a great deal to understand.

Fyron is our way of sharing what we learn along that journey. Built by Bits & Flames, it is an open Python toolkit for healthcare researchers, clinical data scientists, and imaging AI teams. Its current modules help with FHIR REST and SQL access, DICOM workflows, data preparation, cohort construction, image curation, statistical analysis, machine learning, and scientific plotting. Synthetic cohort and imaging examples give you somewhere to learn and test without starting with patient data.

We want Fyron to feel like a knowledgeable colleague beside you: a useful function when you need one, an example that makes the next step clearer, and code you can open to understand the assumptions. It cannot remove every infrastructure barrier or decide which method is right for your study. But it can help make the path less lonely, less repetitive, and easier to share.

Documentation · Getting Started · Example Gallery · Curate · Citation

Why We Build Fyron

We remember how much there was to learn at the beginning, and we are still learning. Getting data out was only the first step. Then came missing values, inconsistent identifiers, image quality checks, selection criteria, endpoint definitions, statistical assumptions, and the question of whether someone else could reproduce what we had done.

Along the way, useful solutions accumulated in notebooks, small scripts, and conversations with colleagues. Too often, that knowledge stayed inside one project or one team. We build Fyron because the next researcher should not have to start from the same blank page.

Our vision is common ground for the wider healthcare research community: a place to find usable modules, scripts, snippets, and applications, but also to compare approaches, ask questions, and improve methods together. A clinician reviewing images, a student preparing a first cohort, and an engineer connecting hospital systems may need different tools. They should still be able to learn from one another's work.

We like to think of Fyron as a fireplace for research code and shared experience. A place to gather after working through a difficult problem. Bring the script that finally worked, the question you are still wrestling with, or the lesson that could spare someone else a week of trial and error. Around that fireplace, there is room for people just starting out and those with years of experience. You do not have to arrive with a solution to belong.

The warmth comes from people helping one another. The lasting value comes from turning those exchanges into documented examples, tested modules, and tools that researchers can take back to their own work. That is the kind of place we hope to build together.

Take the parts that help you. Use one function, adapt an example, launch Curate for data selection, generate a small synthetic dataset, or assemble a larger workflow. You do not need to adopt all of Fyron to benefit from it, and you do not need to be an experienced developer to help shape it.

We build on the generosity and expertise of the open-source scientific community, including projects such as pandas, scikit-learn, and lifelines. Fyron is a contribution to that shared effort, not a replacement for it. Our experience is a starting point, not the whole picture. We hope researchers across institutions and disciplines will bring the questions, perspectives, and practical lessons that help it grow.

What Fyron Enables

Extract → Screen → Analyze → Publish

Stage Useful starting points
Extract FHIR REST/SQL queries, FHIRPath extraction, DICOMweb downloads, documents, and local files
Screen Curate image review, cohort joins and endpoints, missingness checks, DICOM/NIfTI QC, BOA features, dataset preparation, and small synthetic cohort/imaging datasets for examples and tests
Analyze Descriptive statistics, regression, survival analysis, classification, feature selection, calibration, and model validation
Publish Matplotlib figures, reporting tables, cohort-flow summaries, and provenance manifests

Start with the module guide for the full toolkit map. Individual helpers return familiar DataFrames, dictionaries, model objects, figures, or manifests so the next step stays yours to choose.

Install

With uv:

uv add fyron

Or with pip:

pip install fyron

Choose extras for the work you need:

Research task Install with uv
Survival analysis uv add "fyron[survival]"
Survival ML and censoring-aware validation uv add "fyron[survival-ml]"
Classification and validation uv add "fyron[ml,validation]"
Local image cohort review uv add "fyron[curate]"

See Getting Started for dependencies and additional extras. Prefer targeted extras for lean environments. fyron[all] provides the full local environment; the radiomics dependency currently requires Python 3.10–3.11.

Curate

Fyron Curate is our local image cohort review app. Use it to review image quality, screen a dataset, or select an image cohort before analysis, even if the rest of your study uses other software.

Fyron Curate gallery with synthetic placeholder tiles, selection context, and accepted/rejected review controls

The actual Curate interface with fictional demo records and generated placeholder tiles. No real medical images or patient data are shown.

Curate runs through Docker Compose, stores review metadata in PostgreSQL, and exports accepted images without changing the uploaded originals. It helps organize review decisions; your study protocol still defines what should be accepted or rejected.

Install the extra, ensure Docker Desktop or another Docker Compose runtime is running, and launch:

uv add "fyron[curate]"
fyron curate

Open localhost:5174, create a cohort, add images or DICOM data, review the samples, and export your selections. Record your selection criteria and the version used so others can understand how the dataset was formed.

For volume-based preview folders:

uv add "fyron[visualization,curate]"
fyron dataset-curate-previews --input-dir ct_exports/ --output-dir curate_previews/

The Curate documentation explains supported formats, preview generation, review controls, exports, and persistent storage.

Using Curate for a paper's data selection? Please cite Fyron, even if no other Fyron module is used.

Find runnable synthetic workflows in the Example Gallery, from FHIR-to-cohort preparation and imaging QC to survival analysis, validation, and scientific plotting. Start small, inspect the outputs, and adapt the relevant steps to your research question.

Risk score distribution Forest estimates

Built To Evolve

Healthcare research, Python tooling, and AI-assisted development are changing quickly. We want Fyron's direction to be informed by researchers using it in different settings: what helps, what does not transfer, and what is missing. Shared experience and careful review can turn useful ideas into documented, tested building blocks, rather than simply adding more code.

Fyron is in public beta. APIs may change, and mistakes can be found. Our commitment is to review feedback, test changes, document corrections and migration guidance, and say when earlier results need recalculation. We cannot promise permanent API stability or automatic scientific correctness. Pin versions for studies and keep the methods and parameters alongside your outputs.

See Public Beta, API Design, Support, and release guidance.

Built For Responsible Research

Fyron is local-first and sends no telemetry on import. External calls happen when you configure clients or commands. Helpers keep clinical assumptions explicit, but software cannot choose an appropriate study design or validate a scientific conclusion for you.

Fyron is not a medical device, treatment recommendation system, or compliance platform. Researchers remain responsible for approvals, privacy, data governance, and validation. See Security and Using Fyron In Research.

Build With The Research Community

Whether you work in a hospital, university, research group, or independently, your perspective is welcome. You do not need to be an experienced developer or arrive with finished code. A recurring research problem, a question about a method, or an example of where a workflow breaks can help us understand what needs to improve.

Have a useful snippet, a clearer example, a bug reproduction, or a tool that already solves the problem well? Share it. We would like to learn from your approach, discuss where it fits, and build on existing work rather than duplicate it. Contributions to documentation, testing, and scientific review matter alongside new modules.

Use GitHub issues for problems and ideas, or submit a pull request following CONTRIBUTING.md. Keep shared examples synthetic and free of patient-identifying data, credentials, and private endpoints. Small, focused contributions are welcome; you do not need to propose a new framework.

Our hope is that each shared improvement makes the next study a little easier, including studies outside our own teams.

Citation

If Fyron contributes to your paper, thesis, or other scientific work, please cite it. This includes using Fyron Curate for image review, dataset selection, or cohort screening, even when downstream analysis uses other software.

Hosch, René, Borys, Katarzyna, and Woolley, Justin (2026). Fyron: An Open Research Companion for Healthcare Interoperability, Data Science and AI (Version 0.3.9) [Computer software]. https://github.com/bitsandflames/fyron

Cite the version actually used. CITATION.cff provides machine-readable metadata; the documentation includes BibTeX. No DOI has been assigned yet. Curate uses the Fyron software citation, not a separate publication.

Citation is a scholarly request, not an additional license condition.

License

MIT. See LICENSE.

Metadata

Release files for fyron 0.3.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fyron 0.3.9
File Size Uploaded
fyron-0.3.9.tar.gz 5.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for fyron 0.3.9
File Interpreter ABI Platform
fyron-0.3.9-py3-none-any.whl Python 3 none any Details

Total release size: 5.5 MB

Release files / fyron-0.3.9.tar.gz

Download URL fyron-0.3.9.tar.gz
Size 5.0 MB
Tags Source
SHA-256 checksum
How to use checksums
62c50dc96d1b2b8f41a376cde03e7e3c6d8abc563f7240e75ab76078043abcb6
BLAKE2b-256 checksum
How to use checksums
c27c9386b172afbe883d29e2a7dafb9ceb4ad27039017d0612a5f6561f1ea239
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.8

Release files / fyron-0.3.9-py3-none-any.whl

Download URL fyron-0.3.9-py3-none-any.whl
Size 473.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
876c12630e308675f1f8e3aac4f701daefed43993224987406e79c1ce88bb1b7
BLAKE2b-256 checksum
How to use checksums
25f7a30870b0bf0d376eacdc6d9bbe1220d71ceb341c5b865c93ba8d631f4e7d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.8

Release history Release notifications | RSS feed

This release

0.3.9 This release

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

1 release file

0.3.3

1 release file

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.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