Skip to content

v0.1.3#3

Merged
IvanChernyshov merged 13 commits into
mainfrom
dev
Jan 26, 2026
Merged

v0.1.3#3
IvanChernyshov merged 13 commits into
mainfrom
dev

Conversation

@IvanChernyshov
Copy link
Copy Markdown
Member

  • Added:

    • undirected_edges_unique(...) for undirected containers and use it internally for component generator extraction.
    • Read-only accessors PeriodicComponent.snf and PeriodicComponent.tree_parent_map() and updated canonical_lift(...) to avoid touching private component caches.
  • Changed:

    • LiftPatch.to_networkx(as_undirected=True, ...) now stores direction and orig-edge snapshots under a single reserved edge attribute __pbcgraph__ to avoid collisions with user attributes.
    • Minor: code that previously read _pbc_* or orig_edges from NetworkX exports must now read __pbcgraph__.
  • Performance:

    • lift_patch(...) avoids redundant incoming-edge traversal for undirected containers (no semantic change).
    • Refactored edges(), neighbors(), and in_neighbors() to use streaming deterministic iteration (avoid building a full edge list just to sort it).
  • Refactored:

    • Refactored LiftPatch.to_networkx(...) into small helpers (no behavior change).
    • Split pbcgraph.alg.lift into _lift_patch and _canonical_lift implementation modules, keeping the public API unchanged.
    • General refactors: introduce an internal constant PBC_META_KEY for NetworkX export metadata, simplify internal key filtering in undirected containers, and apply small style cleanups.

@IvanChernyshov IvanChernyshov merged commit fdb5adf into main Jan 26, 2026
12 checks passed
@IvanChernyshov IvanChernyshov deleted the dev branch January 26, 2026 13:03
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.

1 participant