Skip to main content

ClinVCF SDK

PyPI version Python versions License: MIT CI

Official SDK for building ClinVCF-OS marketplace modules.

The ClinVCF SDK provides Python types, contracts, and helpers to build clinical genomic modules that integrate seamlessly with the ClinVCF-OS desktop application — pharmacogenomics callers, variant classification engines, prediction tools, and annotation pipelines.

⚠️ Research Use Only (RUO) — Modules built with this SDK are intended for research and educational purposes only. They are not validated for clinical diagnosis or patient care.


Installation

pip install clinvcf-sdk

Requires Python 3.10 or later.


Quick start

from clinvcf_sdk import (
    ClinVCFModule,
    ModuleManifest,
    ModuleResult,
    ReportFormat,
    PatientMetadata,
    to_qml_payload,
)


class MyModule(ClinVCFModule):
    """Minimal example of a ClinVCF marketplace module."""

    def run(
        self,
        vcf_path: str,
        patient: PatientMetadata,
        config: dict,
    ) -> ModuleResult:
        # Your analysis logic here
        return ModuleResult(
            module_id="my-module",
            module_version="1.0.0",
            executed_at=datetime.now(timezone.utc),
            findings=[...],
        )

    def render_report(
        self,
        result: ModuleResult,
        fmt: ReportFormat,
        language: str = "fr",
    ) -> bytes:
        if fmt == ReportFormat.QML_PAYLOAD:
            payload = self.to_qml_payload(result, language=language)
            return json.dumps(payload).encode("utf-8")
        # ...

See the full documentation for module manifest schema, packaging into .cvf files, and submission to the ClinStore marketplace.


What's in the SDK

The SDK exposes the contracts and helpers that the ClinVCF-OS host uses to load and run your module:

  • ClinVCFModule — abstract base class your module subclasses
  • ModuleManifest — pydantic model for manifest.json (validation & deserialization)
  • ModuleResult — typed structure returned by run()
  • ReportFormat — enum of supported output formats (HTML, PDF, JSON, QML_PAYLOAD)
  • to_qml_payload() — convert a result into the JSON payload consumed by the ClinVCF-OS UI
  • PatientMetadata — typed patient context passed to run()

The SDK is intentionally minimal. It defines the contract between the host and modules, and provides the glue to render results in the host UI. Domain-specific logic (variant calling, classification, etc.) is the responsibility of each module.


Marketplace certification

Modules submitted to the ClinStore marketplace go through automated validation:

  • ✅ pytest test suite must pass
  • ✅ Manifest schema validation
  • ✅ Dependency audit (no known CVEs)
  • ✅ Module load + sample-data smoke test
  • ✅ Score ≥ 80% to be auto-published
  • ✅ Author accepts the Research Use Only disclaimer

Modules signed by Fdevelopment LTD are tagged 🛡 Certified Fdevelopment©, which means they have been manually audited in addition to passing automated checks.


Repository


License

MIT © 2026 Fdevelopment LTD — see LICENSE.

Metadata

Release files for clinvcf-sdk 1.0.1

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

Source distribution (sdist)

Source distribution for clinvcf-sdk 1.0.1
File Size Uploaded
clinvcf_sdk-1.0.1.tar.gz 45.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for clinvcf-sdk 1.0.1
File Interpreter ABI Platform
clinvcf_sdk-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 94.9 kB

Release files / clinvcf_sdk-1.0.1.tar.gz

Download URL clinvcf_sdk-1.0.1.tar.gz
Size 45.1 kB
Tags Source
SHA-256 checksum
How to use checksums
efae09da6de3d734f6bc6cff0ced15f629d420ff1c5608b7e17d377562aa348e
BLAKE2b-256 checksum
How to use checksums
c75fdc4a3b8cfaa8d416c5ba41de69f7be95db91a898e4b302ae855d275bec84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 9, 2026.

Transparency log

Release files / clinvcf_sdk-1.0.1-py3-none-any.whl

Download URL clinvcf_sdk-1.0.1-py3-none-any.whl
Size 49.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
38b7dfa33ea1c4d529740f095ad0ba0214a14ca70f8d8fa55b49375088ee8ff5
BLAKE2b-256 checksum
How to use checksums
b6f8031de731aa1e9a3324e04a708741b736e6f7c96d27d7f11a2742ac5a2a7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 9, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.1 This release

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