Skip to content

PyGraphistry 0.62.0

Choose a tag to compare

@lmeyerov lmeyerov released this 11 Nov 06:39
· 19 commits to master since this release
2fe4dc0

PyGraphistry 0.62.0

This release adds two compatibility-preserving warnings and fixes GFQL query correctness across pandas, Polars, and cuDF:

  • Deprecation: nodes() / edges() now emit a FutureWarning when non-callable data is passed with extra positional or keyword arguments. The arguments are still ignored, as before; use .bind(...) for binding options. Strict TypeError rejection is targeted for May 2027 (#398, #2280).
  • Hypergraph: hypergraph() now emits a UserWarning when EVENTID is omitted and an EventID input column is implicitly used as the event key. Pass opts={'EVENTID': ...} to confirm, or rename the column to keep its values as an attribute. Behavior is otherwise unchanged; this is a partial mitigation for #228. Multi-partition Dask inputs get distinct generated row IDs.
  • Fix Cypher scalar carries through WITH, collected reentry, and grouped aggregates after scalar reentry; preserve relationship uniqueness per MATCH clause and support self-loops in exact-depth variable-length patterns.
  • Fix relationship-alias property reads: multi-hop aliases, missing relationship properties, reverse-traversal shadowed properties, and Boolean node properties shadowed by an alias on cuDF.
  • Compare node entities in IN / NOT IN by graph node ID; preserve three-valued null semantics in null-equality conjunctions; return null from toInteger on unparseable strings; reject statically invalid conversion operands at compile time.
  • Temporal filters: datetime IN / IsIn membership parses strings like equality does, and empty or malformed bounds raise structured E302 instead of silently matching nothing.
  • Preserve exact nullable Int64/UInt64 endpoint matches on pandas 3.1; fix cuDF AST row-expression evaluation; fail fast with a typed error on MATCH chains over 512 clauses.
  • gfql_remote no longer sends an empty operations array for Let/DAG queries to older servers.
  • Docs: stale benchmark results stay published with a dated caveat and a linked re-measure issue instead of being withdrawn.

See the full changelog for exact scope and engine limitations, and the 0.62.0 documentation.

The 0.62.0 tag points to 2fe4dc01177ea7bf4d85f9118d1f65eb84e59509. Packages are available on PyPI; the publish workflow completed successfully.