Skip to content

Conversation

@lmeyerov
Copy link
Contributor

@lmeyerov lmeyerov commented Nov 22, 2025

Summary

  • Graph traversal: hop() now supports min_hops/max_hops bounds plus optional hop labels for nodes, edges, and seeds, and post-traversal slicing via output_min_hops/output_max_hops; GFQL safelist/types and the pandas reference enumerator now cover ranges/slices, and fixes keep branch pruning, seeds, and labels consistent across forward/reverse passes.
  • Geo/Kepler: Added Mercator projection helper and Kepler encoding builders (encode_kepler* plus dataset/layer/options/config classes) with API docs, examples, and regression tests for map visualization flows.
  • Tooling/CI: Lint/type runners resolve interpreters consistently (uv → python -m → bare); GitHub Actions skip python matrices for docs-only tip commits and warm a shared HuggingFace cache with pinned CPU torch for AI tests; UMAP CuPy 13 compatibility tests retained; README/doc polish including hop bounds notebook.

Examples

  • Bounded hop with labels and slice:
g.hop(
    nodes=pd.DataFrame({g._node: ['a']}),
    min_hops=2,
    max_hops=3,
    output_min_hops=2,
    output_max_hops=3,
    label_node_hops='hop',
    label_edge_hops='edge_hop',
    label_seeds=True,
)
  • GFQL call path:
g.gfql([
  {
    'type': 'Call',
    'function': 'hop',
    'params': {
      'nodes': seeds,
      'min_hops': 1,
      'max_hops': 2,
      'label_node_hops': 'hop',
      'label_edge_hops': 'edge_hop',
    },
  },
])
  • Kepler encoding snippet:
from graphistry import KeplerConfig, KeplerLayer
config = KeplerConfig(layers=[KeplerLayer.point(lat='lat', lng='lon')])
g.encode_kepler_config(config).plot()

Testing

  • CI: GitHub Actions matrix green (Python 3.8-3.14, lint/type, tests, docs, CodeQL, RTD preview).

@lmeyerov lmeyerov linked an issue Nov 24, 2025 that may be closed by this pull request
@lmeyerov lmeyerov force-pushed the feature/hop-range-labels branch 3 times, most recently from 8f9acf9 to 354f671 Compare December 4, 2025 03:26
@lmeyerov lmeyerov force-pushed the feature/hop-range-labels branch from 23ad833 to ce2ca69 Compare December 4, 2025 07:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEA] controllable n-hop ranges and cypher syntax parity

2 participants