Skip to content

fix(circle_layout): entry guards for edge-only graphs, missing positions, and duplicate bounding_box keys - #2008

Open
SAY-5 wants to merge 1 commit into
graphistry:masterfrom
SAY-5:fix/circle-layout-entry-guards
Open

SAY-5 wants to merge 1 commit into
graphistry:masterfrom
SAY-5:fix/circle-layout-entry-guards

Conversation

@SAY-5

@SAY-5 SAY-5 commented Aug 23, 2026

Copy link
Copy Markdown

Summary

Fixes the three entry-guard crashes from #1968: nodes are now materialized before being counted so an edge-only graph lays out instead of hitting TypeError: object of type 'NoneType' has no len(); the no-argument form on a graph without x/y positions raises a ValueError naming the documented precondition instead of a bare KeyError: 'x'; and a partition-keyed bounding_box frame with duplicate partition_key values raises a ValueError naming the duplicates instead of a pandas IntCastingNaNError from the row-multiplying merge. Non-goals: defects 4 and 5 from the issue (the misleading null-partition-key message and the dead engine comparison) are left untouched.

Validation

  • Local lint/type/tests run for touched scope (ruff clean, mypy clean for circle.py, graphistry/tests/layout green including the new test_circle_entry_guards.py)
  • CI is green

Cypher Frontend CI Evidence (when PR touches cypher frontend / IR scope)

Not applicable — layout-only change.

…ons, and duplicate bounding_box keys (graphistry#1968)

Signed-off-by: Sai Asish Y <say.apm35@gmail.com>
@SAY-5
SAY-5 force-pushed the fix/circle-layout-entry-guards branch from b34879f to cc35306 Compare September 25, 2026 17:02

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant