Skip to main content

Validate data-driven Godot content ids, references, and numeric outliers.

Project description

Godot Content Graph Doctor

godot-content-graph-doctor validates data-driven content used by Godot projects. It is useful when items, recipes, quests, dialogue, enemies, levels, or content packs live in JSON, CSV, or TOML files.

It does not need the Godot editor. It reads content files, checks ids and references, and produces reports that work locally or in CI.

Install

python -m pip install godot-content-graph-doctor

From a source checkout:

python -m pip install -e .\godot-content-graph-doctor

Quick Start

godot-content-graph examples\tiny-content-project --config content-graph.toml

Write machine-readable output:

godot-content-graph examples\tiny-content-project --config content-graph.toml --format json --output reports\content-graph.json

Create a Mermaid graph:

godot-content-graph examples\tiny-content-project --config content-graph.toml --format mermaid --fail-on none

Config Example

[collections.items]
path = "data/items.json"
id = "id"
roots = ["copper_ore"]
warn_unused = true
numeric_fields = ["value"]

[collections.recipes]
path = "data/recipes.json"
id = "id"
numeric_fields = ["craft_time"]

[[collections.recipes.references]]
field = "inputs[].item"
collection = "items"

[[collections.recipes.references]]
field = "outputs[].item"
collection = "items"

Each collection points to one file. JSON may be a list of objects or an object containing items, data, rows, or a key matching the collection name. CSV uses the header row. TOML uses items, data, rows, or the collection name.

Reference fields support simple dotted paths and list traversal with [], such as inputs[].item.

Checks

  • missing or duplicate ids;
  • references to ids that do not exist in the target collection;
  • unused ids when warn_unused = true;
  • numeric field summaries and transparent outlier warnings.

Outputs

  • text: local terminal report.
  • json: CI and scripts.
  • markdown: PR comments and release notes.
  • mermaid: graph of configured collection references.

Exit Codes

  • 0: no findings at the selected threshold.
  • 1: findings met the selected threshold.
  • 2: CLI usage error.

Project details


Download files

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

Source Distribution

godot_content_graph_doctor-0.1.0.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

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

godot_content_graph_doctor-0.1.0-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file godot_content_graph_doctor-0.1.0.tar.gz.

File metadata

File hashes

Hashes for godot_content_graph_doctor-0.1.0.tar.gz
Algorithm Hash digest
SHA256 59c11d6c0941a14788c229d9bc0ae8b0d771e874508b12c7088aad6fb595e730
MD5 306f1ff9d6573a84c5094405fa9697ed
BLAKE2b-256 f5b46d934740ed482bd36c9a117933af5c1758dd5b8d656a8e8b32043d4a70c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for godot_content_graph_doctor-0.1.0.tar.gz:

Publisher: publish-content-graph-doctor.yml on NonniGB/godot-production-toolkit

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

File details

Details for the file godot_content_graph_doctor-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for godot_content_graph_doctor-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1ad1b6837cbe5ebec5153ad89c99adee98afd7b143198a303c1efdb0e790b099
MD5 ae1da5c5d99ac904493a9551c2b32616
BLAKE2b-256 fff698e5ad89ad4cc327043eaad92c2ff712e82ce22e45758a1d343828168c3d

See more details on using hashes here.

Provenance

The following attestation bundles were made for godot_content_graph_doctor-0.1.0-py3-none-any.whl:

Publisher: publish-content-graph-doctor.yml on NonniGB/godot-production-toolkit

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 Pingdom Monitoring Sentry Error logging StatusPage Status page