Skip to content

Chore/release v2.0.6#211

Merged
aslgraefe merged 28 commits into
developfrom
chore/release-v2.0.6
Mar 29, 2026
Merged

Chore/release v2.0.6#211
aslgraefe merged 28 commits into
developfrom
chore/release-v2.0.6

Conversation

@aslgraefe

@aslgraefe aslgraefe commented Mar 29, 2026

Copy link
Copy Markdown
Member

#208

Summary by CodeRabbit

v2.0.6 Release Notes

  • New Features

    • Phenopacket export now correctly serializes to GA4GH Phenopacket v2 JSON format with proper camelCase field names
    • Added comprehensive validation system with soft warnings for ontology prefix placement
    • Introduced Phenopacket Adapters for multi-onset phenotype expansion and ontology-based data routing
  • Improvements

    • Installation simplified to pip install rarelink with optional extras ([fhir], [data], [test], [docs])
    • Enhanced export progress reporting and summary with warnings tracking
    • Improved label fetching performance through caching
    • Updated sex-at-birth mapping to LOINC standard
  • Documentation

    • Added Phenopacket Adapter user guide
    • Updated installation instructions for easier setup

@aslgraefe aslgraefe linked an issue Mar 29, 2026 that may be closed by this pull request
9 tasks
@coderabbitai

coderabbitai Bot commented Mar 29, 2026

Copy link
Copy Markdown

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

This PR implements the v2.0.6 release: upgrading phenopacket JSON serialization to camelCase (GA4GH v2 compliance), introducing an ontology routing adapter for intelligent element categorization, standardizing mapper warnings, updating sex-at-birth field from SNOMED CT to LOINC, removing deprecated RD-CDM code generation tools, refactoring the export pipeline with structured warnings/validation, and updating dependencies and documentation.

Changes

