Skip to main content

dismcli

DIALS InfenceService Manager or simply dism is a program to deploy/remove InferenceServices in KServe managed by DIALS.

Local development

Install the dependencies and the package using uv:

uv sync --all-groups
uv pip install -e .
uv run pre-commit install

Tests

Run tests with pytest:

uv run pytest tests/ --cov=dismcli --cov-report=xml --cov-report=term

Tox

You may also want to run the tests with tox to test against multiple python versions:

uv run tox

asdf users

tox requires multiple versions of Python to be installed. Using asdf, you have multiple versions installed, but they aren’t normally exposed to the current shell. You can use the following command to expose multiple versions of Python in the current directory:

asdf set python 3.12.9 3.11.10 3.10.13

This will use 3.12.9 by default (if you just run python), but it will also put python3.11 and python3.10 symlinks in your PATH so you can run those too (which is exactly what tox is looking for).

GitLab CI Setup for dism-cli

This document describes the steps taken to configure GitLab CI for the dism-cli repository so it can access the private repository dism-core via SSH during pipeline execution.

Purpose

The dism-cli project depends on the dism-core repository using a Git+SSH link specified in pyproject.toml:

[tool.uv.sources]
dism-core = { git = "ssh://git@gitlab.cern.ch:7999/cms-dqmdc/libraries/dism-core.git", rev = "v1.0.0" }

To allow GitLab CI in dism-cli to clone dism-core, we need to set up SSH access.


Steps

1. Generate SSH Key Pair

Generate a new SSH key pair (without a passphrase) for CI access:

ssh-keygen -t ed25519 -f ci_key -N "" -C "dism-cli-ci-access"
  • This creates:
    • ci_key (private key)
    • ci_key.pub (public key)

2. Add Deploy Key to dism-core

  • Go to the dism-core project on GitLab.
  • Navigate to: Settings > Repository > Deploy Keys
  • Add a new key:
    • Title: dism-cli-ci-access
    • Key: paste the contents of ci_key.pub

3. Add CI/CD Variable to dism-cli

To securely provide the private key to GitLab CI:

  1. Convert the private key to a base64 string:

    base64 -w0 ci_key > ci_key.b64
    
  2. Copy the content of ci_key.b64.

  3. Go to the dism-cli project on GitLab.

  4. Navigate to: Settings > CI/CD > Variables

  5. Add a new variable:

    • Key: CI_SSH_PRIVATE_KEY_B64
    • Value: paste the content from ci_key.b64
    • Type: Variable
    • Masked and Hidden: ✅

With this setup, the GitLab CI runner in dism-cli can authenticate with dism-core via SSH, allowing it to fetch dependencies during the test stage.

Metadata

Release files for cmsdism 0.6.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 cmsdism 0.6.1
File Size Uploaded Provenance
cmsdism-0.6.1.tar.gz 778.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for cmsdism 0.6.1
File Interpreter ABI Platform
cmsdism-0.6.1-py3-none-any.whl Python 3 none any Details

Total release size: 812.0 kB

Release files / cmsdism-0.6.1.tar.gz

Download URL cmsdism-0.6.1.tar.gz
Size 778.6 kB
Tags Source
SHA-256 checksum
How to use checksums
5053fd1786b43e893c8d580e655343ea0601a5dd9b60234e0589885c13f268b7
BLAKE2b-256 checksum
How to use checksums
2635f7ce52e7e70f43e050fda87e087635fd7fd2c416d4893221550084a28752
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.4

Release files / cmsdism-0.6.1-py3-none-any.whl

Download URL cmsdism-0.6.1-py3-none-any.whl
Size 33.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d54e32600422180fd01f42b69fcfb46ce421927b041b9f5b40741f0f3be5831f
BLAKE2b-256 checksum
How to use checksums
dbb6ee181625ac7665841ca4a9098a34f949f3833dbd3a1717bf42adff3a4e8d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.4

Security for cmsdism 0.6.1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

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