Skip to main content

Godot Save Schema Guard

Validate Godot save-game fixtures against explicit schemas and catch incompatible save format changes before release.

The first release focuses on JSON saves because they are deterministic to validate outside the engine. It is meant to be a release gate: do not break player saves.

Install

python -m pip install -e .

When published:

python -m pip install godot-save-schema-guard

Quick Start

godot-save-guard validate saves\fixtures --schema schemas\save.schema.json
godot-save-guard validate examples\fixtures --schema examples\schema\save.schema.json --format markdown --output SAVE_COMPATIBILITY.md
godot-save-guard migrate saves\v1 --output-dir migrated\v2 --command "godot --headless --script tools/migrate_save.gd --input {input} --output {output}"
godot-save-guard migrate-chain saves\v1 --chain migrations.toml --output-dir migrated --dry-run
godot-save-guard migration-graph --chain migrations.toml --current 3 --supported 1 --supported 2 --format markdown

What It Checks

  • Invalid JSON fixtures.
  • Missing top-level version.
  • Missing required schema properties.
  • Numeric type drift such as "100" where a number is expected.
  • Type mismatches.
  • Unexpected properties when additionalProperties is false.
  • Migration command failures.
  • Ordered migration chains from older save versions to the current format.
  • Missing migration paths from supported save versions to the current format.
  • Report metadata and plain-language rule explanations for compatibility findings.

Documentation

Development

python -m pip install -e .
python -m unittest discover -s tests -v
godot-save-guard validate examples\fixtures --schema examples\schema\save.schema.json --fail-on none

Fixtures are generic and intentionally small so the repository is safe to publish.

Download files

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

Source Distribution

godot_save_schema_guard-0.1.3.tar.gz (12.6 kB view details)

Uploaded Source

Built Distribution

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

godot_save_schema_guard-0.1.3-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file godot_save_schema_guard-0.1.3.tar.gz.

File metadata

  • Download URL: godot_save_schema_guard-0.1.3.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for godot_save_schema_guard-0.1.3.tar.gz
Algorithm Hash digest
SHA256 be1bcb2525630a6e4de1baceb3cca5364b19e04aecc57e706a3fe43f6a48f837
MD5 7d512c2c3d200c40d7f619ce38d38edc
BLAKE2b-256 2d9e8a1c146e8da934ff4c503c375ffd694ea400d9b0904a72723c80081777f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for godot_save_schema_guard-0.1.3.tar.gz:

Publisher: publish-save-schema-guard.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_save_schema_guard-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for godot_save_schema_guard-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8d57d7e7cea08710b5b9ed0dece620577c3022827ac2c4bd8fe4ac33aea21bb7
MD5 7bda7bebd343ef56d608f9e6a1d40d8c
BLAKE2b-256 2990517e114d702e180032f40b4aa2a356bbc2ffbf15d862c0152f3a8ee47831

See more details on using hashes here.

Provenance

The following attestation bundles were made for godot_save_schema_guard-0.1.3-py3-none-any.whl:

Publisher: publish-save-schema-guard.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