Skip to main content

GenAI & Agentic AI Security Incidents

Incidents Validate dataset PyPI version Python versions Hugging Face dataset DOI License: MIT (code) License: CC-BY-4.0 (data)

genai_incidents is a consolidated, machine-readable index of publicly disclosed security incidents, vulnerabilities, and red-team findings involving generative-AI and agentic-AI systems, normalized onto OWASP LLM/ASI Top 10, NIST AI RMF, and MITRE ATLAS so you can query and pivot across sources that don't share a schema. It's built for AppSec/threat-intel teams doing CVE and vendor-advisory triage, red-teamers scoping attack classes, and researchers tracking incident trends โ€” pull it as a Python package, a Hugging Face dataset, raw JSON, or a STIX/TAXII/MISP feed. It is not a complete census of every AI incident, and most taxonomy/severity labels are heuristic-assigned rather than human-reviewed โ€” see Limitations & biases before citing a mapping count as a measured real-world rate.


What's in the data

13,060 entries as of the 2026-07-31 build, 1,905 of them `tier: landmark` โ€” the curated, headline-worthy subset (see `docs/DATA_DICTIONARY.md`'s `tier` field for the exact definition); cite the landmark count, not the full corpus, when you mean "notable incidents." Coverage spans 1983โ€“2026. Full field reference: [`docs/DATA_DICTIONARY.md`](docs/DATA_DICTIONARY.md).

Beyond the obvious title/description/severity fields, a few worth knowing about before you build on this data:

  • content_license โ€” a row-level marker on entries whose upstream source imposes its own attribution/share-alike obligation on that specific row, carried through the full JSON, the Hugging Face export, and the STIX bundle (as x_content_license). Its absence means no known obligation, not a guarantee the row is unencumbered.
  • source_status / source_freshness โ€” whether a row is still emitted by a build and whether the upstream source that fed it is still refreshing are tracked as two separate, independent facts. A committed ingest snapshot keeps re-emitting its rows every build even after the source that produced them goes dark, so a row being present is never itself a freshness claim โ€” source_freshness is the field that actually says so, and it's published at data/source_freshness.json.
  • quality_tier / confidence โ€” vetting level (curated / reviewed / auto) and a rule-derived confidence tier, so you can filter to only human/assisted-reviewed entries instead of the full heuristic-labeled corpus.
  • Tombstones, never deletions โ€” merged or withdrawn IDs are never dropped; they redirect (or terminate) via data/id_deprecations.json, so a citation of any ID this project has ever published resolves to something, never to silence. See docs/ID_POLICY.md for the ID-stability commitment.

Heuristic labels, stated plainly: most taxonomy and severity labels are assigned by deterministic heuristics, not human review. A count like "N incidents tagged LLM01" is a labeling artifact of what the heuristics matched across whichever sources happened to be aggregated โ€” it is not a measured rate of how often that failure mode occurs in the real world. This is the datasheet's own warning, not a paraphrase of it: see Limitations & biases for the full statement and known gaps.

Taxonomies mapped

  • OWASP Top 10 for LLM Applications (2025) โ€” LLM01โ€“LLM10 โ€” core
  • OWASP Agentic Top 10 (ASI) โ€” ASI01โ€“ASI10 โ€” core
  • NIST AI Risk Management Framework (AI 100-1) โ€” GOVERN / MAP / MEASURE / MANAGE subcategories โ€” core
  • MITRE ATLAS โ€” tactics (AML.TA00xx) and techniques (AML.T00xx) โ€” core
  • MAESTRO architectural layers (L1โ€“L7) โ€” companion (carried on entries whose upstream source already provides a MAESTRO mapping; not populated on every entry)
  • VERIS 1.4.1 crosswalk (veris:* tags in the MISP export) โ€” experimental (a hand-curated crosswalk from attack_vector, emitted at export time only โ€” not a stored per-incident schema field)

That's six taxonomies total, not four โ€” see docs/TAXONOMIES.md for a chooser table and the full code lists.

How this differs from AIID / MIT AI Risk Repository / AVID: those projects are themselves primary or aggregated incident trackers, and this dataset draws on several of them as upstream sources (see docs/SOURCE_LICENSES.md) rather than replacing them. What this project adds is normalization onto security-oriented taxonomies (OWASP LLM/ASI, NIST AI RMF, MITRE ATLAS) across sources that don't share a common schema. A full side-by-side positioning comparison is planned but not yet written.

Documentation & policies

Provenance, composition, limitations (Datasheets for Datasets) docs/DATASHEET.md
Per-source license/ToS audit โ€” every upstream, its terms, this project's remediation docs/SOURCE_LICENSES.md
How the CC-BY-4.0 data grant applies, and where it doesn't NOTICE-DATA
Incident ID stability policy (tombstones, redirects always honored; ID-width decision still pending) docs/ID_POLICY.md
Ingestion conduct โ€” rate limits, robots.txt, identification docs/INGESTION_CONDUCT.md
Field reference docs/DATA_DICTIONARY.md
Taxonomy detail and chooser table docs/TAXONOMIES.md
Scope contract โ€” what's in/out, and why INCLUSION.md
Methodology paper docs/paper/genai-incidents-methods.md
Public evidence trail โ€” dated audits, delta reports, and rulings behind licensing/data/conduct decisions docs/audits/
Corrections & scope disputes โ€” open a data correction or scope dispute; accepted changes logged in CORRECTIONS.md
Changelog CHANGELOG.md

docs/audits/ is unusual for a dataset repo, and deliberately so: rather than folding a licensing ruling or a data-migration rationale into a doc that then has to be kept perpetually current, each is a dated, standalone record of what was true and why a decision was made โ€” worth a look if you want the reasoning behind a change, not just its result.

Latest release

2.9.0 โ€” released 2026-07-31. A licensing and provenance release (Phase 1, "Honest"): row-level content-licence marking, per-entry OECD AIM attribution, an AIID content-licensing ruling, source-freshness disclosure, and an orphaned, unmaintained ingest file retired with its rows tombstoned rather than deleted. Full release notes โ€” the field-level delta, a consumer-impact section listing every affected ID, and the re-derivation recipe for every figure โ€” are at docs/releases/v2.9.0.md; CHANGELOG.md carries the same entry.


Layout

.
โ”œโ”€โ”€ data/
โ”‚   โ”œโ”€โ”€ incidents.json          โ† the full, authoritative dataset (use this)
โ”‚   โ”œโ”€โ”€ incidents.min.json      โ† slim variant: id, title, taxonomy mappings, primary reference
โ”‚   โ”œโ”€โ”€ stats.json              โ† the single source of every published count (invariant 6)
โ”‚   โ”œโ”€โ”€ id_deprecations.json    โ† merged/withdrawn ID redirects and tombstones
โ”‚   โ”œโ”€โ”€ source_freshness.json   โ† reviewed registry of which sources have stopped refreshing
โ”‚   โ””โ”€โ”€ legacy_consolidated.json โ† intermediate output from the legacy parser
โ”œโ”€โ”€ schema/
โ”‚   โ””โ”€โ”€ incident.schema.json    โ† JSON Schema for one incident
โ”œโ”€โ”€ mappings/
โ”‚   โ”œโ”€โ”€ owasp_llm_top10_2025.json
โ”‚   โ”œโ”€โ”€ owasp_asi_top10.json
โ”‚   โ”œโ”€โ”€ nist_ai_rmf.json
โ”‚   โ”œโ”€โ”€ mitre_atlas.json
โ”‚   โ”œโ”€โ”€ cwe_capec.json
โ”‚   โ”œโ”€โ”€ veris.json
โ”‚   โ””โ”€โ”€ maestro_layers.json
โ”œโ”€โ”€ legacy/                     โ† original source files (preserved verbatim)
โ”œโ”€โ”€ ingest/                     โ† per-source aggregator outputs (CVE, AIID, ATLAS, etc.)
โ”œโ”€โ”€ scripts/
โ”‚   โ”œโ”€โ”€ parse_existing.py             โ† parse legacy/ โ†’ data/legacy_consolidated.json
โ”‚   โ”œโ”€โ”€ ingest_external.py            โ† parse cloned source repos under ../_external/ โ†’ ingest/*.json
โ”‚   โ”œโ”€โ”€ ingest_aiid_snapshot.py       โ† AIID official weekly snapshot (sanctioned bulk channel) โ†’ ingest/aiid_full.json
โ”‚   โ”œโ”€โ”€ scrape_aiid.py                โ† RETIRED per-page scrape (kept only as a reused parsing-logic library; disabled in Makefile)
โ”‚   โ”œโ”€โ”€ ingest_airi_navigator.py      โ† MIT FutureTech AI Risk Navigator CSV โ†’ ingest/airi_navigator_incidents.json
โ”‚   โ”œโ”€โ”€ ingest_aiaaic_sheet.py        โ† AIAAIC Repository public Google Sheet โ†’ ingest/aiaaic_sheet_incidents.json
โ”‚   โ”œโ”€โ”€ ingest_oecd_aim.py            โ† OECD AI Incidents Monitor (large page crawl) โ†’ ingest/oecd_aim_full_incidents.json
โ”‚   โ”œโ”€โ”€ ingest_cve_nvd_expanded.py    โ† pull AI-relevant CVEs from NVD/GHSA/OSV โ†’ ingest/cve_nvd_expanded.json
โ”‚   โ”œโ”€โ”€ ingest_cisa_kev.py            โ† CISA Known Exploited Vulnerabilities catalog (enrichment only)
โ”‚   โ”œโ”€โ”€ merge_and_dedupe.py           โ† merge legacy + ingest/* โ†’ data/incidents.json
โ”‚   โ”œโ”€โ”€ render_markdown.py            โ† data/incidents.json โ†’ INCIDENTS.md + data/stats.json
โ”‚   โ”œโ”€โ”€ render_docs_stats.py          โ† templates data/stats.json's counts into README/DATASHEET/site/CITATION.cff (invariant 6)
โ”‚   โ”œโ”€โ”€ check_stats_drift.py          โ† CI gate: fails on any doc surface out of sync with data/stats.json, or a hardcoded total
โ”‚   โ”œโ”€โ”€ export_stix.py / export_taxii.py / export_misp.py / export_huggingface.py  โ† format exporters
โ”‚   โ””โ”€โ”€ validate.py                   โ† validate JSON against schema
โ”œโ”€โ”€ INCIDENTS.md                โ† rendered index: unified table, newest-first
โ”œโ”€โ”€ docs/incidents/<year>.md    โ† per-year detail shards linked from INCIDENTS.md
โ”œโ”€โ”€ docs/audits/                โ† dated project decision records (licensing, data, conduct) โ€” see Documentation & policies below
โ”œโ”€โ”€ tests/                      โ† pytest suite for merge/render/export/ingest-conduct helpers
โ”œโ”€โ”€ LICENSE                     โ† MIT (covers code in scripts/, schema/, src/)
โ”œโ”€โ”€ LICENSE-DATA                โ† CC-BY-4.0 (covers the dataset under data/) โ€” see Licensing below for exceptions
โ””โ”€โ”€ README.md

What counts as an incident?

Every entry must satisfy three gates, defined precisely in INCLUSION.md โ€” the authoritative scope contract this project's own ingesters and reviewers decide against, not a keyword list. In gist (not a substitute for the real thing): a real AI-nexus (the AI/ML system is the target, the vector, or a material enabler of harm โ€” not an incidental mention), security or safety relevance (a vulnerability, exploit, attack, misuse, or real-world harm, not a feature or benchmark), and at least one citable primary source. Broad fairness/bias-only harms with no security primitive are out of scope; see INCLUSION.md for the full definition and worked examples.


Schema (summary)

See schema/incident.schema.json for the canonical version, and docs/DATA_DICTIONARY.md for the complete field-by-field reference (identity/provenance, quality/freshness, licensing, and evidence fields are not shown below to keep this summary short).

{
  "id": "INC-00001",                 // stable, never-reused ID โ€” see docs/ID_POLICY.md for the padding-width policy
  "source_ids": ["AIID-123", "CVE-2025-..."],
  "cve_ids": ["CVE-2025-..."],
  "cwe_ids": ["CWE-918"],
  "cvss_score": 9.8,
  "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
  "aiid_id": 1234,                   // canonical AIID numeric ID when applicable
  "title": "...",
  "date": "2025-09",
  "disclosure_date": "2025-10-02",   // separate from incident date when known
  "year": 2025,
  "category": "real-world | research | red-team | vulnerability-disclosure | threat-report | policy",
  "description": "...",
  "attack_vector": "prompt-injection | rce | supply-chain | data-exfiltration | ...",
  "affected": "vendor/product",
  "impact": "...",
  "severity": "Critical | High | Medium | Low | Info",
  "owasp_llm": ["LLM01", "LLM06"],
  "owasp_asi": ["ASI01", "ASI02"],
  "nist_ai_rmf": ["MEASURE-2.7", "MAP-3.5"],
  "mitre_atlas": ["AML.T0051", "AML.T0051.001"],
  "mitre_atlas_tactics": ["AML.TA0004"],
  "maestro_layers": [{"layer":"L3","label":"Agent Frameworks & Tooling","role":"origin"}],
  "mitigations": ["..."],
  "references": [
    {"title":"Vendor advisory","url":"https://...","type":"vendor"}
  ],
  "tags": ["mcp","supply-chain"],
  "added": "2026-05-16",             // stable across re-runs
  "updated": "2026-05-16",           // only bumped when content actually changes
  "quality_tier": "curated | reviewed | auto",   // vetting level โ€” see docs/DATA_DICTIONARY.md
  "content_license": null            // present only when this row owes an upstream attribution/share-alike obligation
}

Using the dataset

Every distribution channel below ships from the same corpus, but not necessarily the same build of it โ€” know which one you're getting before you rely on freshness.

As a Python library

pip install genai-incidents
from genai_incidents import query, by_cve, resolve_id

for inc in query(severity="Critical", attack_vector="prompt-injection", year=2026):
    print(inc["id"], "-", inc["title"])

print(by_cve("CVE-2026-21520"))   # all incidents that list this CVE
print(resolve_id("INC-00139"))    # follow merge history to the current canonical INC

Staleness: the PyPI package bundles a snapshot of the slim dataset (incidents.min.json + id_deprecations.json) taken at that release's build time and publishes on a tagged GitHub release (or a maintainer-triggered manual run) โ€” pip install gives you the corpus as of the version you installed, not a live feed. The package's own release version and the dataset's content-vintage are not yet decoupled (that split โ€” data_version distinct from code __version__, with a fetch_latest() to pull current data on demand โ€” is planned but not shipped); today they're the same string. If you need current data, don't assume a pip install a week ago is still current โ€” re-pull, or use one of the channels below.

As a Hugging Face dataset

from datasets import load_dataset
ds = load_dataset("emmanuelgjr/genai-incidents")

Staleness: published by make huggingface on each GitHub release (or manually via workflow_dispatch) โ€” refreshed on releases, not continuously. Same vintage characteristics as the PyPI package.

As the STIX 2.1 / TAXII / MISP feeds

https://emmanuelgjr.github.io/genai_incidents/data/incidents.stix.json, the TAXII-compatible discovery document, and the MISP feed are all rebuilt automatically by the Pages deploy workflow on every push to main that touches the corpus or an exporter script โ€” the closest thing to "live" this project offers, though it is a rebuild-on-push, not a continuous feed. Build any of them locally with make stix / make taxii / make misp.

As raw JSON

If you need the current corpus rather than a point-in-time snapshot, pull from data/incidents.json on main (or the site/STIX/TAXII/MISP exports, which build from it), not from PyPI or Hugging Face.

As a website

Filterable, searchable, deep-linkable table at https://emmanuelgjr.github.io/genai_incidents/.

Regenerating the dataset

pip install -r requirements.txt
make build      # parse legacy, merge + dedupe, render, template doc stats (invariant 6), validate
make test       # pytest tests/
make ingest-all # (heavy: refresh AIID/AIRI/AIAAIC/OECD AIM/NVD from network)

Or run the steps individually:

python scripts/parse_existing.py     # legacy/ -> data/legacy_consolidated.json
python scripts/merge_and_dedupe.py   # legacy + ingest/* -> data/incidents.json
python scripts/render_markdown.py    # data/incidents.json -> INCIDENTS.md + docs/incidents/<year>.md + data/stats.json
python scripts/render_docs_stats.py  # data/stats.json -> templated counts in README/DATASHEET/site/CITATION.cff
python scripts/check_stats_drift.py  # CI gate: fails on drift or an unmarked hardcoded total
python scripts/validate.py           # schema check

Dedupe keys (first hit wins): (a) matching cve_ids, (b) matching source_ids (with AIID-N-OECD canonicalised to AIID-N), (c) matching normalized reference URL, (d) fuzzy title match within ยฑ1 year โ€” (c) and (d) are weak keys and refuse to fire across two entries with disjoint CVE sets. After each merge the indices are reindexed so transitive dupes (entry A absorbs CVE-3, then entry B with CVE-3 already exists โ†’ B is merged into A as well) all collapse. Merges union taxonomy mappings, references, tags, CVE/CWE IDs, and source IDs; take the highest severity; prefer the more-specific date (YYYY-MM-DD beats year-only) and reject future-year dates.

added and updated are preserved from the previous output; updated only bumps when an entry's content actually changes. That keeps make build deterministic for CI drift checks.


Adding entries

Two paths:

  1. Manual: append a properly-shaped object to data/incidents.json and run scripts/render_markdown.py. Ensure references has at least one resolvable URL.
  2. Automated: drop a JSON array of raw entries into ingest/<your_source>.json (any reasonable shape โ€” see scripts/merge_and_dedupe.py normalize_entry for the field tolerance), then re-run merge + render.

Always run scripts/validate.py before committing.


Taxonomy mappings

The mapping files in mappings/ document the controlled vocabulary used in this dataset. They are derived from the original sources:

When a framework releases a new version, update the mapping JSON in mappings/ and re-run merge + validate.


Sources aggregated

The current dataset draws from the following public sources. Each entry retains links back to the originating advisory, post, or paper:

  • OWASP GenAI Security Project โ€” incident roundups + Top 10 references
  • AI Incident Database (AIID) (incidentdatabase.ai, github.com/responsible-ai-collaborative/aiid) โ€” ingested via AIID's official weekly snapshot archive (not per-page scraping); title + structured facts only, no verbatim narrative retained
  • OECD AI Incidents Monitor (AIM) (oecd.ai/en/incidents) โ€” cross-listed against AIID via the official AIID-OECD bridge file; title/summary are LLM-generated (OpenAI o3-mini) from third-party news of unresolved copyright status, so description is reduced to structural facts + link and carries a per-entry OECD attribution (decision E21); title itself remains an open question โ€” see NOTICE-DATA and docs/SOURCE_LICENSES.md ยง1.5
  • AIAAIC (aiaaic.org) โ€” AI, Algorithmic, and Automation Incidents and Controversies; a CC BY-SA 4.0 source reduced to title/headline + categorical facts + link (decision D2), with row-level attribution/share-alike honored via a per-entry marker and an open database-right question โ€” see NOTICE-DATA and docs/SOURCE_LICENSES.md ยง1.1
  • MITRE ATLAS (atlas.mitre.org, github.com/mitre-atlas/atlas-data) โ€” all case studies parsed from the YAML corpus
  • AVID โ€” AI Vulnerability Database (avidml.org)
  • CSET-AIID Harm Taxonomy (github.com/georgetown-cset/CSET-AIID-harm-taxonomy) โ€” controlled vocabulary reference
  • NVD / CVE.org / GitHub Security Advisories / OSV.dev / CISA KEV โ€” AI/ML/LLM/agent CVEs pulled via REST API across a broad, actively-maintained keyword list
  • NVIDIA garak (github.com/NVIDIA/garak) โ€” one entry per LLM vulnerability scanner probe (canonical attack classes)
  • promptfoo (github.com/promptfoo/promptfoo) โ€” one entry per red-team plugin/strategy
  • ModelOriented/CVE-AI (github.com/ModelOriented/CVE-AI) โ€” XAI-based AI model validation findings
  • Researcher and vendor blogs โ€” Embrace The Red, Tenable, Palo Alto Unit 42, Trail of Bits, Aim Security, Noma Security, Wiz Research, Lakera, Invariant Labs, PromptArmor, Pillar Security, Token Security, HiddenLayer, Robust Intelligence, Protect AI, Cato Networks CTRL, Endor Labs, Sysdig, Zenity Labs, JFrog, Datadog Security Labs, Reco, AppOmni, BeyondTrust, Oasis Security, Mindgard, Koi Security, Imperva, Sonar, Oligo Security, OX Security, SentinelOne, Check Point Research, Trend Micro, Tinfoil Security, ZeroPath, Cymulate, MaccariTA, and others.
  • Vendor threat reports โ€” Anthropic, OpenAI, Google Threat Intelligence (GTIG/TAG/Mandiant), Microsoft Threat Intelligence (MTAC/MSRC), AWS Security Bulletins, CrowdStrike, Recorded Future.
  • Academic papers โ€” selected USENIX Security / NDSS / S&P / CCS / arXiv entries with concrete adversarial PoCs.

If a source is missing or mis-attributed, open an issue or PR. One tracked source is currently stale (MIT AIRI Navigator's public bulk download was withdrawn; the corpus keeps re-emitting its last-fetched snapshot, unshrunk, under a dated hold) โ€” see data/source_freshness.json for the reviewed, published status of every source this project actively monitors.


Contributing

PRs welcome. Please:

  • Add at least one verifiable URL per entry.
  • Map to the four core taxonomies where applicable (MAESTRO and VERIS are not contributor-set โ€” see CONTRIBUTING.md). If unsure, leave the field empty rather than guess.
  • Run scripts/validate.py and scripts/render_markdown.py before opening a PR.
  • For incidents you authored or first reported, that's totally fine โ€” but please link the canonical writeup.

Licensing

MIT for code (scripts/, schema/, src/genai_incidents/) โ€” LICENSE. CC-BY-4.0 for the dataset and documentation (data/, INCIDENTS.md, mappings/, docs/) โ€” LICENSE-DATA. Neither of those is the whole story:

  • Two verbatim text bodies are Apache-2.0, not CC-BY-4.0, and are not relicensed by it: MITRE ATLAS case-study text and NVIDIA garak probe docstrings, each reproduced under its own upstream license with its own attribution requirement that stays attached to that material specifically.
  • AIAAIC-derived rows (a CC BY-SA 4.0, share-alike source) carry a row-level content_license marker โ€” machine-readable, naming AIAAIC as the attribution/share-alike target on the specific rows it applies to, mirrored into the STIX export as x_content_license. This is a per-row obligation honored proactively, not a dataset-wide CC-BY-SA carve-out.
  • The OECD AI Incidents and Hazards Monitor (AIM) is a third upstream source carrying an active content obligation. Its description field on AIM-sourced rows is reduced to structural facts and a source link rather than AIM's own LLM-generated summary text, and every AIM-sourced row carries a per-entry OECD attribution citation. The title field on those same rows is not covered by that reduction and remains a separate, open question.
  • AIID, despite also being a CC BY-SA source, is a resolved question, not an open one for the population this project ships โ€” the legal analysis concludes no row-level marker is owed there. The two sources reach different outcomes under the same kind of license grant for reasons specific to each maker's legal situs, not because one was treated more carefully than the other.

None of the above is exhaustive, and stating exact per-source row counts here would only drift out of sync with the audit that actually tracks them. NOTICE-DATA and docs/SOURCE_LICENSES.md are the authoritative, currently-maintained accounts of every source's terms, this project's remediation for each, and the current per-source figures โ€” read those, not this summary, before making a decision that depends on the details.

How to cite

  • Citing the dataset as a whole (statistics, trend analysis, benchmark construction, or other aggregate use): cite this repository using the preferred citation in CITATION.cff, or the DOI badge above.
  • Citing an individual incident: cite that incident's own primary source, not this repository. Every incident entry links to its underlying source(s) in its References section โ€” use that link (or, for AIID-derived entries, the AIID citation URL already shown on the entry) as the citation. Citing genai_incidents alone for a single incident credits this aggregator instead of the reporter, researcher, or outlet who actually surfaced it.
  • Concept DOI vs. version DOI: the DOI badge and CITATION.cff (10.5281/zenodo.20248675) are Zenodo's concept DOI โ€” it always resolves to the latest release, and is the one to cite for general or ongoing use. Cite a release's own version-specific DOI only when deliberately pinning to that exact version (e.g. reproducing a result against a specific snapshot); see that release's own Zenodo record for its version DOI.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

genai_incidents-2.9.0.tar.gz (3.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

genai_incidents-2.9.0-py3-none-any.whl (1.7 MB view details)

Uploaded Python 3

File details

Details for the file genai_incidents-2.9.0.tar.gz.

File metadata

  • Download URL: genai_incidents-2.9.0.tar.gz
  • Upload date:
  • Size: 3.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for genai_incidents-2.9.0.tar.gz
Algorithm Hash digest
SHA256 dd347d149f3da518dff694787662bf7128baf93061a00d948f5a8bf09aa2f22a
MD5 9567964f059d2648c4342d7ccd5a08d1
BLAKE2b-256 d7c02ee1863f63095478622eff79f0f0cdc5843e419671998771e2c132897df7

See more details on using hashes here.

Provenance

The following attestation bundles were made for genai_incidents-2.9.0.tar.gz:

Publisher: publish.yml on emmanuelgjr/genai_incidents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file genai_incidents-2.9.0-py3-none-any.whl.

File metadata

File hashes

Hashes for genai_incidents-2.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9a3e6f2a727ba793ea1b4bc1a1bd9cc73876ef755561e8ac77f3816719eb3f6b
MD5 e865ce2110501a4ce0b7db1a4ba73e4c
BLAKE2b-256 9aa249b4f1b98a1e59c02b2ae7c6e69dfb503901e487701ac009ee3c997c9971

See more details on using hashes here.

Provenance

The following attestation bundles were made for genai_incidents-2.9.0-py3-none-any.whl:

Publisher: publish.yml on emmanuelgjr/genai_incidents

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page