g6-alert-core
Shared domain layer for the Guardsix Alert SDK (g6-alert).
This package provides the pure, transport-agnostic code shared between the Standalone and Fleet backends:
| Module | Contents |
|---|---|
transport |
Target (frozen dataclass identifying one destination), Transport (ABC every backend implements) |
auth |
Auth (ABC every backend's credential handling implements) |
client |
AlertClient facade, TargetResult, any_failed, all_ok — the mode-agnostic API g6-alert and library callers use |
exceptions |
Unified exception hierarchy (AlertSDKError base; FleetAlertSDKError alias; unified APIError) |
security |
validate_yaml_path, load_yaml_rule (O_NOFOLLOW + secure_filename), path_is_within, has_traversal |
discovery |
load_discovery_json, find_pool, get_nodes_from_pool, get_pool_summary — Fleet's discovery.json model |
rules |
validate_yaml_rule, normalize_status, normalize_repo_field, extract_mitre_entries, minimum_guardsix_version_violation, build_rule_metadata |
packs |
load_pack_manifest, resolve_repo_list_strict and related repo-resolution helpers |
mitre |
Standalone's MITRE ATT&CK CSV map — ~/.g6/mitre_map.csv if present, else the CSV bundled with this package; Fleet resolves attack tags via its own live API instead |
timerange |
parse_timerange, format_timerange — converts rule YAML's detection.timerange (e.g. "2 hr") to/from the Alert API's timerange_day/timerange_hour/timerange_minute fields, of which only one may be non-zero |
version |
parse_version, meets_minimum_version — backs the minimum_guardsix_version rule-YAML gate (Fleet only) |
formatting |
format_date, truncate_text, format_alert_summary, tabulate_table, print_table |
jinja |
jinja_from_field_mapping (parameterised; reproduces both SDK variants byte-for-byte) |
No HTTP or CLI concerns live here — depends only on pyyaml, tabulate, and
werkzeug. transport/auth define the seam the two backends implement, but
neither module makes network calls itself.
Installation
Installed automatically as a dependency when you install g6-alert:
pip install g6-alert
To install this package alone from PyPI:
pip install g6-alert-core
From source (development)
To install both packages editable from this monorepo:
pip install -e ./g6_alert_core -e ./g6-alert
To install and test this package in isolation:
pip install -e ".[dev]"
pytest -q
See the g6-alert documentation for full SDK and CLI documentation.
Contributing
External contributions are closed for now. This package is distributed through PyPI
(pip install g6-alert-core), and is installed automatically with g6-alert.
License
Copyright 2026 Guardsix A/S. Licensed under the Apache License, Version 2.0. See the LICENSE and NOTICE files for the full terms.
Metadata
Release files for g6-alert-core 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| g6_alert_core-1.0.0.tar.gz | 92.2 kB | Without provenance | Details for g6_alert_core-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| g6_alert_core-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for g6_alert_core-1.0.0-py3-none-any.whl |
Total release size: 163.6 kB
Release files / g6_alert_core-1.0.0.tar.gz
| Download URL | g6_alert_core-1.0.0.tar.gz |
|---|---|
| Size | 92.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9b8d5a51cdc720b759957282725ff41c788cbb0703be6b1a2400bf2d094a748a
|
|
BLAKE2b-256 checksum How to use checksums |
b223b86eb4a0affa4c04cdbac4454c2862b171a293de98434f941ddfb3821886
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|
Release files / g6_alert_core-1.0.0-py3-none-any.whl
| Download URL | g6_alert_core-1.0.0-py3-none-any.whl |
|---|---|
| Size | 71.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
897db265e3eafa072b6a058695b9457c1b04abe3a957c44769e3102f9d96167b
|
|
BLAKE2b-256 checksum How to use checksums |
64bba85290071f1d8bda166ef690452b78e88489f83682a847c415b28eaa6fd0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|
Security for g6-alert-core 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.