Skip to main content

Tiggy

Declarative Google Tag Manager. Describe a GTM container in YAML, then validate, plan and apply it the way Tundra does for Snowflake permissions.

Early days: validate works against a container export; the rest is planned.

pip install tiggy-cli

tiggy validate container.json   # every reference between tags, triggers and variables resolves
tiggy spec-test spec/           # planned: the spec matches the live container
tiggy run spec/ --dry           # planned: the GTM changes that would make it match
tiggy run spec/                 # planned: make them, in a new workspace
tiggy import <container>        # planned: write a live container out as a spec

validate

tiggy validate examples/broken-container.json
tiggy validate container.json --format json --strict

Takes a container export (Admin > Export Container). Reports references that don't resolve (triggers, {{variables}}, setup and teardown tags, custom templates, folders), built-ins used but not enabled, duplicate names and IDs, variable and tag-sequencing loops, and unused triggers, variables and templates.

Exits 0 when valid, 1 when not (--strict counts warnings), 2 when the input can't be read.

How it fits together

Layer Where Does
Resource model tiggy/gtm/ One Pydantic model per GTM resource, generated from Google's API schema
Adapters tiggy/io/ Read and write a format (a container export today; the API and YAML next)
Graph tiggy/graph.py What refers to what. The only code that knows GTM's reference rules
Checks tiggy/checks.py Rules over the graph, each yielding findings
Report tiggy/report.py Findings as text or JSON

The models are generated from the Tag Manager API v2 discovery document, vendored in schema/. Either enum spelling parses (the API's customEvent, an export's CUSTOM_EVENT), and fields GTM sends that the schema lacks are kept, so a load and dump returns the input unchanged. To pick up API changes:

uv run python scripts/generate_resources.py --refresh

Metadata

Release files for tiggy-cli 0.1.0

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

Source distribution (sdist)

Source distribution for tiggy-cli 0.1.0
File Size Uploaded
tiggy_cli-0.1.0.tar.gz 22.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for tiggy-cli 0.1.0
File Interpreter ABI Platform
tiggy_cli-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 47.0 kB

Release files / tiggy_cli-0.1.0.tar.gz

Download URL tiggy_cli-0.1.0.tar.gz
Size 22.0 kB
Tags Source
SHA-256 checksum
How to use checksums
de8c8d954cd8f66e880f3fff7db7852bfa89d68821a8423df830fd6e0b028361
BLAKE2b-256 checksum
How to use checksums
a54d5bdba69662d048c3efe1e7963d932efa9e7aa891ba7716a50c60de202ada
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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 / tiggy_cli-0.1.0-py3-none-any.whl

Download URL tiggy_cli-0.1.0-py3-none-any.whl
Size 25.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1b324c8d5c47ae5129c59faae03a3fb64a6511377c92eaf99496bce805bef30b
BLAKE2b-256 checksum
How to use checksums
9fcc181e391a52e0f7147d1e8bb22799dae405d26e41d3bcc5b0be70638c2dc9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","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 history Release notifications | RSS feed

0.2.0

2 release files

This release

0.1.0 This release

2 release files

0.0.1

2 release files

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