Request: Export canonical Graphistry viz-setting key definitions for downstream type safety
Downstream projects (example: Louie/GraphistryGPT) need to pass and validate Graphistry visualization settings in a typed way, including:
- URL params (embed / graph.html query options)
- React-facing settings used by
@graphistry/client-api-react
Today, downstreams often end up hardcoding local key unions / allowlists (e.g., Python Literal[...] + runtime JSON checks), which creates drift risk and maintenance overhead.
Proposed additions in pygraphistry
Please expose a canonical, machine-readable key surface, ideally one or more of:
-
Exported Python constants
URL_PARAM_NAMES: tuple[str, ...]
REACT_SETTING_NAMES: tuple[str, ...] (if pygraphistry has/owns that view)
-
Typed schemas/models
- Optional
TypedDict / pydantic model for settings payloads
- Or a JSON Schema artifact that downstreams can consume for codegen
-
Versioned contract file
- Stable JSON file in package data with explicit key sets and basic value-shape metadata
Why this helps
- Eliminates duplicated key lists across downstream repos
- Improves static typing/autocomplete and safer LLM tool-contract synthesis
- Enables single-source-of-truth tests across Python/TS stacks
Related upstream discussion in graphistry-js:
If useful, we can contribute a PR once maintainers confirm preferred API shape.
Request: Export canonical Graphistry viz-setting key definitions for downstream type safety
Downstream projects (example: Louie/GraphistryGPT) need to pass and validate Graphistry visualization settings in a typed way, including:
@graphistry/client-api-reactToday, downstreams often end up hardcoding local key unions / allowlists (e.g., Python
Literal[...]+ runtime JSON checks), which creates drift risk and maintenance overhead.Proposed additions in pygraphistry
Please expose a canonical, machine-readable key surface, ideally one or more of:
Exported Python constants
URL_PARAM_NAMES: tuple[str, ...]REACT_SETTING_NAMES: tuple[str, ...](if pygraphistry has/owns that view)Typed schemas/models
TypedDict/ pydantic model for settings payloadsVersioned contract file
Why this helps
Related upstream discussion in graphistry-js:
If useful, we can contribute a PR once maintainers confirm preferred API shape.