feat(schema): add pretty print helpers#1639
Draft
lmeyerov wants to merge 1 commit into
Draft
Conversation
559990f to
469ae25
Compare
469ae25 to
5eda119
Compare
This was referenced May 25, 2026
perf: graphistry wheel size (625 kB) — GFQL engine files are large, investigate modularization
#1058
Closed
Contributor
Author
|
Parking this PR for now. The pretty-printer surfaced a deeper schema-model question that should be decided first: #1644. Specifically, per-entity declarations probably should not inherit the aggregate table nullable default. A declared Until #1644 is resolved, this PR should not encode nullability display conventions or merge as the canonical schema text surface. Options after #1644:
CI is green and review skill had converged, but this is now semantically blocked, not technically blocked. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #1633
Summary
pretty()methods forGraphSchema,NodeType,EdgeType, andEdgeTopologywithcypher,yaml, andcompactformats.__repr__to use the compact Cypher-style renderer by default.graphistry.schema.pretty_print_schema()and top-levelgraphistry.pretty_print_schemafor ergonomic rendering.Sample output
cypher
yaml
compact
LOC buckets
Compiler-plan surface touched
No. This is public schema text rendering only. It does not change schema dataclass fields, inference, serialization, binder/compiler behavior, route names, IR metadata, remote schema transport, or planner/verifier contracts.
Notes
int64andstring; non-null declared Arrow fields render with a compact!suffix, e.g.int64!.Validation
python3 -m pytest -q graphistry/tests/compute/gfql/test_public_schema.py->28 passed./bin/ruff.sh graphistry/schema.py graphistry/__init__.py graphistry/tests/compute/gfql/test_public_schema.py-> passed./bin/typecheck.sh graphistry/schema.py graphistry/__init__.py-> passed./bin/check_docs_latex_unicode.sh-> passedgit diff --check-> passed