Cohort / File(s) Summary
Version & Dependency Updates
pyproject.toml, docs/6_changelog.rst, .gitignore
Bumped version to 2.0.6, updated rd-cdm to >=2.0.3, removed numpy/pandas/pytest from base deps, added optional fhir extra with Docker, simplified dev extra. Removed rarelink-cdm-generate CLI entrypoint and rd_cdm/* package data. Added tofhir/**/* data. Updated .gitignore to ignore dev/ directory and explicit .DS_Store patterns.
Documentation & Configuration
README.md, docs/**/conf.py, pytest.ini, docs/index.rst, docs/2_rarelink_framework/2_*.rst, docs/3_installation/3_1_*.rst, docs/4_user_guide/4_*.rst
Updated installation instructions with Python requirement (≥3.10, <3.13), pip install rarelink core install, and optional extras (fhir, data, test, docs). Replaced image figure reference from SVG to PNG. Updated "Sex at birth" field documentation from SNOMED CT to LOINC codes. Added comprehensive phenopacket adapters documentation covering multi-onset and ontology routing. Added pytest UserWarning filter for mappings module.
HTML Build Artifacts
docs/_build/html/**/*.html, docs/_build/html/_sources/**/*.rst.txt
Regenerated HTML from RST documentation; mirrored updates to installation, SSSOM mapping examples, and sex-at-birth field identifiers.
Ontology Routing Feature
src/rarelink/phenopackets/adapter/ontology_routing_adapter.py, src/rarelink/phenopackets/adapter/__init__.py, src/rarelink/phenopackets/create.py
Added new ontology_routing_adapter.py module implementing prefix-based routing (HP→phenotypicFeatures, MONDO→diseases) with configuration, routed element getters, and soft validation warnings. Extended create.py to apply routing when configured and inject routed disease/phenotype data. Re-exported four routing functions from adapter __init__.py.
Pipeline & Validation Refactoring
src/rarelink/phenopackets/pipeline.py, src/rarelink/phenopackets/validate.py, src/rarelink/phenopackets/write.py, src/rarelink/cli/phenopackets/export.py
Introduced PipelineResult dataclass with separate creation/validation failure tracking and warnings capture. Changed phenopacket_pipeline to return PipelineResult and accept progress_callback/validation_callback parameters. Reworked validate.py with two-tier validation (Python structural checks + optional phenopacket-tools CLI). Extended write_phenopackets with optional validation and callback parameters. Refactored export CLI to use Rich-based progress UI for two-phase creation/validation workflow, with warnings.json output alongside failures.json.
Mapper Warnings Standardization
src/rarelink/phenopackets/mappings/base_mapper.py, src/rarelink/phenopackets/mappings/*_mapper.py
Replaced all logger.warning(...) calls with warnings.warn(...) across interpretation, measurement, medical-action, metadata, phenotypic-feature, and variation-descriptor mappers for consistent warning capture. Removed explanatory comments in base mapper.
Phenopacket camelCase Migration
res/evaluation_cohort/phenopackets/*.json (1–10), res/evaluation_cohort/redcap/*
Systematically renamed JSON fields from snake_case to camelCase throughout evaluation cohort (subject: dateOfBirth, timeAtLastEncounter; phenotypicFeatures; measurements; interpretations; metaData, etc.). Updated phenopacket IDs, timestamps, created metadata, added resource entries (uo, ga4gh). Adjusted disease/measurement/interpretation structures. Deleted failures.json.
Sex at Birth Field Migration
src/rarelink/rarelink_cdm/**/*.py, src/rarelink/rarelink_cdm/**/*.yaml, src/rarelink/tofhir/mappings/ips.patient.json, src/rarelink/tofhir/schemas/Rarelink_2_personal_information.json, tests/phenopackets/test_data/sample_*.json
Replaced field snomedct_281053000 with loinc_76689_9 across LinkML schema definitions, Python datamodels, mapping configurations, REDCap template, and FHIR/toFHIR artifacts. Updated corresponding enum meanings and field references.
Code System Version Updates
src/rarelink/rarelink_cdm/mappings/phenopackets/resources.py, src/rarelink/rarelink_cdm/schema_definitions/rarelink_code_systems.yaml, src/rarelink/rarelink_cdm/python_datamodel/rarelink_code_systems.py
Updated code system versions for HPO, LOINC, ICD11, MONDO, ORPHA, NCIT, UO, SNOMED CT, GENO, and NCBITaxon to 2026-era versions. Added ICD10GM version.
RD-CDM Tool Removal
src/rarelink/rd_cdm/codegen.py (deleted), src/rarelink/rd_cdm/codegen_cli.py (deleted), src/rarelink/rd_cdm/schema_template.py (deleted), src/rarelink/rd_cdm/sync.py (deleted), src/rarelink/rd_cdm/cli.py, src/rarelink/rd_cdm/__init__.py
Removed deprecated RD-CDM code generation and syncing utilities (303+ lines in codegen.py, schema templates, sync logic). Removed Click CLI entrypoints for rarelink-cdm-generate and sync-auto subcommands. Removed module-level __all__ export list.
CLI & Utility Refactoring
src/rarelink/cli/redcap/download_records.py, src/rarelink/cli/redcap/upload_records.py, src/rarelink/utils/label_fetching.py
Removed local validate_linkml_data wrapper functions; imported directly from rarelink.utils.validation. Added functools.lru_cache to fetch_label_from_bioportal for result memoization.
ToFHIR Updates
src/rarelink/tofhir/docker-compose.yml, src/rarelink/tofhir/mappings/ips.patient.json, src/rarelink/tofhir/schemas/Rarelink_2_personal_information.json
Updated Kafka image from bitnami/kafka:latest to bitnamilegacy/kafka:3.7.0. Updated FHIR mapping and schema to reference new loinc_76689_9 field instead of SNOMED CT code.
Test Suite Updates
tests/integration/test_redcap_to_phenopacket_workflow.py, tests/phenopackets/test_pipeline.py, tests/phenopackets/adapter/test_ontology_routing_adapter.py, tests/utils/test_processor.py
Updated assertions to use PipelineResult metrics (n_created, n_failed_creation) instead of list length. Removed subprocess mocking for validation. Added new test module for ontology routing adapter covering HP/MONDO/non-routable element scenarios. Updated test fixtures to reference new loinc_76689_9 field.
Deleted Test Modules
tests/rd_cdm/test_csv_update.py, tests/rd_cdm/test_ensure_types_and_codegen.py, tests/rd_cdm/test_normalize_and_build_schema.py, tests/rd_cdm/test_scaffold_and_force.py, res/evaluation_cohort/phenopackets/failures.json
Removed tests validating deprecated RD-CDM code generation, CSV update utilities, and schema scaffolding. Deleted failures.json artifact.
Infrastructure & Submodules
submodules/tofhir (git pointer removed)
Removed git submodule reference pointer.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related issues

  • bitnami kafka docker issue #210: The Kafka image update (bitnami→bitnamilegacy:3.7.0) directly resolves the reported Bitnami image pull failure.
  • chore: release v2.0.6 #208: The version bump to 2.0.6, comprehensive changelog, and coordinated feature/documentation updates correspond to the chore "release v2.0.6."

