Officiel · MIT License · Research Use Only

Construisez vos
propres modules d'analyse.

Le SDK ClinVCF est la boîte à outils Python officielle pour créer des modules qui s'intègrent nativement dans ClinVCF-OS. Pharmacogénomique, classification ACMG, annotation, prédiction — vos algorithmes, notre plateforme.

PyPI version Python versions Downloads License: MIT CI status
En 30 secondes

Installation

Une seule commande, pas de dépendances exotiques. Compatible Python 3.10, 3.11, 3.12 et 3.13.

terminal
# Depuis PyPI (recommandé)
$ pip install clinvcf-sdk

# Vérification
$ python -c "import clinvcf_sdk; print(clinvcf_sdk.SDK_VERSION)"
1.0.1

Note : Le SDK seul ne fait rien — il définit le contrat entre vos modules et la plateforme ClinVCF-OS. Pour tester votre module en conditions réelles, installez également ClinVCF-OS.

Architecture

Ce que le SDK fournit

Des contrats clairs, des types validés, une intégration QML directe. Tout ce qu'il faut, rien de plus.

M

ClinVCFModule

Classe abstraite que vous étendez. Implémentez run() et render_report(), le reste est géré.

T

Types validés

ModuleResult, GeneCallResult, DrugRecommendation, CoverageReport — tous typés avec pydantic, prêts pour l'audit.

U

Intégration UI native

to_qml_payload() sérialise vos résultats pour l'affichage dans ClinVCF-OS — graphique, badges, recommandations.

L

Licensing helpers

Tier (Community/Pro/Team/Enterprise), QuotaTracker, LicenseChecker — gérez les niveaux d'accès sans réinventer la roue.

D

Disclaimers RUO

Génération automatique des avertissements Research Use Only dans tous vos rapports — conformité juridique de série.

P

Packaging .cvf

Manifest schema validé, structure standard, signature — tout prêt pour la distribution sur le ClinStore.

Tutoriel

Votre premier module
en 5 minutes

1

Créez la structure

Une arborescence simple, conforme au schéma .cvf attendu par le ClinStore.

my-module/
my-module/
├── manifest.json          # Métadonnées (id, version, deps, entrée)
├── logo.svg               # Icône carrée (256×256)
├── pyproject.toml         # Dépendances Python
├── my_module/
│   ├── __init__.py
│   └── main.py            # Votre module hérite de ClinVCFModule
└── tests/
    └── test_main.py       # Pytest — requis pour la certification
2

Étendez ClinVCFModule

Implémentez les méthodes run() et render_report(). Le SDK s'occupe du reste : validation manifest, injection patient, sérialisation UI.

my_module/main.py
from datetime import datetime, timezone
from clinvcf_sdk import (
    ClinVCFModule, ModuleResult, ReportFormat,
    PatientMetadata, to_qml_payload,
)


class MyModule(ClinVCFModule):
    """Mon module d'analyse génomique."""

    def run(self, vcf_path: str, patient: PatientMetadata,
            config: dict) -> ModuleResult:
        # Votre logique d'analyse ici
        gene_results = self._analyze(vcf_path)

        return ModuleResult(
            module_id="my-module",
            module_version="1.0.0",
            sdk_version=clinvcf_sdk.SDK_VERSION,
            executed_at=datetime.now(timezone.utc),
            gene_results=gene_results,
        )

    def render_report(self, result, fmt, language="fr"):
        if fmt == ReportFormat.QML_PAYLOAD:
            return json.dumps(to_qml_payload(result)).encode()
        # PDF, JSON, HTML...
3

Empaquetez en .cvf

Un .cvf est juste un .zip renommé contenant votre code et son manifest. Le ClinStore le lira tel quel.

terminal
$ cd my-module
$ zip -r my-module-1.0.0.cvf manifest.json logo.svg my_module/

# C'est tout. Vous pouvez le tester localement :
# 1. Lancer ClinVCF-OS
# 2. Glisser my-module-1.0.0.cvf dans le ClinStore
# 3. Cliquer "Installer"
4

Soumettez à la marketplace

Quand vous êtes prêt à publier, soumettez votre module au ClinStore. La CI valide automatiquement (pytest, schéma, deps), et un score de certification est calculé.

Voir la marketplace →
Politique éditoriale

Trois niveaux de certification

Certifié Fdevelopment

Modules audités manuellement par notre équipe. Sources, tests, deps, sécurité — tout est passé en revue. Badge violet "F©" sur l'icône.

Exemples : PharmGx, PredSoma, PredConst.

Score ≥ 80% — Auto-publié

Modules qui passent la CI automatique : pytest verts, manifest valide, deps clean, smoke test OK. Listés sur la marketplace avec leur score.

Le développeur reste responsable du contenu — disclaimer RUO obligatoire à l'install.

Score < 80% — Refusé

Le module est rejeté. Le développeur reçoit le détail de ce qui ne passe pas (tests manquants, dépendances vulnérables, etc.) et peut resoumettre après corrections.

Prêt à publier votre module ?

Le SDK est open-source, la documentation est libre, et les premiers contributeurs auront leur module mis en avant sur la page d'accueil de la marketplace.

📦 pip install clinvcf-sdk 🐙 GitHub clinvcf-sdk ✉ Nous contacter