ClinVCF SDK
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 subclassesModuleManifest— pydantic model formanifest.json(validation & deserialization)ModuleResult— typed structure returned byrun()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 UIPatientMetadata— typed patient context passed torun()
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:
- ✅
pytesttest 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
- Source: https://github.com/ClinVCF/clinvcf-sdk
- Issues: https://github.com/ClinVCF/clinvcf-sdk/issues
- ClinVCF-OS app: https://www.fdevelopment.eu/clinVCF
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)
| File | Size | Uploaded | |
|---|---|---|---|
| clinvcf_sdk-1.0.1.tar.gz | 45.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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