Possibly related PRs

  • added eval cohort and fixxt #155: Both modify evaluation cohort phenopacket resources and test data files with overlapping sample record updates.
  • Finish ig #169: Both update FHIR mapping files (ips.patient.json, Rarelink_2_personal_information schema) and toFHIR artifacts.
  • 146 issues steps #151: Both modify phenopacket mappers (base_mapper, interpretation_mapper, etc.) and CLI export functionality (src/rarelink/cli/phenopackets/export.py).

🐰 A wondrous shift to camelCase dreams,
Adapters route where ontology gleams,
From SNOMED's grasp to LOINC's embrace,
The RareLink framework transforms its face!
No more deprecated tools shall remain,
Just warnings structured, pipelines plain. 🎉

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 67.65% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Chore/release v2.0.6' directly and clearly summarizes the main change—preparing and publishing release v2.0.6. It concisely identifies the primary objective of the changeset.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/release-v2.0.6

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@aslgraefe
aslgraefe merged commit 789e76e into develop Mar 29, 2026
3 of 4 checks passed
@aslgraefe
aslgraefe deleted the chore/release-v2.0.6 branch March 29, 2026 19:13
aslgraefe added a commit that referenced this pull request Mar 29, 2026
* update_changelog

* changelog date update

* fixed index

* fixed index docs

