Skip to main content

comet_mpm

Python SDK for Comet Model Production Monitoring

Installation

pip install comet_mpm --upgrade

To use these command-line functions, you'll need to have your Comet API key set in one of the following two ways.

  1. Environment variables (see below)
  2. Directly as an argument to comet_mpm.API(api_key="...")
export COMET_API_KEY="YOUR-COMET-API-KEY"

API Usage

The comet_mpm package provides a high-level API for interacting with Comet Model Production Monitoring. Here's how to get started:

Initialization

from comet_mpm import API

# Initialize with API key from environment variable
api = API()

# Or initialize with explicit API key
api = API(api_key="YOUR-COMET-API-KEY")

Working with Models

Get a Model by Name

# Get a specific model by workspace and model name
model = api.get_model_by_name("my-workspace", "my-model")

if model:
    print(f"Model ID: {model.model_id}")
    # Get model details
    details = model.get_details()
    print(f"Model details: {details}")
else:
    print("Model not found")

Get the Default Model (Python Panel in Dashboard)

# Get the default model configured for the current panel
model = api.get_model()

if model:
    print(f"Default model ID: {model.model_id}")
else:
    print("No default model configured")

Model Analytics

Once you have a model instance, you can perform various analytics:

Prediction Counts

# Get number of predictions for a time period
predictions_df = model.get_nb_predictions(
    start_date="2024-01-01",
    end_date="2024-01-31",
    interval_type="DAILY"
)
print(predictions_df)

Custom SQL Queries

# Execute custom SQL queries
custom_metric_df = model.get_custom_metric(
    sql="SELECT count(*) FROM model WHERE prediction > 0.5",
    start_date="2024-01-01",
    end_date="2024-01-31",
    interval_type="DAILY",
    filters=["region=us-east", "version=1.0"],
    model_version="1.0.0"
)
print(custom_metric_df)

Feature Analysis

# Get available features
numerical_features = model.get_numerical_features()
categorical_features = model.get_categorical_features()
print(f"Numerical features: {numerical_features}")
print(f"Categorical features: {categorical_features}")

# Feature drift analysis
drift_df = model.get_feature_drift(
    feature_name="age",
    algorithm="EMD",  # Options: "EMD", "PSI", "KL"
    start_date="2024-01-01",
    end_date="2024-01-31",
    interval_type="DAILY"
)
print(drift_df)

# Feature distribution for categorical features
distribution_df = model.get_feature_category_distribution(
    feature_name="region",
    normalize=True,  # Return percentages instead of counts
    start_date="2024-01-01",
    end_date="2024-01-31",
    interval_type="DAILY"
)
print(distribution_df)

# Feature density for numerical features
density_df = model.get_feature_density(
    feature_name="age",
    start_date="2024-01-01",
    end_date="2024-01-31"
)
print(density_df)

# Feature percentiles for numerical features
percentiles_df = model.get_feature_percentiles(
    feature_name="age",
    percentiles=[0, 0.25, 0.5, 0.75, 1.0],
    start_date="2024-01-01",
    end_date="2024-01-31",
    interval_type="DAILY"
)
print(percentiles_df)

Panel Configuration

The API also provides access to panel configuration settings:

# Get panel workspace
workspace = api.get_panel_workspace()
print(f"Panel workspace: {workspace}")

# Get panel dimensions
width = api.get_panel_width()
height = api.get_panel_height()
size = api.get_panel_size()  # Returns (width, height) tuple
print(f"Panel size: {size}")

Complete Example

from comet_mpm import API

# Initialize API
api = API()

# Get a model
model = api.get_model_by_name("my-workspace", "fraud-detection-model")

if model:
    # Get model details
    details = model.get_details()
    print(f"Model: {details['name']}")

    # Analyze predictions over time
    predictions = model.get_nb_predictions(
        start_date="2024-01-01",
        end_date="2024-01-31",
        interval_type="DAILY"
    )

    # Check feature drift for important features
    for feature in ["transaction_amount", "user_age"]:
        drift = model.get_feature_drift(
            feature_name=feature,
            algorithm="EMD",
            start_date="2024-01-01",
            end_date="2024-01-31"
        )
        print(f"Drift for {feature}: {drift}")

    # Get custom metrics
    fraud_rate = model.get_custom_metric(
        sql="SELECT AVG(prediction) FROM model WHERE prediction > 0.5",
        start_date="2024-01-01",
        end_date="2024-01-31",
        interval_type="DAILY"
    )
    print(f"Fraud rate over time: {fraud_rate}")

All methods return pandas DataFrames with metadata stored in the .attrs attribute, making it easy to track the parameters used for each query.

Release files for comet-mpm 1.4.6

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

Source distribution (sdist)

Source distribution for comet-mpm 1.4.6
File Size Uploaded
comet_mpm-1.4.6.tar.gz 46.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for comet-mpm 1.4.6
File Interpreter ABI Platform
comet_mpm-1.4.6-py3-none-any.whl Python 3 none any Details

Total release size: 117.1 kB

Release files / comet_mpm-1.4.6.tar.gz

Download URL comet_mpm-1.4.6.tar.gz
Size 46.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d0f6b6f924bbec64fb9a9c22859b4053483e1c22aaa8f8363b0f4034495f5c5d
BLAKE2b-256 checksum
How to use checksums
fe2e0cb6fdd5dfbf32d1fade7a328662208bcb040909a4bba134a09002abe16a
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 Jul 15, 2026.

Transparency log

Release files / comet_mpm-1.4.6-py3-none-any.whl

Download URL comet_mpm-1.4.6-py3-none-any.whl
Size 70.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ce2d0e722cb11d3974f32ffc0a58c1b8d14f13a6433c09e2c2ef18ffdb295a8c
BLAKE2b-256 checksum
How to use checksums
d530f35bfba2b5ab05aaf9442767073f067d303491bf51f0a53b2a1704fc9ed6
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 Jul 15, 2026.

Transparency log

Release history Release notifications | RSS feed

1.5.0

2 release files

1.4.8

2 release files

This release

1.4.6 This release

2 release files

1.4.4

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.1

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

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