The section your link pointed to isn't on Giskard's page any more, so we've brought you to the top.
Giskard tests and evaluates LLMLLMA large language model, a neural network trained on large amounts of text to recognize patterns and generate language. Applications use it for tasks such as answering, summarizing and writing code. applications for performance, bias, and security issues.
from giskard.checks import set_default_generator
set_default_generator('openai/gpt-4o-mini')
import asyncio
from giskard.checks import Scenario, Groundedness
def get_answer(inputs: str) -> str:
return "Paris"
async def main() -> None:
scenario = (
Scenario("test_france_capital")
.interact(inputs="What is the capital of France?", outputs=get_answer)
.check(
Groundedness(
name="answer is grounded",
context="France is in Western Europe. Its capital is Paris.",
)
)
)
result = await scenario.run()
result.print_report()
asyncio.run(main())
from giskard.checks import Scenario, AllOf, AnswerRelevance, Toxicity
scenario = (
Scenario("test_safe_response")
.interact(inputs="Tell me about climate change.", outputs=my_agent)
.check(
AllOf(
AnswerRelevance(name="relevant"),
Toxicity(name="non-toxic"),
)
)
)
import asyncio
from giskard.scan import vulnerability_scan
async def my_agent(inputs: str) -> str:
return f"Echo: {inputs}"
async def main() -> None:
await vulnerability_scan(
target=my_agent,
description="A customer support chatbot for an e-commerce platform.",
languages=["en"],
)
asyncio.run(main())
import asyncio
from giskard.scan import vulnerability_scan
async def main():
await vulnerability_scan(
target=my_agent,
description="A customer support chatbot for an e-commerce platform.",
languages=["en"],
)
asyncio.run(main())
result = await suite.run()
hub_payload = result.to_hub_format()
suite.run(parallel=True)
result.export(format="junix")
testset.push_to_hub("username/my-qa-testset")
from giskard import Dataset, Model
from giskard.detectors import conversation_correctness
dataset = Dataset(df, ...
model = Model(...)
detector = conversation_correctness()
results = detector.run(dataset, model)
from giskard import Client
client = Client()
gemini_client = client.llm("gemini")
scan_results.to_json("my_scan_results.json")
junit_xml = result.to_junit()
dataset = giskard.Dataset.from_test_details(test_results)
print(dataset)
from giskard import llm_scan
import garak
garak_config = {
'model_provider': 'garak',
'model_name': 'gpt-3.5-turbo'
}
scan_result = llm_scan(
model=my_model,
dataset=my_dataset,
scan_type='llm',
engine=garak_config
)
@giskard.test(debug_description="Validates that prediction stability holds under noise")
def test_stability(df, model): ...
Summary
Giskard is an open-source Python library, licensed under Apache 2.0, for testing, red-teaming, and vulnerability scanning of LLM-based agents. You install it with pip and import it into your own code, either as the base giskard package for checks and suites or with the scan extra for its vulnerability and quality scanner; it targets teams building and evaluating agentic systems rather than traditional ML models, which the now-unmaintained v2 line handled. It generates adversarial scenarios such as prompt injectionprompt injectionAn attack where text the model reads, such as a web page, file or tool result, carries instructions that override the user's. It is the main security risk for agents with tools., crescendo-style multi-turn attacks, and GCG suffix attacks, and can pull in third-party scan providers like DeepTeam and LiDAR for extra coverage, positioning it as a working layer over agent evaluation rather than a single benchmark. Development is active, with 106 contributors, 451 commits in the past year, and a release 14 days ago.
Giskard tests and evaluates LLM applications for performance, bias, and security issues.
Which prompt injection or jailbreak attempts would get through my agent before an attacker finds them?
runs generated adversarial scenarios, including crescendo-style multi-turn attacks and GCG suffix attacks, against the agent and reports which ones broke through
Where does my agent give unreliable or off-topic answers instead of failing cleanly?
applies LLM-judge checks such as answer relevance and toxicity to recorded traces and flags responses that fail the judge, along with its reason
Is my retrieval-augmented agent actually grounded in its knowledge base?
generates scenarios from the knowledge base itself and scores the agent's answers against them, surfacing quality gaps a static test set would miss
Which of my agent's behaviors have I never actually tested?
groups scenarios by tag in the suite results so untested categories of behavior show up as gaps rather than silent passes
Would adding a third-party red-teaming source turn up attacks my own scenarios miss?
pulls in providers like DeepTeam and LiDAR alongside the built-in generators and merges their findings into the same scan report
Did a change to my agent quietly break something that used to pass?
reruns the same suite of scenarios and checks against the new version and reports which results flipped from pass to fail
Built from Giskard's releases, docs, README and our own runs.
“Seen” marks the month we first spotted a release the vendor didn't date.
Group names and tags are our labels.
Giskard covers 1 of the 2 vulnerability management capabilities we track.
What Giskard offers you
Scripting API1
Command-line interface
No capabilities match.
+Vulnerability scanning5 capabilitiesGiskard's core function is programmatic red-teaming of LLM agents and RAG pipelines, running structured scans to surface weaknesses across single-turn and multi-turn interactions. It supports a range of built-in attack generators and can pull in external datasets and third-party scan providers to broaden coverage.▸
+Adversarial scenario generatorsshippedGenerates adversarial test inputs using built-in methods such as GCG injection, crescendo multi-turn attacks, do-not-answer probes, and sycophancy scenarios drawn from a knowledge base.30 releases · 1 other source · first seen Dec 2023▸
release
30 total
Adds metadata parameter to the generator completion pipeline.
v3.0.0 · Aug 2026
· source
· release history
Introduces personas and extended context support for UserSimulator in generators.
v3.0.0 · Aug 2026
· source
· release history
Adds generator retry and timeout policies to giskard-agents.
v3.0.0 · Aug 2026
· source
· release history
Introduces personas and extended context support for UserSimulator in the generators module.
v3.0.0 · Aug 2026
· source
· release history
Expands the prompt-injection test suite with additional scenarios and templates covering more injection attack patterns.
giskard-core/v1.0.1rc1 · Aug 2026
· source
· release history
Adds more scenarios and templates for prompt-injection testing (OSS-138), broadening coverage of injection attack surfaces.
giskard-core/v1.0.1rc1 · Aug 2026
· source
· release history
example
Red-team a customer-facing chatbot against prompt injection and harmful content probes without writing any test cases manually.$ import asyncio from giskard.scan import vulnerability_scan async def my_agent(inputs: str) -> str: return f"Echo: {inputs}" # replace with your real agent async def main() -> None: await…
v3.0.0b3 · Aug 2026
· source
+Vulnerability scanningshippedLets users run automated red-team scans against LLM agents via an API that handles both single-turn and multi-turn conversation modes.23 releases · 5 other sources · first seen Oct 2023▸
Shared capability: Vulnerability scanning
Also counts toward: Scripting API
release
23 total
Adds vulnerability_scan function in giskard-scan for automated red-teaming across OWASP LLM Top-10 threat categories including prompt injection, harmful content, stereotypes, and misinformation.
v3.0.0 · Aug 2026
· source
· release history
Expands the built-in prompt-injection dataset with additional scenarios and templates, broadening adversarial coverage in vulnerability_scan.
giskard-core/v1.0.1rc1 · Aug 2026
· source
· release history
Adds vulnerability_scan function in giskard.scan for automated red-teaming of agents across OWASP LLM Top-10 threat categories including prompt injection, harmful content, stereotypes, and misinformation — accepts target, description, and languages parameters.
v3.0.0b3 · Aug 2026
· source
· release history
Exposes default registry generators on the public API via vulnerability_suite_generator_registry, allowing third-party generators to be registered and consumed by vulnerability_scan and generate_suite.
giskard-core/v1.0.1b6 · Aug 2026
· source
· release history
Integrates third-party scan support into vulnerability_scan via the new feat(scan): integrate third party scan capability, extending the scanner beyond built-in generators.
giskard-core/v1.0.1b6 · Aug 2026
· source
· release history
Adds a vulnerability scan API (vulnerability_scan) for programmatic red-teaming.
giskard-core/v1.0.1b5 · Jul 2026
· source
· release history
docs
Open-source Python library for testing, red-teaming, and vulnerability scanning of LLM-based agents and agentic systems.
example
Run a scan with the new multitarget mode to test both single-turn and multi-turn interactions in one pass.$ giskard scan --target-mode multiturn
giskard-core/v1.0.1b5 · Jul 2026
· source
Run a full vulnerability scan against an agent with the new programmatic API, including multi-turn mode.$ import asyncio from giskard.scan import vulnerability_scan async def main(): await vulnerability_scan( target=my_agent, description="A customer support chatbot for an e-commerce platform.",…
giskard-core/v1.0.1b5 · Jul 2026
· source
Initialize the Gemini client to interact with Google's model for scanning or evaluation.$ from giskard import Client client = Client() gemini_client = client.llm("gemini")
v2.14.1 · Jul 2024
· source
Run scenario eval or vulnerability scan$ asyncio.run(main())
+RAG and agent quality scanningshippedRuns scenario-based quality scans against RAG pipelines and agents, assessing output quality using scenarios generated from a knowledge base.15 releases · 1 other source · first seen Sep 2022▸
release
15 total
Introduces giskard-scan (beta) with vulnerability_scan (red-teaming across OWASP LLM Top-10 threat categories including prompt injection, harmful content, stereotypes, and misinformation) and quality_scan (RAG/knowledge-base quality evaluation).
v3.0.0 · Aug 2026
· source
· release history
Adds quality_scan with KnowledgeBase support in giskard-scan for RAG knowledge-base quality evaluation, replacing v2 RAGET.
v3.0.0b3 · Aug 2026
· source
· release history
Add quality scan and knowledge base scenario generator
giskard-core/v1.0.1b5 · Jul 2026
· source
· release history
Adds quality scan with knowledge base scenario generator for RAG and agent quality evaluation.
giskard-core/v1.0.1b5 · Jul 2026
· source
· release history
Complete and reorganize quality scan
giskard-core/v1.0.1b5 · Jul 2026
· source
· release history
When registering a new kwargs-based test in the Hub, skip manual dependency management to avoid import errors.$ # Add your kwargs test via the UI or SDK; imports are now handled automatically
v2.5.2 · Jan 2024
· source
+Third-party scan provider integrationshippedAllows third-party scan providers such as DeepTeam and LiDAR to be plugged into the scanning pipeline through a single integration point.9 releases · 1 other source · first seen Oct 2023▸
Shared capability: Vulnerability scanning
release
9 total
Integrates third-party scan support, enabling external ScenarioGenerator instances to plug into the scan pipeline.
giskard-core/v1.0.1b6 · Aug 2026
· source
· release history
Adds third_party scan integration to extend scanning capabilities beyond the default set
giskard-core/v1.0.1b6 · Aug 2026
· source
· release history
Integrates LIDAR scan as a third-party scan provider via third_party_scan.
giskard-scan/v1.0.0b3 · Jul 2026
· source
· release history
Integrates DeepTeam as a third-party scan provider for additional red-teaming coverage.
giskard-scan/v1.0.0b3 · Jul 2026
· source
· release history
Integrates LiDAR scan into third_party_scan as a new scanning backend.
giskard-scan/v1.0.0b3 · Jul 2026
· source
· release history
Integrates LiDAR scan into the third-party scan pipeline via third_party_scan.
giskard-checks/v1.0.2b5 · Jul 2026
· source
· release history
example
Use the Garak engine within an LLM scan to detect specific prompt injection vectors.$ from giskard import llm_scan import garak garak_config = { 'model_provider': 'garak', 'model_name': 'gpt-3.5-turbo' } scan_result = llm_scan( model=my_model, dataset=my_dataset, scan_type='llm',…
v2.0.0b29 · Oct 2023
· source
+HarmBench dataset integrationshippedMakes the HarmBench dataset available as an input source when constructing vulnerability scan scenarios.2 releases · first seen Jul 2026▸
release
Add HarmBench dataset to vulnerability scan
giskard-core/v1.0.1b5 · Jul 2026
· source
· release history
Integrates the HarmBench dataset into the vulnerability scan.
giskard-core/v1.0.1b5 · Jul 2026
· source
· release history
+Evaluation and checks2 capabilitiesGiskard provides a library of pre-built checks and an LLM-as-judge mechanism for assessing model outputs against defined criteria. These cover both automated linguistic metrics and flexible value comparisons, with guardrails to ensure evaluations produce traceable rationales.▸
+Built-in checks libraryshippedSupplies ready-made checks including readability metrics and configurable string or value comparisons that can be applied directly to model outputs.19 releases · first seen Mar 2026▸
release
19 total
Adds JSON validity check to giskard-checks.
v3.0.0 · Aug 2026
· source
· release history
Adds RegexMatching check to giskard-checks for pattern-based output validation, with regex timeout to mitigate ReDoS.
v3.0.0 · Aug 2026
· source
· release history
Adds JSONValidity check for asserting that agent outputs are well-formed JSON.
v3.0.0 · Aug 2026
· source
· release history
Adds JSON validity check to the suite of available LLM evaluation checks
v3.0.0 · Aug 2026
· source
· release history
Supports pydantic-compatible input types in checks.
v3.0.0 · Aug 2026
· source
· release history
Supports pydantic-compatible input types for checks.
v3.0.0 · Aug 2026
· source
· release history
+LLM-as-judge evaluationshippedUses an LLM to score model outputs and requires a non-blank reason for every judgment so that passes cannot be recorded silently.13 releases · 3 other sources · first seen Dec 2023▸
release
13 total
Adds SOM (Self-Organizing Map) support for judges
v3.0.1 · Oct 2026
· source
· release history
Introduces a judges directory for LLM and prompt-reliant checks in giskard-checks.
v3.0.0 · Aug 2026
· source
· release history
Jinja parsing in Workflow.chat is now opt-in; workflows that relied on Jinja template rendering by default will no longer render templates unless explicitly enabled.
v3.0.0 · Aug 2026
· source
· release history
Adds AnswerRelevance and Toxicity LLM judge checks
v3.0.0 · Aug 2026
· source
· release history
Ships built-in LLM-as-judge checks — Groundedness, Conformity, and LLMJudge — in giskard.checks, with default model openai/gpt-4o-mini.
v3.0.0b3 · Aug 2026
· source
· release history
Enforces non-blank judge reasons in LLM-as-judge checks — evaluations that return an empty reason string now fail explicitly instead of silently passing.
giskard-core/v1.0.1b6 · Aug 2026
· source
· release history
example
Define and run a grounded-answer eval scenario with a built-in LLM judge, then print the report.$ import asyncio from giskard.checks import Scenario, Groundedness def get_answer(inputs: str) -> str: return "Paris" async def main() -> None: scenario = ( Scenario("test_france_capital")…
v3.0.0 · Aug 2026
· source
Set the default generator for LLM-as-judge checks using a model name string instead of constructing a generator object.$ from giskard.checks import set_default_generator set_default_generator('openai/gpt-4o-mini')
giskard-checks/v1.0.3 · Aug 2026
· source
Verify a RAG answer is grounded in its retrieved context using the built-in LLM-as-judge check, catching hallucinations in CI.$ import asyncio from giskard.checks import Scenario, Groundedness def get_answer(inputs: str) -> str: return "Paris" # replace with your RAG pipeline async def main() -> None: scenario = (…
v3.0.0b3 · Aug 2026
· source
+Test suite execution and reporting2 capabilitiesGiskard organises checks into suites that can be run and reported on as a unit, with control over failure behaviour and automatic recommendations based on scan results. Results can be grouped by scenario tag and exported for use in external dashboards.▸
+Test suite execution and reportingshippedRuns collections of checks as configurable suites and produces reports with scenario tag grouping, failure-behaviour controls, and automatically generated recommendations.49 releases · 3 other sources · first seen Sep 2022▸
release
49 total
Extends set_default_generator to accept model strings (e.g. a provider/model name) in addition to generator objects, simplifying default LLM generator configuration.
giskard-checks/v1.0.3 · Aug 2026
· source
· release history
Adds print_report() method to result models, along with scenario and check error details in suite reports.
v3.0.0 · Aug 2026
· source
· release history
Adds generator-as-protocol-adapter pattern to giskard-agents for wrapping arbitrary LLM backends.
v3.0.0 · Aug 2026
· source
· release history
Supports running individual scenarios multiple times.
v3.0.0 · Aug 2026
· source
· release history
Adds dynamic binding for running batches of scenarios in Suite
v3.0.0 · Aug 2026
· source
· release history
example
Run a validation suite in parallel to reduce overall evaluation time.$ suite.run(parallel=True)
giskard-llm/v1.0.0b4 · Jun 2026
· source
Evaluate the correctness of responses in an AI conversation chain using the new detector.$ from giskard import Dataset, Model from giskard.detectors import conversation_correctness dataset = Dataset(df, ...
v2.15.2 · Oct 2024
· source
Export test results to JUnit XML for CI/CD integration or reporting tools.$ junit_xml = result.to_junit()
v2.6.0 · Jan 2024
· source
+Suite result exportshippedExports suite results in a Hub-compatible format so they can be consumed by upstream reporting pipelines or dashboards.6 releases · 4 other sources · first seen Jul 2023▸
release
Exports SuiteResult in JSON format via the new export capability
v3.0.0 · Aug 2026
· source
· release history
Add to_hub_format() method in SuiteResult
giskard-core/v1.0.1b5 · Jul 2026
· source
· release history
Adds to_hub_format() method on SuiteResult to export results to Hub-compatible format.
giskard-core/v1.0.1b5 · Jul 2026
· source
· release history
Junix is now supported as an export format for SuiteResult objects
giskard-checks/v1.0.2b1 · Apr 2026
· source
· release history
Adds QATestset.push_to_hub() to upload quantization-aware testsets directly to Hugging Face Hub
v2.17.0 · Jun 2025
· source
· release history
Enables uploading test scan artifacts directly to a Hugging Face Spaces model repository
v2.0.0b12 · Jul 2023
· source
· release history
example
Export suite results to Hub-compatible format for upstream reporting or dashboards.$ result = await suite.run() hub_payload = result.to_hub_format()
giskard-core/v1.0.1b5 · Jul 2026
· source
Export suite results directly to the Giskard hub without manual conversion scripts.$ suite_result.to_hub_format()
giskard-core/v1.0.1b5 · Jul 2026
· source
Export a suite of check results to the new Junix XML format for integration with external systems.$ result.export(format="junix")
giskard-checks/v1.0.2b1 · Apr 2026
· source
Upload a generated QA testset to your HF Hub repository for sharing or downstream evaluation.$ testset.push_to_hub("username/my-qa-testset")
v2.17.0 · Jun 2025
· source
+Configuration and dependency management1 capabilityGiskard manages tool-wide defaults and optional library requirements through a structured settings layer, making misconfiguration visible at startup rather than at runtime. This keeps scan and evaluation setups consistent across different environments.▸
+Configuration and dependency managementshippedManages default model settings via pydantic-settings and raises an immediate error when a check is created without a required optional library, preventing silent misconfiguration.23 releases · 1 other source · first seen Sep 2023▸
release
23 total
set_default_generator now accepts model strings directly
v3.0.1 · Oct 2026
· source
· release history
Allows set_default_generator to accept model strings directly, so callers can specify a generator by name without wrapping it in an object.︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄
v3.0.1 · Oct 2026
· source
· release history
Accepts model strings directly in set_default_generator, letting callers specify a generator by name rather than constructing an object.︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄
v3.0.1 · Oct 2026
· source
· release history
Adds opt-out telemetry via DO_NOT_TRACK=1 or GISKARD_TELEMETRY_DISABLED=1 environment variables, collected through optional PostHog analytics in giskard-core.
v3.0.0 · Aug 2026
· source
· release history
Adds metadata parameter to the generator completion pipeline in giskard-agents.
v3.0.0 · Aug 2026
· source
· release history
Adds optional PostHog analytics to giskard-core and checks; opt out before importing via DO_NOT_TRACK=1 or GISKARD_TELEMETRY_DISABLED=1 environment variables.
v3.0.0 · Aug 2026
· source
· release history
example
Set the default generator for checks using a plain model string instead of a generator object.$ from giskard.checks import set_default_generator set_default_generator('openai/gpt-4o-mini')
v3.0.1 · Oct 2026
· source
+Other11 capabilities▸
+Fairness and bias detectionshippedDetect and measure fairness issues such as disparate impact in model outputs through dedicated test capabilities.7 releases · first seen Nov 2022▸
release
7 total
Adds telemetry measurement for scan duration and Hub export operations via the telemetry module
giskard-checks/v1.0.4 · Sep 2026
· source
· release history
Adds statistical_parity_difference metric to the statistical parity tests.
v2.13.0 · May 2024
· source
· release history
Adds Fisher's exact test and permutation test support for slice metrics significance testing
v2.1.2 · Dec 2023
· source
· release history
SpuriousCorrelationDetector added to the test suite for identifying spurious correlations
v2.0.0 · Nov 2023
· source
· release history
CorrelationDetector available for detecting feature correlations in datasets
v2.0.0 · Nov 2023
· source
· release history
[GSK-1078] Correlation detector provides a new detection capability for feature correlations in models.
v2.0.0b9 · Jun 2023
· source
· release history
+External ML worker integrationshippedExecute models using external Python code environments to reduce setup overhead and support diverse architectures like arm64.6 releases · first seen Nov 2022▸
release
Enables passing provider transport configuration through Giskard's LLM integration
giskard-llm/v1.0.0b4 · Jun 2026
· source
· release history
Replaces LiteLLM with the new giskard-llm library as the lean LLM provider backend
giskard-core/v1.0.1b3 · Apr 2026
· source
· release history
Adds LiteLLM provider support to allow routing model requests through LiteLLM gateways
v2.16.0 · Nov 2024
· source
· release history
Adds ability to connect multiple external ML workers via create_project method parameters
v2.9.0 · Apr 2024
· source
· release history
Introduces arm64 architecture support via dedicated docker images
v1.3.0 · Nov 2022
· source
· release history
Adds External ML Worker capability to reuse existing Python code environments when executing models, reducing environment setup overhead
v1.3.0 · Nov 2022
· source
· release history
+OWASP LLM suite generationshippedAutomatically generate evaluation suites covering OWASP LLM Top-10 threat categories such as indirect injection.3 releases · 1 other source · first seen May 2026▸
release
Adds minimal OWASP LLM suite generator covering LLM01 indirect injection.
v3.0.0 · Aug 2026
· source
· release history
Adds minimal OWASP LLM suite generator covering LLM01 indirect injection to giskard-checks.
v3.0.0 · Aug 2026
· source
· release history
Adds minimal OWASP LLM suite generator covering LLM01 indirect injection
giskard-llm/v1.0.0b3 · May 2026
· source
· release history
example
Automatically red-team your agent across OWASP LLM Top-10 categories, including prompt injection probes, without writing test cases manually.$ import asyncio from giskard.scan import vulnerability_scan async def my_agent(inputs: str) -> str: return f"Echo: {inputs}" # replace with your real agent async def main() -> None: await…
v3.0.0 · Aug 2026
· source
+Agent interaction supportshippedInteract with and evaluate Giskard models via LangChain agents.4 releases · first seen Sep 2023▸
release
Introduces Scenario API in giskard.checks for composing multi-turn eval interactions via .interact() and .check() chaining, with a .run() async entrypoint and .print_report() output.
v3.0.0b3 · Aug 2026
· source
· release history
Introduces agents instructions feature to define custom behavior for Giskard agents
giskard-core/v1.0.1b3 · Apr 2026
· source
· release history
Introduce step-level type discriminator in agents (GAP-003)
giskard-core/v1.0.1a1 · Mar 2026
· source
· release history
Adds langchain agent to interact with Giskard models
v2.0.0b22 · Sep 2023
· source
· release history
+Agent input coercion and output serializationshippedCoerce agent inputs and serialize outputs to ensure consistent data formats during evaluation.3 releases · first seen Jan 2024▸
release
Adds step-level type discriminator and tool input coercion with output serialization to giskard-agents.
v3.0.0 · Aug 2026
· source
· release history
Add tool input coercion and output serialization capabilities to agents (GAP-005)
giskard-core/v1.0.1a1 · Mar 2026
· source
· release history
Add a flag to handle control characters inside LLM response decoding
v2.5.0 · Jan 2024
· source
· release history
+Check composition operatorsshippedCombine existing checks using AllOf, AnyOf, and Not operators to apply boolean logic to evaluation results.2 releases · 1 other source · first seen Aug 2026▸
release
Adds AllOf, AnyOf, and Not composition operators for RegexMatching-style logic
v3.0.0 · Aug 2026
· source
· release history
Adds AllOf, AnyOf, and Not check composition operators to giskard-checks for combining existing checks with boolean logic.
v3.0.0 · Aug 2026
· source
· release history
example
Compose multiple checks with AllOf to require that agent output is both relevant and non-toxic.$ from giskard.checks import Scenario, AllOf, AnswerRelevance, Toxicity scenario = ( Scenario("test_safe_response") .interact(inputs="Tell me about climate change.", outputs=my_agent) .check( AllOf(…
v3.0.0 · Aug 2026
· source
+Experiment tracking integrationshippedIntegrate with experiment tracking platforms like MLflow and Weights & Biases for result logging and monitoring.3 releases · first seen Sep 2023▸
release
Scenario.from_sequence is removed; step-based scenario construction via the .interact() chain is now required.
v3.0.0 · Aug 2026
· source
· release history
+Suite dynamic binding and chainingshippedRun batches of scenarios with dynamic binding and support chainable operations via Suite.append().3 releases · first seen Mar 2026▸
release
Introduces Suite for running batches of scenarios with dynamic binding; Suite.append() is chainable.
v3.0.0 · Aug 2026
· source
· release history
New Scenario API with .interact() and .check() chain lets you define multi-turn eval scenarios; Suite runs batches of scenarios with dynamic binding and supports Suite.append() chaining.
v3.0.0 · Aug 2026
· source
· release history
Makes Suite.append() chainable by returning self instead of None
giskard-checks/v1.0.1a2 · Mar 2026
· source
· release history
+Agent code quality gatesshippedEnforce lint and type-check rules on agent hook files via a per-file gate and a `uv` guard that runs as part of pre-commit execution.2 releases · first seen Oct 2026▸
release
Adds agent quality rails — a per-file lint/typecheck gate plus uv guard — enforcing code quality checks on agent hook execution.︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄
giskard-core/v1.0.2 · Oct 2026
· source
· release history
Adds agent quality rails with a per-file lint/typecheck gate and uv guard for pre-commit hooks.︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄
giskard-core/v1.0.2 · Oct 2026
· source
· release history
+Prompt template policy enforcementshippedApply an opt-in strict template policy within `giskard.agents` to control how prompt templates are enforced during agent runs.1 release · first seen Oct 2026▸
release
Adds an opt-in strict template policy to giskard.agents, controlling how prompt templates are enforced during agent runs.︀︄︇︀︅︉︀︅︀︀︃︀︀︅︅︀︅︊︀︄︆︀︃︄
giskard-core/v1.0.3 · Oct 2026
· source
· release history
+Security policy evaluationshippedApply configurable security policies to LLM evaluation workflows to enforce standardized compliance checks.1 release · first seen Nov 2024▸
release
Adds a default security_policy mechanism for LLM evaluation workflows
v2.16.0 · Nov 2024
· source
· release history
Lines in monospace are the tool's own words: help text
parsed from its source, or an endpoint from its API document. Under
release, a line is our summary of a dated release. Under
docs, it is quoted from the tool's own documentation or
website. Each links back to the source it came from.
Command line
View
load a captured run
composed command
No matchesTry a different search, or clear a filter to see more.
option surface across analysed releases
options at that releaseadded, per releaseremoved, per release
option
found in
since
description
No matchesTry a different search, or clear a filter to see more.
option changes per release — drag across the rail to set a range
→
Values are placeholders taken from each option’s declared default.
Nothing is executed here — the output shown is a recording of a run
that already happened.
Score card
Shipping velocityreleases a month, last 12 months
Documentation qualityrelease-notes rubric, 0–100
Breaking-change disciplinehow rarely a release breaks users, and notice given
Maintenance riskquiet time against its own cadence, maintainers
Innovation & surfacenew capabilities, API and MCP surface
Community health
Contributor trenddistinct committers, this year against last
Maintainer concentrationbus factor now against a year ago
Issue backlog trendissues closed per issue opened, 12 months
Responsivenessmedian time to a maintainer’s first reply
Nine scores for Giskard, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.
Each score is 0–100 on a published rubric, derived from data this site already shows.
A dimension we cannot measure says so — it is never scored 0 and never enters a rank.
How this is scored
Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
Documentation quality — the release-notes rubric published on the analytics page, unchanged.
Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.
Release-note detail over time
See how much detail Giskard puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.
Issue, contributor and maintainer activity in Giskard-AI/giskard-oss, 2023-10 – 2026-09,
as of 2026-09-25. Twelve-month figures first; the trend lines run
the whole window.
Contributors31+10 vs prior 12 months
Maintainers5+8 joined · −8 left, last 12 months
Bus factor1committers behind half the commits
Community-filed48%of issues opened, last 12 months
Median time to close5.3 daysfirst maintainer reply 2.9 days
Open backlog24of 629 issues ever filed
Issues opened / month1 · 1communitymaintainers
Open backlog24
Contributors / month2
Commits / month4
Stars5,826
Issue themes, last 12 months
bugs 9%
features 21%
questions 2%
docs 4%
other 64%
Counts from the project's public repository and git history; no individuals
are identified. Maintainers are the committers covering 80% of the last year's
commits. how we measure this
Libraries its release ships
What its latest release locks, checked against known advisories.
None of its release's images build from a lockfile we can read.
Add the badge to your README
Maintain this project? The badge links readers straight to this page, so they can
follow every release here.