* Chore/release v2.0.6 (#211)

* rmv ds_store

* updated eval cohort ppkts

* fixed camelCase in write ppkts

* issue 205, imrpove ppkts export pipeline, validation, fixed bug

* clean up code

* clean up

* updated rarelink figure in docs

* added variantValidator for manual hgvs curation

* added phenopacket adapters to docs

* updated index figure subheading

* added ontology_routing adapter

* test for adapter

* updated phenopackets export adn validation with new functions and cli overview

* added chaching

* updated toml to 2.0.6 and clean up

* updated codes according to rd-cdmv2.0.3 (specifically update of sex of birth to loinc_76689_9 in all files) and version updates

* improved warnings output for pptks pipeline

* removed rd-cdm in this version as it was unused

* improved caching ppkts for label fetching util

* grouped linkml validate data function

* fixed updaet in kafka docker versioning to tofhir pipeline

* improved packaging and readme

* updated phenopackets tests

* updated versions according to rd-cdm 2.0.3

* improved installation docs with updates

* improved pytest

* added changelog for v2.0.6

* updated eval cohort

* Update docs/6_changelog.rst

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fixed data statement in toml

* chore:Release/2.0.6

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
aslgraefe added a commit that referenced this pull request Mar 29, 2026
* update_changelog

* changelog date update

* fixed index

* fixed index docs

* Chore/release v2.0.6 (#211)

* rmv ds_store

* updated eval cohort ppkts

* fixed camelCase in write ppkts

* issue 205, imrpove ppkts export pipeline, validation, fixed bug

* clean up code

* clean up

* updated rarelink figure in docs

* added variantValidator for manual hgvs curation

* added phenopacket adapters to docs

* updated index figure subheading

* added ontology_routing adapter

* test for adapter

* updated phenopackets export adn validation with new functions and cli overview

* added chaching

* updated toml to 2.0.6 and clean up

* updated codes according to rd-cdmv2.0.3 (specifically update of sex of birth to loinc_76689_9 in all files) and version updates

* improved warnings output for pptks pipeline

* removed rd-cdm in this version as it was unused

* improved caching ppkts for label fetching util

* grouped linkml validate data function

* fixed updaet in kafka docker versioning to tofhir pipeline

* improved packaging and readme

* updated phenopackets tests

* updated versions according to rd-cdm 2.0.3

* improved installation docs with updates

* improved pytest

* added changelog for v2.0.6

* updated eval cohort

* Update docs/6_changelog.rst

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fixed data statement in toml

* chore:Release/2.0.6

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
aslgraefe added a commit that referenced this pull request Mar 29, 2026
* update_changelog

* changelog date update

* fixed index

* fixed index docs

* Chore/release v2.0.6 (#211)

* rmv ds_store

* updated eval cohort ppkts

* fixed camelCase in write ppkts

* issue 205, imrpove ppkts export pipeline, validation, fixed bug

* clean up code

* clean up

* updated rarelink figure in docs

* added variantValidator for manual hgvs curation

* added phenopacket adapters to docs

* updated index figure subheading

* added ontology_routing adapter

* test for adapter

* updated phenopackets export adn validation with new functions and cli overview

* added chaching

* updated toml to 2.0.6 and clean up

* updated codes according to rd-cdmv2.0.3 (specifically update of sex of birth to loinc_76689_9 in all files) and version updates

* improved warnings output for pptks pipeline

* removed rd-cdm in this version as it was unused

* improved caching ppkts for label fetching util

* grouped linkml validate data function

* fixed updaet in kafka docker versioning to tofhir pipeline

* improved packaging and readme

* updated phenopackets tests

* updated versions according to rd-cdm 2.0.3

* improved installation docs with updates

* improved pytest

* added changelog for v2.0.6

* updated eval cohort

* Update docs/6_changelog.rst

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fixed data statement in toml

* chore:Release/2.0.6

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
aslgraefe added a commit that referenced this pull request Mar 29, 2026
* update_changelog

* changelog date update

* fixed index

* fixed index docs

* Chore/release v2.0.6 (#211)

* rmv ds_store

* updated eval cohort ppkts

* fixed camelCase in write ppkts

* issue 205, imrpove ppkts export pipeline, validation, fixed bug

* clean up code

* clean up

* updated rarelink figure in docs

* added variantValidator for manual hgvs curation

* added phenopacket adapters to docs

* updated index figure subheading

* added ontology_routing adapter

* test for adapter

* updated phenopackets export adn validation with new functions and cli overview

* added chaching

* updated toml to 2.0.6 and clean up

* updated codes according to rd-cdmv2.0.3 (specifically update of sex of birth to loinc_76689_9 in all files) and version updates

* improved warnings output for pptks pipeline

* removed rd-cdm in this version as it was unused

* improved caching ppkts for label fetching util

* grouped linkml validate data function

* fixed updaet in kafka docker versioning to tofhir pipeline

* improved packaging and readme

* updated phenopackets tests

* updated versions according to rd-cdm 2.0.3

* improved installation docs with updates

* improved pytest

* added changelog for v2.0.6

* updated eval cohort

* Update docs/6_changelog.rst

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fixed data statement in toml

* chore:Release/2.0.6

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore: release v2.0.6

1 participant