Skip to main content

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.

Every configured collection is required. Missing, unreadable, malformed, or unsupported inputs are reported as errors so incomplete content cannot appear healthy.

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

Use a built-in preset when the project follows common data folder names:

godot-content-graph path\to\godot-project --preset recipes
godot-content-graph path\to\godot-project --preset quests --preset dialogue --format markdown

See available presets:

godot-content-graph . --list-presets

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

Show the collections touched by changed files and any downstream collections that reference them:

godot-content-graph path\to\godot-project --preset recipes --changed-file data/items.json --format markdown

Config Example

Presets are useful for quick starts. A config file is still best when a project uses custom paths, field names, or references. Config collections with the same name as a preset collection override the preset.

[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.

Built-In Presets

  • items: data/items.json with common value, price, and weight summaries.
  • recipes: data/items.json plus data/recipes.json input/output item references.
  • quests: quest prerequisites and optional item rewards.
  • dialogue: dialogue speaker and next-node references.
  • levels: level references to item and enemy catalogs.
  • content-pack: overlay item packs under mods/content_pack/items.json.

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.

JSON, text, and Markdown reports include report metadata, plain-language rule titles, and suggested fixes. JSON reports also include a rules object with the rule explanations used by the current report.

Changed-file impact reports are included in text, json, and markdown output when --changed-file or --changed-files is provided.

Exit Codes

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

Metadata

Release files for godot-content-graph-doctor 0.1.4

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

Source distribution (sdist)

Source distribution for godot-content-graph-doctor 0.1.4
File Size Uploaded
godot_content_graph_doctor-0.1.4.tar.gz 15.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for godot-content-graph-doctor 0.1.4
File Interpreter ABI Platform
godot_content_graph_doctor-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 30.5 kB

Release files / godot_content_graph_doctor-0.1.4.tar.gz

Download URL godot_content_graph_doctor-0.1.4.tar.gz
Size 15.2 kB
Tags Source
SHA-256 checksum
How to use checksums
7208f92c08709f9c4e3a81a4bd598b8d5cfaf9d0dc17877a4034f75268bb8178
BLAKE2b-256 checksum
How to use checksums
b1d6ced7ef433c6c9aad8196660af65bdfb29cf95d9fb0c41f7876986a37f403
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 10, 2026.

Transparency log

Release files / godot_content_graph_doctor-0.1.4-py3-none-any.whl

Download URL godot_content_graph_doctor-0.1.4-py3-none-any.whl
Size 15.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b531ca8b912009136e46a1038f2634366becd826da88ccce30a45274ec688060
BLAKE2b-256 checksum
How to use checksums
4b06b8a2418dae41655b966447f2e743c3b04bc1ec8eef2646d83ea385f7a2d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 10, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

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