Core shared utilities and foundational components for the Giskard library ecosystem.
Project description
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-core, giskard-checks, and giskard-agents (each the package version or not_installed), a coarse environment label (ci, colab, kaggle, or local), and when you run giskard-checks flows, aggregated non-content metrics such as step counts, counts of checks by kind, booleans (e.g. custom trace type or target present), durations, and pass/fail/skip-style outcomes. Scenario names, prompts, model outputs, trace content, 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 before importing giskard packages (values are matched case-insensitively; common examples: 1, true, yes, on):
DO_NOT_TRACKGISKARD_TELEMETRY_DISABLED
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 before importing Giskard packages (same matching rules 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file giskard_core-1.0.1b3.tar.gz.
File metadata
- Download URL: giskard_core-1.0.1b3.tar.gz
- Upload date:
- Size: 11.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4186c9102c5e9a89652c05384f72062b679e3d8b57df1b9a489058cc7dacb6c8
|
|
| MD5 |
64772b97f9a24cb2877358a54b289c8e
|
|
| BLAKE2b-256 |
62a1dff51ccef3051bb3712c954746eb0a2d73dd3e1a80b0eba087e410b38de6
|
File details
Details for the file giskard_core-1.0.1b3-py3-none-any.whl.
File metadata
- Download URL: giskard_core-1.0.1b3-py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f514d3e8628c82866cc13642322df11bc91f2002f9d78c83d0412df26445b9c
|
|
| MD5 |
0000c5815506296db385df6d40bd5cc0
|
|
| BLAKE2b-256 |
b4e6b9697e21129e1f38e0b4dda7b606528f378cfa21e681871b6fb46cc83d5a
|