NetworkX 3.4#

发布日期:2024年10月10日

支持 Python 3.10, 3.11, 3.12 和 3.13。

NetworkX 是一个用于创建、操作和研究复杂网络的结构、动态和功能的 Python 包。

欲了解更多信息,请访问我们的网站示例集。请将意见和问题发送至 networkx-discuss 邮件列表

API 变更#

  • 终止 forest_str 的弃用期 (#7414)。

  • [增强, 错误修复]: 在 dag.py 中添加了 collidersv_structures 并弃用了 compute_v_structures (#7398)。

  • 终止 random_tree 的弃用期 (#7415)。

  • 终止 strongly_connected_components_recursive 的弃用期 (#7420)。

  • 终止 generic_bfs_edges 中弃用的 sort_neighbors 参数的弃用期 (#7417)。

  • 从 s_metric 中移除弃用的 normalized 参数 (#7418)。

  • 终止弃用的 nx.join,推荐使用 join_trees (#7419)。

  • 移除 3.4 中弃用的 Edmonds 类 (#7447)。

  • 移除 3.4 中弃用的 MultiDiGraph_EdgeKey (#7448)。

  • JSON 输入输出中添加 edges 关键词/弃用 link 关键词参数 (#7565)。

  • 撤销对 node_link_* link 默认值的破坏性变更 (#7652)。

增强功能#

  • from_numpy_array 添加 nodelist 功能 (#7412)。

  • to_networkx_graph 中优先使用边列表表示 (#7424)。

  • 向 _dispatchable 添加初始调试日志调用 (#7300)。

  • 添加: nodes 属性可修改 (#7532)。

  • 使 config 可用作上下文管理器 (#7363)。

  • 添加了在 mst 中处理多图的代码 (#7454)。

  • 默认启用缓存 (#7498)。

  • #7546 为 pydot 提供更详细的错误消息 (#7558)。

  • 修复 weakly_connected_components() 在图视图上的性能问题 (#7586)。

  • Forceatlas2 (#7543)。

  • 避免迭代,使用布尔索引 (#7591)。

  • 在 simple_paths 中隐藏权重为 None 的边 (#7583)。

  • 改进了调和中心性 (harmonic centrality) 的运行时间 (#7595)。

  • 添加移除属性函数 (#7569)。

  • 在分派机制中记录“能否/应运行”和缓存 (#7568)。

  • 个性化绘图属性 (#7570)。

  • 添加了 nx-parallel gsoc 项目 (#7620)。

  • 调和直径 (Harmonic diameter) (#5251)。

  • 允许分派机制回退到 networkx (#7585)。

  • 为随机图添加 create_using 参数 (#5672)。

  • 添加配置选项以在使用缓存值时禁用警告 (#7497)。

错误修复#

  • 修复 complete_bipartite_graph 的图名称属性 (#7399)。

  • 移除 to_networkx_graph 转换期间的导入警告 (#7426)。

  • 修复 nx.from_pandas_edgelist,使其不将边键添加为边属性和边键 (#7445)。

  • 修复 from_pandas_edgelist 在给定 edge_key 时对 MultiGraph 的处理 (#7466)。

  • 修复使用 numpy 2 时的分派测试 (#7506)。

  • [增强, 错误修复]: 在 dag.py 中添加了 collidersv_structures 并弃用了 compute_v_structures (#7398)。

  • 修复当分隔符为空白符(例如制表符)时读取边列表的问题 (#7465)。

  • 确保在 backend= 中遇到未知后端时总是抛出异常 (#7494)。

  • 防止 to_agraph 修改图参数 (#7610)。

  • 在 Steiner Tree 近似中实现迭代移除非末端叶子 (#7422)。

  • eigenvector_centrality_numpy 中只允许连通图 (#7549)。

  • CI: 修复夜间运行 pip install 中的拼写错误 (#7625)。

文档#

  • 补充缺失的 shortest_path 函数文档 (#7394)。

  • 改进了 Optimal Edit Paths 返回部分的描述 (#7375)。

  • 对 simple_cycles docstring 进行小更新 (#7421)。

  • 文档: 澄清 NetworkXPointlessConcept 异常 (#7434)。

  • 文档: 更新了 pairs.py (#7416)。

  • 为有向树添加 docstring 示例 (#7449)。

  • 修改 shortest_path_length 文档,使其返回类型为 number 而非 int (#7477)。

  • 使用 intersphinx_registry 管理 intersphinx 映射 (#7481)。

  • 维护: 修复文档中的一些拼写错误 (#7480)。

  • 更新文档索引中的 NetworkX 参考链接 (#7500)。

  • 更新 strong product 文档 (#7511)。

  • 重构和增强面向用户的 Backend and Configs 文档 (#7404)。

  • 修复了 dominance.py 中的引用 [Issue #7522] (#7524)。

  • 澄清 dorogovtsev_goltsev_mendes_graph() 中的生成代数 (#7473)。

  • 在后端文档中添加 Introspection 章节 (#7556)。

  • 文档: 在 get_info 的描述中添加了 default_config (#7567)。

  • 美化 README.rst (#7514)。

  • 文档: 修复 nx_pydot.pydot_layout() 的 docstring 中提供的代码片段中的拼写错误 (#7572)。

  • 修复 README 中 default 额外依赖的安装说明 (#7574)。

  • 为 v3.3 版本发布说明添加缺失的元数据 (#7592)。

  • 更正指导委员会成员 (#7604)。

  • 修复分派文档格式问题 (#7619)。

  • 添加到贡献者列表 (#7621)。

  • 针对 issue 7633 的示例修复 (#7634)。

  • 修复: 修正 Girvan-Newman 社区检测中的社区颜色分配 (#7644)。

  • 更新了 generators/karate_club_graph() 的 docstring (#7626)。

  • 更新文档以包含有关将 NetworkX 与后端一起使用的详细信息 (#7611)。

  • to_scipy_sparse_array 添加示例章节 (#7627)。

  • 为 subgraph_(iso/monomorphism) 方法的 docstring 添加示例 (#7622)。

维护#

  • 简化 connectivity 模块中的流函数增强逻辑 (#7367)。

  • 为 mpl/np 依赖项添加一些 doctest 跳过规则 (#7403)。

  • 移除重复词汇 (#7406)。

  • FilterAdjacency: __len__ 被不必要地重新计算 #7377 (#7378)。

  • flow_hierarchy 中添加空图检查 (#7393)。

  • 使用 from_numpy_array 的 nodelist 功能 (#7425)。

  • 清理包中弃用的 random_tree 的剩余用法 (#7411)。

  • non_randomness 中添加空图检查 (#7395)。

  • 更新 macOS Sonoma v14 的测试 (#7437)。

  • 更新文档需求 (#7435)。

  • 更新 pygraphviz (#7441)。

  • 始终缓存图属性以获得更好的缓存行为 (#7455)。

  • 在 networkx 图的 nx-loopback 副本中保留邻接顺序 (#7432)。

  • 开发者: 将性能测试生成的文件添加到 .gitignore (#7461)。

  • 移除 algorithms.bridges.bridges() 中的冗余图复制 (#7471)。

  • CI: 为包分发添加 GitHub 构建产物认证 (#7459)。

  • polynomials.py 添加到 needs_numpy (#7493)。

  • 维护: 将 LoopbackDispatcher 重命名为 LoopbackBackendInterface,将 dispatcher 重命名为 backend_interface (#7492)。

  • CI: 更新已转移组织的 action (#7503)。

  • 更新 momepy (#7507)。

  • 修复 Windows 上 pygraphviz 的安装问题 (#7512)。

  • 维护: 使 plot_image_segmentation_spectral_graph_partition 示例兼容 scipy 1.14.0 (#7518)。

  • 修复文档工作流中 nx-cugraph 的 CI 安装问题 (#7538)。

  • 对 dorogovtsev_goltsev_mendes 的文档/测试进行小修改 (#7535)。

  • CI: 为覆盖率任务添加超时限制 (#7542)。

  • 更新文档构建工作流中使用的图像 (#7537)。

  • 移除与并行化相关的 TODO 注释 (#7226)。

  • 修复: scipy 1d 索引问题导致 numpy 出现问题?(#7541)。

  • 对 node_link 函数进行小修改 (#7540)。

  • 对 colliders v_structures 测试进行小更新 (#7539)。

  • 更新 sphinx gallery 配置以启用 sphinx 构建缓存 (#7548)。

  • 更新地理空间示例集的依赖项 (#7508)。

  • 更新 ruff pre-commit 和 config (#7547)。

  • 更精确的 NodeNotFound 错误消息 (#7545)。

  • 更新 ruff config (#7552)。

  • 添加 changelist config (#7551)。

  • 修复部署文档 CI 中 nx-cugraph 的安装问题 (#7561)。

  • 修复 nx_pydot.graphviz_layout 对带有引号/转义字符的节点的处理问题 (#7588)。

  • 文档: 从 autosummary 中移除冗余模块 (#7599)。

  • 更新 numpydoc (1.8) (#7573)。

  • 将 pydot 最低版本提升至 3.0 (#7596)。

  • CI: 在夜间 wheel 测试中包含 Python 3.13 (#7594)。

  • pydot - 移除字符串中的冒号检查 (#7606)。

  • 维护: 在 circle CI 中不使用 requirements 文件 (#7553)。

  • 在 github workflow 中不使用 requirements 文件 (#7495)。

  • weisfeiler_lehman_graph_hash: 添加 not_implemented_for("multigraph") 装饰器 (#7614)。

  • 通过运行 tools/team_list.py 更新 teams 文档 (#7616)。

  • 为局部和全局可达中心性添加单节点自环检查 (#7350)。

  • 为 issue #6029 中的 maxflow 添加全面的测试覆盖 (#6355)。

  • CI: 修复夜间运行 pip install 中的拼写错误 (#7625)。

  • 文档: 在文档中重新引入 plausible (#7639)。

  • 更新最低依赖项 (SPEC 0) (#7631)。

  • 更新 pygraphviz (1.14) (#7654)。

  • 修改 product.py,使其在 'root 不在 H 中' 时抛出 NodeNotFound 异常 (#7635)。

  • 支持 Python 3.13 (#7661)。

  • 使用官方发布的 Python 3.13 (#7667)。

其他#

  • 杂项: 修复评论中的一些拼写错误 (#7427)。

贡献者#

此版本新增 53 位作者 (按字母顺序排列)

此版本新增 28 位评审者 (按字母顺序排列)

_这些列表是自动生成的,可能不完整或包含重复项。_