Skip to content

Remove read_graphml igraph-version workaround once python-igraph fixes GraphML edge-id import #8

Description

@carissableker

Background

booldog.io.interaction_networks.read_graphml's yEd arrow-head parsing matches parsed GraphML edge data back onto igraph edges via the edge id attribute. python-igraph==1.0.0 has a regression where this id is overwritten with node ids (or left blank) instead of the correct GraphML edge id (igraph/igraph#2892, reported by @carissableker). The fix was merged (igraph/igraph#2894), but no python-igraph release contains it yet (the latest release 1.0.0 predates the fix).

Because of this, pyproject.toml pins igraph==0.11.9 exactly (the last known-good version). However, anyone who installs igraph outside that pinned path can silently pull in 1.0.0. Before eacf683, hitting this bug silently corrupted parsed networks (edges with unresolved type were dropped, only a warning). eacf683 makes read_graphml raise instead.

Plan

  1. Watch for a python-igraph release with the #2894 fix.
  2. Bump the igraph pin in pyproject.toml.
  3. Simplify read_graphml: drop the edge_attrs two-pass workaround and the ValueError guard from 3ff18c1.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    waitingWaiting on another (upstream) issue or update

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions