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.
- Environment variables (see below)
- Directly as an argument to
comet_mpm.API(api_key="...")
export COMET_API_KEY="YOUR-COMET-API-KEY"
Command line
Installing the package provides a comet-mpm command:
comet-mpm audit check -w WORKSPACE -m MODEL --from 2026-08-01T00:00:00Z --to 2026-09-01T00:00:00Z
comet-mpm audit rows -w WORKSPACE -m MODEL --from ... --to ... --out audit_august.csv
comet-mpm audit metrics -w WORKSPACE -m MODEL --from ... --to ... --metric-sql "AVG(prediction_probability)" --out metrics_august.csv
audit extracts a compliance / audit-trail dataset — per-prediction rows with
timestamps, model version, features, prediction, label, the bucket-level
performance metric and the applicable alert threshold — with every export
reconciled against the server and described by a manifest. See
examples/audit_export/README.md.
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.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| comet_mpm-1.5.0.tar.gz | 82.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| comet_mpm-1.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 190.5 kB
Release files / comet_mpm-1.5.0.tar.gz
| Download URL | comet_mpm-1.5.0.tar.gz |
|---|---|
| Size | 82.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
11e453d468c36604e74038c4f1cc393de6e85a2b46225e33b6fd135300298163
|
|
BLAKE2b-256 checksum How to use checksums |
2f18d142c4c24daddf81a90d076094061c1a0e69e83885795ed0f684fa3c44d1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 18, 2026.
Transparency logRelease files / comet_mpm-1.5.0-py3-none-any.whl
| Download URL | comet_mpm-1.5.0-py3-none-any.whl |
|---|---|
| Size | 108.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
856cc8940cb6aa231574240f689bc581c2d448c4400cd92ebdb23e0ed307e097
|
|
BLAKE2b-256 checksum How to use checksums |
917f35071103328f5667c21743132494d08428b4cba42c2b903900070bdf6b1c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Aug 18, 2026.
Transparency log