Introduction¶
The varvis-connector package¶
The varvis-connector package provides a Python client and command-line interface (CLI) for the varvis® API.
Retrieve genomic data including SNV annotations, CNV target results, and CNV segments, process large SNV responses
with low memory use, and download analysis files safely in parallel. The package handles authentication and
coordinated session recovery for concurrent requests, with configurable timeouts, retries, and environment-based
configuration.
Intended Use¶
This software is provided solely for research, educational, development, interoperability, and bioinformatics workflow automation purposes.
This project is NOT intended by the authors to be used for:
clinical diagnosis,
in vitro diagnostic procedures,
patient stratification,
treatment selection,
medical decision-making,
or any other medical purpose as defined under applicable medical device or in vitro diagnostic regulations, including but not limited to Regulation (EU) 2017/746 (IVDR).
The software is not a certified in vitro diagnostic medical device and has not undergone clinical performance studies, regulatory assessment, or conformity assessment procedures required for software intended for in vitro diagnostic use.
Users are solely responsible for ensuring compliance with all applicable laws, regulations, institutional policies, and validation requirements in their jurisdiction and use case.
Features¶
Typed Python client and command-line interface for genomic data retrieval, person records, and virtual panels
Low-memory SNV iteration with optional temporary-file caching; CLI JSONL streaming uses caching to avoid holding full responses in RAM (see Python API and get-snv-annotations)
Gene and coordinate filters that support scalar and array-valued SNV annotations
Parallel HTTPS downloads with connection pooling, configurable retries with randomized delays, and separate download retry settings
Atomic file downloads that preserve existing files on failure, clean up partial transfers, and reject unsafe filenames and conflicting destination paths (see download-files)
Thread-safe authentication and coordinated re-login after session invalidation, with bounded shared recovery attempts
Separate connection and read timeouts, environment-based configuration, and comprehensive error handling
Memory-efficient CLI JSON serialization, with output files opened only when results are ready to be written (see Command output options)
Support for Python 3.11 through 3.15
Currently covered varvis® API endpoints¶
The following API endpoints are currently covered both by the CLI and the Python package:
varvis® API endpoint |
varvis® docs title |
CLI command |
|
|---|---|---|---|
|
Get Person Id |
||
|
Get Variant Annotations |
||
|
Get Cnv Results |
||
|
Get Pending Cnvs |
||
|
Get Case Metrics |
||
|
Api Coverage Task Data |
||
|
Find Analyses |
||
|
Api Get Analyses Linked With Person |
||
|
Get Case Report |
||
|
Get Person Including Clinical Information |
||
|
Api Create Or Update Person |
||
|
Find By Customer Provided Input File Name |
||
|
Get Virtual Panel Details |
||
|
Create Or Update Virtual Panel |
||
|
Get Virtual Panel Summaries |
||
|
Get All Genes |
||
|
Get File Download Links (and download the files) |
|
In addition to that, it’s possible to send arbitrary authenticated requests to the API using the CLI request
command or the VarvisClient.request method, which is especially useful for undocumented endpoints.
License¶
This project is licensed under the GNU General Public License v3.0 (GPLv3). See the LICENSE file for details.
Disclaimer¶
The varvis® logo is a registered trademark of Limbus Medical Technologies GmbH and is used in this project with permission. This project is independent and is not affiliated with, endorsed by, or officially supported by Limbus Medical Technologies GmbH.