Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Environment:Evidentlyai Evidently Python Core Environment

From Leeroopedia
Knowledge Sources
Domains Infrastructure, ML_Monitoring
Last Updated 2026-02-14 10:00 GMT

Overview

Python 3.10+ environment with pandas, scikit-learn, NumPy, SciPy, and Plotly for ML model monitoring and data quality analysis.

Description

This is the core runtime environment for the Evidently library. It provides the base dependencies needed for all Evidently functionality including data drift detection, model quality reporting, and data quality analysis. The environment is CPU-based and does not require GPU hardware. It is built around the scientific Python stack (pandas, NumPy, SciPy, scikit-learn) with Plotly for visualizations and Pydantic for data validation.

Usage

Use this environment for any Evidently workflow. It is the mandatory prerequisite for running all reports, test suites, metrics, and the Evidently UI service. All other optional environments (LLM, Spark, SQL) extend this base environment.

System Requirements

Category Requirement Notes
OS Any (Linux, macOS, Windows) OS Independent per classifiers
Python >= 3.10 Supports 3.10, 3.11, 3.12, 3.13
Hardware CPU No GPU required for core functionality
Disk ~500MB For package installation including UI assets

Dependencies

System Packages

  • `build-essential` (Linux only, for compilation during pip install)
  • `gcc` (Linux only, for C extensions)

Python Packages

  • `plotly` >= 5.10.0, < 6
  • `statsmodels` >= 0.14.0
  • `scikit-learn` >= 1.1.1
  • `pandas[parquet]` >= 1.3.5
  • `numpy` >= 1.23.0
  • `nltk` >= 3.6.7
  • `scipy` >= 1.10.0
  • `requests` >= 2.32.0
  • `PyYAML` >= 6.0.1
  • `pydantic` >= 1.10.16
  • `litestar` >= 2.19.0
  • `typing-inspect` >= 0.9.0
  • `uvicorn[standard]` >= 0.22.0
  • `watchdog` >= 3.0.0
  • `typer` >= 0.3
  • `rich` >= 13
  • `iterative-telemetry` >= 0.0.5
  • `dynaconf` >= 3.2.4
  • `fsspec` >= 2024.9.0
  • `ujson` >= 5.4.0
  • `deprecation` >= 2.1.0
  • `uuid6` >= 2024.7.10
  • `cryptography` >= 43.0.1
  • `opentelemetry-proto` >= 1.25.0

Credentials

The following environment variables are optional:

  • `DO_NOT_TRACK`: Set to any value to disable anonymous usage telemetry.
  • `EVIDENTLY_DISABLE_TELEMETRY`: Set to `"1"` to disable telemetry (legacy).
  • `PRETTY_EXCEPTIONS_DISABLED`: Set to any value to disable Typer pretty exception output.
  • `EVIDENTLY_TYPE_PREFIXES`: Comma-separated list of additional type prefixes for custom polymorphic model registration.

Quick Install

# Install core Evidently
pip install evidently

Code Evidence

Python version requirement from `pyproject.toml:14`:

requires-python = ">=3.10"

Pydantic v1/v2 compatibility shim from `src/evidently/_pydantic_compat.py:5-7`:

v = 1 if pydantic.__version__.startswith("1") else 2

if v == 1:
    from pydantic import BaseModel
else:
    from pydantic.v1 import BaseModel

Telemetry opt-out from `src/evidently/telemetry.py:47-53`:

DO_NOT_TRACK_ENV = "DO_NOT_TRACK"
event_logger = IterativeTelemetryLogger(
    "evidently",
    evidently.__version__,
    enabled=lambda: os.environ.get(DO_NOT_TRACK_ENV, None) is None,
)

Dockerfile base image from `docker/Dockerfile.service:1`:

FROM python:3.11-slim-bookworm

Common Errors

Error Message Cause Solution
`Duplicate key {key} in alias map` Conflicting type aliases registered for polymorphic models Check for duplicate `type_alias` in Config classes; set `EVIDENTLY_TYPE_PREFIXES` if using custom model extensions
`ImportError: pydantic.v1` Pydantic v1 installed but code expects v2 path Upgrade pydantic to >= 2.0 or ensure v1 compatibility path is working

Compatibility Notes

  • Pydantic v1 and v2: Evidently supports both Pydantic v1 (>= 1.10.16) and v2 via a compatibility shim in `_pydantic_compat.py`. All internal code imports from this shim rather than directly from pydantic.
  • Minimum versions: The `requirements.min.txt` file pins exact minimum versions and is validated by tests in `tests/test_setup.py` to stay in sync with `pyproject.toml`.

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment