Skip to main content

Giskard Core

Core shared utilities and foundational components for the Giskard library ecosystem.

Installation

uv add giskard-core
# or
pip install giskard-core

Requirements

  • Python >= 3.12
  • pydantic >= 2.11.0, < 3

Telemetry

giskard-core includes optional usage analytics to help maintainers understand how the libraries are used (versions, environment, coarse feature usage). Analytics are sent to PostHog hosted in the EU (https://eu.i.posthog.com).

What we collect

Installed versions of Giskard libraries (each the package version or not_installed), a coarse environment label (ci, colab, kaggle, or local), and aggregated non-content metrics for Checks runs, Scan runs, and Hub-format exports. These metrics include counts, counts of checks by kind (including custom kind identifiers you register), fixed feature modes, booleans, durations, and pass/fail/error/skip-style outcomes. Descriptions, language values, scenario names, prompts, model outputs, recommendations, trace content, file paths, and exception messages are not sent.

If an error propagates through the telemetry context, a single event may record exception_type (the Python class name only), not the exception string or traceback.

Anonymous identifier

A random persistent ID may be stored under ~/.giskard/id so repeated sessions can be counted without logging in. If the home directory is not writable, a one-off anonymous value is used for that process instead.

How to disable telemetry

Set any of these environment variables to a truthy value (matched case-insensitively; wrapping quotes are ignored; common examples: 1, true, yes, on):

  • DO_NOT_TRACK
  • GISKARD_TELEMETRY_DISABLED

Flags are read from the process environment and from a .env file in the working directory (process env wins). Set them before importing Giskard packages to skip creating ~/.giskard/id and to never start the analytics sender. If you set them later, further events are dropped and the sender is stopped so no requests are made to PostHog (including in environments that block eu.i.posthog.com).

You can also call disable_telemetry() from giskard.core at runtime to turn off further sends for that process (for example from test harnesses). That does not remove ~/.giskard/id if it was already created; use env-based opt-out before import to avoid writing the file.

from giskard.core import disable_telemetry

disable_telemetry()

GeoIP

When telemetry is enabled, PostHog may apply GeoIP enrichment to events (server-side location metadata used in dashboards). That enrichment is off whenever telemetry is fully disabled (see above) or when you call disable_telemetry().

To keep usage analytics but disable GeoIP only, set this environment variable to a truthy value (same matching rules and .env behavior as in How to disable telemetry):

  • GISKARD_TELEMETRY_DISABLE_GEOIP

For library authors

The client and helpers are exported from giskard.core: telemetry, telemetry_tag, telemetry_run_context, scoped_telemetry, and disable_telemetry. New events should follow the same rules: no user strings, secrets, file paths, or model I/O in analytics payloads.

Development

make setup    # Install dependencies
make test     # Run tests
make lint     # Run linting
make format   # Format code

License

This project is licensed under the MIT License - see the LICENSE file for details.

Metadata

Release files for giskard-core 1.0.2

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

Source distribution (sdist)

Source distribution for giskard-core 1.0.2
File Size Uploaded
giskard_core-1.0.2.tar.gz 14.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for giskard-core 1.0.2
File Interpreter ABI Platform
giskard_core-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 30.6 kB

Release files / giskard_core-1.0.2.tar.gz

Download URL giskard_core-1.0.2.tar.gz
Size 14.2 kB
Tags Source
SHA-256 checksum
How to use checksums
6003e793d84483afbfc4a23342df3f59377c86aadf69a04f3c102116a53d4855
BLAKE2b-256 checksum
How to use checksums
19857e43a549274ef5960108fafb2cd33ef5d971bf545ba45a4ab794c07db1d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.22 {"installer":{"name":"uv","version":"0.12.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / giskard_core-1.0.2-py3-none-any.whl

Download URL giskard_core-1.0.2-py3-none-any.whl
Size 16.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
43b6f70bb20803c0cf9bf9c6e51fcbfb89710f89fe12e58d16f5551c6af4d39a
BLAKE2b-256 checksum
How to use checksums
0220fb93471d7f285104664c87a55a90e141056a61664fdd655fb9d3cda3a73f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.22 {"installer":{"name":"uv","version":"0.12.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
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