NetworkX 2.8.1#

发布日期:2022 年 5 月 18 日

支持 Python 3.8, 3.9, 和 3.10

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

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

亮点#

次要文档更新和错误修复。

改进#

  • 更改了 has_eulerian_path 对有向图的处理方式,该方法过去允许带有孤立节点(即度为零的节点)的图拥有欧拉路径。而对于无向图,has_eulerian_path 不允许孤立节点。例如

    >>> G = nx.DiGraph([(0, 1), (1, 2), (2, 0)])
    >>> G.add_node(3)
    >>> nx.has_eulerian_path(G)
    

    上述代码片段过去会产生 True,而下面的代码片段过去会产生 False

    >>> G = nx.Graph([(0, 1), (1, 2), (2, 0)])
    >>> G.add_node(3)
    >>> nx.has_eulerian_path(G)
    

    此更改使该方法对于无向图和有向图类型都保持一致,即不允许孤立节点。(现在两个示例都产生 False。)

  • 当测试的节点不相同时,is_bipartite_node_set 现在会引发异常(以前这不会影响结果)。这是为了避免在其他二分图算法中使用节点集合时出现意外行为,例如它会导致 weighted_projected_graph 产生不正确的结果。

合并的 PRs#

总共提交了 52 项更改。

  • 修复发布说明

  • 提高发布版本号

  • 更改无向图的 arrowstyle 默认值 (#5514)

  • 在加权图中添加了边标签 (#5521)

  • 在 is_forest() 和 is_tree() 中添加了示例 (#5524)

  • 一种强制在检查第一个节点时忽略自环的 hack (#5516)

  • 反回归:在装饰生成器中提前评估 not_implemented_for (#5537)

  • 改进 PlanarEmbedding 类的文档 (#5523)

  • PlanarEmbedding 使用 autosummary 而非 autoclass (#5548)

  • 在 tournament 和 tree 函数中添加了示例 (#5536)

  • 修正 PlanarEmbedding 的“另请参阅”部分 (#5556)

  • 修复 min_edge_cover 在特殊情况下的问题 (#5538) 并修正文档 (#5549)

  • 添加 is_planar 函数。解决 issue #5109 (#5544)

  • 改进桥的文档 (#5519)

  • 修复 greedy_modularity 在存在多个组件时的问题 (#5550)

  • 修复 https://codereview.doctor 发现的可能是 f-string 的问题 (#5574)

  • MAINT: 修复 sphinx 构建错误和警告 (#5571)

  • 用直接相关的示例替换 induced_subgraph 示例 (#5576)

  • 为 compose 操作添加示例 (#5583)

  • 修复 label_propagation_communities 文档字符串中的引用 (#5588)

  • 在测试中使用集合而非列表来收集 flowfuncs (#5589)

  • 更新 .degree() 文档:过时的返回类型 (#5529)

  • 更新 numpydoc (#5580)

  • 在错误信息中添加一个空格 (#5601)

  • 改进 read_doc 的文档字符串,参见 issue #5604 (#5605)

  • 在 Graph 上缓存 nodes 属性 (#5600)

  • 修复 #5403:非互异二分图节点集合的错误 (#5442)

  • 添加了 branching_weight() 的文档,解决 issue #5553 (#5558)

  • 距离度量示例 (#5608)

  • 修正了 find_negative_cycle() 的文档,解决 issue #5610 (#5613)

  • 在 connected 和 strongly connected 函数中添加了示例 (#5559)

  • 更新 GH actions (#5622)

  • 移除 _mat_spect_approx,采用更简单的过程 (#5624)

  • 在布局中用索引替换 np.flip (#5623)

  • 缓存 Graph 类的 edges, degree, adj 属性 (#5614)

  • 欧拉路径不允许孤立节点 (#5616)

  • 修复三元组计数 (triadic census) (#5575)

  • 调整 nodes_or_number 装饰器的用法 (#5599)

  • 使用新的 ubuntu LTS 版本 (#5630)

  • 使用 Py 3.9 构建文档 (#5632)

  • 添加了 moral graph 的示例 (#5633)

  • 在 weakly_connected.py 中添加了示例 (#5593)

  • 指定 2.8.1rc1 版本

  • 提高发布版本号

  • 从 moral_graph 中移除不必要的输入验证 (#5638)

  • DOC: 修复链接,移除对有向图的引用,添加正确引用 (#5635)

  • 在一元运算符下添加了示例 (#5625)

  • 为匹配函数添加了 docstring 示例 (#5617)

  • doc: 修复 docstring 和注释中的拼写错误 (#5647)

  • DOC: 移除关于不存在参数的注释 (#5648)

  • 为 covering.py 添加了示例 (#5646)

  • 添加了 chain decomposition 的示例 (#5641)

  • 修复拼写错误 (#5652)

贡献者#

  • William Allen

  • Ross Barnowski

  • Kelly Boothby

  • Brit

  • Guillem Francès

  • Brian A. Heckman

  • Horst JENS

  • Lukong123

  • Jarrod Millman

  • Omkaar

  • Dan Schult

  • Mridul Seth

  • Nikita Sharma

  • Tatsuya Shimoda

  • Dilara Tekinoglu

  • Stefan van der Walt

  • Aaron Z

  • code-review-doctor

  • danielolsen

  • sheldonkhall