NetworkX 3.2#

发布日期:2023年10月18日

支持Python 3.9、3.10、3.11和3.12。

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

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

亮点#

  • 为大多数算法添加了 @nx._dispatch 装饰器( #6688 )。

API更改#

  • is_semiconnected 中删除了 topo_order 关键字参数,没有废弃( #6651 )。

  • 废弃了Edmonds类( #6785 )。

  • 使具有默认假设的函数的权重成为API的一部分( #6814 )。

  • ENH:允许用户在get_attr方法中设置默认值( #6887 )。

  • 将函数 join 重命名为 join_trees#6908 )。

  • API:添加一个装饰器来废弃位置参数( #6905 )。

  • 在node_link模块中过期 attrs 关键字参数( #6939 )。

  • 对sort_neighbors废弃进行轻微调整( #6942 )。

  • 从scale_free_graph中删除了废弃的 create_using 关键字参数( #6940 )。

  • 使几何边缘的位置成为API的一部分( #6816 )。

  • 取消对literal_(de)stringizer的废弃( #6943 )。

  • 使incidence_matrix的新dtype参数仅限关键字参数( #6954 )。

  • 使 fast_label_propagation_communities 的权重和种子仅限关键字参数( #6955 )。

  • API:从cd_index中的time_delta中删除默认值( #6953 )。

  • 废弃了strongly_connected_components_recursive( #6957 )。

  • 删除了废弃的clique辅助函数( #6941 )。

增强功能#

  • 更新三角形的计算( #6258 )。

  • 添加了single_source_all_shortest_paths和all_pairs_all_shortest_paths( #5959 )。

  • 为大多数算法添加了 @nx._dispatch 装饰器( #6688 )。

  • 将基准测试移至主存储库内部( #6835 )。

  • ENH – 在 :function:rescale_layout 中用numpy向量化方法替换了for循环 ( #6879 )。

  • 用于社区检测的快速标签传播算法 ( #6843 )。

  • 添加时间序列可视化图生成器 ( #6880 )。

  • 随机树和森林 ( #6758 )。

  • 向默认gml解析器添加对元组节点的支持 ( #6950 )。

  • 添加Kemeny常数 ( #6929 )。

  • 加速 resistance_distance ( #6925 )。

  • 允许图生成器和转换函数被调度 ( #6876 )。

  • 添加可扩展性问题(第二次尝试) ( #4890 )。

Bug 修复#

  • 修复了 to_agraph() 的 DOT 格式 ( #6474 )。

  • 在不弃用的情况下从 is_semiconnected 中删除了 topo_order kwarg ( #6651 )。

  • 稳定化了 approximation.connected_components 的测试 ( #6715 )。

  • 修复了 minimum_cycle_basis 并更改为返回循环而不是集合 ( #6788 )。

  • 重新修复了 minimum_cycle_basis 和 scipy.sparse 转换并添加了测试 ( #6789 )。

  • number_of_walks 可能使用加权边属性 ( #6815 )。

  • GML:添加了对读取多行值的支持 ( #6837 )。

  • 避免 directed_laplacian_matrix 在某些情况下导致 nans ( #6866 )。

  • 添加关于零权重循环的测试并修复 goldberg-radzik ( #6892 )。

  • 修改 s_metricnormalized 默认值,使函数不会引发异常 ( #6841 )。

  • 处理无效 prufer 序列的错误处理 from_prufer_sequence : issue #6420 ( #6457 )。

  • 修复:在没有节点属性的情况下,percolation centrality 的更好默认行为 ( #6894 )。

  • 修复:MultiDiGraphs 中的键在加权最短路径中丢失 ( #6963 )。

  • 处理 Laplacian 中心性的边缘情况 ( #6938 )。

  • 添加一个在每个级别的有向Louvain算法中忽略自环的公式 ( #6630 )。

  • 修复了``````is_k_edge_connected``````在 k=2 的情况下的问题 ( #7024 )。

文档#

  • 修复 laplacian_centrality 和 laplacian_matrix 中的链接 ( #6623 )。

  • 在画廊中添加贪婪着色示例 ( #6647 )。

  • 在贡献者指南中添加代码检查 ( #6692 )。

  • 对 equitable_coloring 文档字符串进行小修正 ( #6673 )。

  • 移除调查横幅 ( #6818 )。

  • 修复:使消息可读 ( #6860 )。

  • 为 dfs_predecessor 和 dfs_successor 的源输入添加文档 ( #6867 )。

  • 澄清 basis 仅生成简单循环 ( #6882 )。

  • 撤销“澄清 basis 仅生成简单循环” ( #6885 )。

  • 更新 TSP 示例文档 ( #6794 )。

  • 维护:将 PR 模板指向 pre-commit ( #6902 )。

  • 修复文档构建错误/警告 ( #6907 )。

  • 文档:杂乱的反引号和双引号改为简单反引号 ( #6917 )。

  • 文档:在缩并中为自环多重图添加示例 ( #6901 )。

  • 修复分派函数的 Sphinx 文档渲染 ( #6895 )。

  • 在图形度序列上添加更多示例 ( #5634 )。

  • 对 sort_neighbors 弃用进行小改进 ( #6942 )。

  • 在 betweenness.py 中针对浮点权重添加警告注释 ( #5171 )。

  • 文档:杂项拼写错误 ( #6959 )。

  • 修复 effective_size 文档中的拼写错误 ( #6967 )。

  • 修复 tournament.py 中的示例 ( #6964 )。

  • 修复引用 ( #6977 )。

  • 在 snap_aggregation 文档字符串中添加缺失参数 ( #6978 )。

  • 更新开发者弃用待办事项列表 ( #6985 )。

  • 添加 “networkx.plugin_info” 入口点并更新文档字符串 ( #6911 )。

  • 文档图类型;添加链接;删除未使用的导入 ( #6992 )。

  • 在在线文档中添加 GraphBLAS 后端 ( #6998 )。

  • 添加 3.2rc0 发行说明 ( #6997 )。

  • 更新变更列表的发布流程( #7005 )。

  • 更新变更列表工作流程的贡献指南( #7004 )。

  • 修复 modularity 函数文档字符串中\(m\)参数的定义( #6990 )。

  • 更新SA_tsp和TA_tsp的文档( #7013 )。

  • 更新katz_centrality缺失的默认alpha值( #7015 )。

维护#

  • 用gh action替换codecov Python CLI( #6635 )。

  • 将pyupgrade的最低Python版本提升至3.9( #6634 )。

  • MAINT: 清理一些覆盖率问题( #6674 )。

  • 删除用于验证输入的不可达代码( #6675 )。

  • 临时修复文档CI失败问题,将sphinx版本固定在<7( #6680 )。

  • 改进与#5092相关的测试粒度示例( #5094 )。

  • MAINT: 提升scipy版本并利用延迟加载( #6704 )。

  • 根据SPEC0放弃对Python 3.8的支持( #6733 )。

  • 更新pygraphviz( #6724 )。

  • 根据SPEC0更新核心依赖项( #6734 )。

  • 在Python 3.12-beta2上进行测试( #6737 )。

  • 更新OSMnx示例( #6775 )。

  • 对清除numpy废弃警告进行轻微修复( #6776 )。

  • 添加label-check工作流( #6797 )。

  • 使用dependabot( #6799 )。

  • 将webfactory/ssh-agent从0.7.0升级到0.8.0( #6800 )。

  • 为合并的PR附加里程碑( #6802 )。

  • 添加preserve_all_attrs到convert_from_nx以使其简洁( #6812 )。

  • 将scientific-python/attach-next-milestone-action从f94a5235518d4d34911c41e19d780b8e79d42238升级到bc07be829f693829263e57d5e8489f4e57d3d420( #6830 )。

  • 放宽 betweenness_centrality 测试中的阈值( #6827 )。

  • 为{single_source,all_pairs}_all_shortest_paths, cd_index添加@nx._dispatch( #6832 )。

  • ci: 在每晚上传的wheel中添加分发验证检查 ( #6831 )。

  • MAINT: 修复到每晚发布的wheels的链接 ( #6845 )。

  • 不测试numpy2的每晚版本 ( #6852 )。

  • MAINT: 替换scipy命名空间中的numpy别名 ( #6857 )。

  • 为测试取消scipy的上限 ( #6727 )。

  • 临时解决NEP 51 numpy标量reprs + NX doctests问题 ( #6856 )。

  • 取消numpy每晚版本的固定 ( #6854 )。

  • 修复:使消息可读 ( #6860 )。

  • 撤销“将sphinx固定在<7作为文档CI失败的临时修复 (#6680)” ( #6859 )。

  • _dispatch 更改为类而不是闭包 ( #6840 )。

  • 将random_state修饰符移到 @nx._dispatch 之前 ( #6878 )。

  • MAINT: 使GEXF和graphml写入器与numpy 2.0兼容 ( #6900 )。

  • 将函数 join 重命名为 join_trees ( #6908 )。

  • 将缺失的 join 弃用内容添加到release_dev和conftest ( #6933 )。

  • MAINT: 将分发测试工作流作为独立的CI作业 ( #6934 )。

  • MAINT: 使用importlib.resources而不是文件dunder来访问文件 ( #6936 )。

  • DOC, MAINT: 删除文档中的重复说明 ( #6937 )。

  • MAINT: 对具有<3个节点的图使用random_triad时引发清晰错误 ( #6962 )。

  • 更新numpydoc ( #6773 )。

  • MAINT: 更新pre-commit工具依赖 ( #6965 )。

  • MAINT: 清理triads中的注释掉的代码 ( #6961 )。

  • MAINT: Scipy每晚版本失败,带有np别名 ( #6969 )。

  • 将actions/checkout从3升级到4 ( #6970 )。

  • 用于测试新pydata-sphinx-theme PR ( #6982 )。

  • MAINT: 暂时禁用构建delaunay地理空间示例 ( #6981 )。

  • 撤销“MAINT: 暂时禁用构建delaunay地理空间示例” ( #6984 )。

  • 增强改变默认连接树 6947 ( #6948 )。

  • 更新sphinx主题 ( #6930 )。

  • 从pyproject.toml生成要求文件 ( #6987 )。

  • 使用可信发布者 ( #6988 )。

  • 更喜欢使用”backend”而不是”plugin” ( #6989 )。

  • CI:将scientific-python/upload-nightly-action固定为0.2.0 ( #6993 )。

  • 支持Python 3.12 ( #7009 )。

  • 从git安装nx-cugraph,而不是使用nightly wheels进行文档安装 ( #7011 )。

  • 修复拼写错误 ( #7012 )。

其他#

  • 更新发布流程 ( #6622 )。

  • 在Gallery中添加最低共同祖先示例 ( #6542 )。

  • 在bipartite centrality.py中添加示例 ( #6613 )。

  • 从CI中移除Python 3.8 ( #6636 )。

  • 修复eigenvector.py和katz_centrality.py中的链接 ( #6640 )。

  • 在girvan_newman示例中使用正确的命名空间 ( #6643 )。

  • 在bipartite_layout中保留节点顺序 ( #6644 )。

  • 使cycle_basis()确定性 ( #6654 )。

  • 为clique.py添加文档字符串示例 ( #6576 )。

  • 修复空图的is_chordal输出 ( #6563 )。

  • 允许多个图形用于 @nx._dispatch ( #6628 )。

  • 在贡献者列表中Dheeraj的名字旁边添加GitHub链接 ( #6670 )。

  • 将is_tounament添加到主命名空间 ( #6498 )。

  • 使用解包运算符在字典上,以防止构建中间对象 ( #6040 )。

  • 为test_correlation.py添加测试 ( #6590 )。

  • 改进neighbor_degree.py的测试覆盖率 ( #6589 )。

  • 为nx_pylab.py添加文档字符串示例 ( #6616 )。

  • 改进current_flow_closeness.py的测试覆盖率 ( #6677 )。

  • 尝试添加circleci artifact secret ( #6679 )。

  • 为 reaching.py 改进测试覆盖率 ( #6678 )。

  • 为 euler.py 添加了测试 ( #6608 )。

  • codespell: pre-commit, config, 修复拼写错误 ( #6662 )。

  • 为 mst.py 改进测试覆盖率 ( #6540 )。

  • 在测试 dispatch 中将权重处理为 distance= ( #6671 )。

  • 移除调查横幅 ( #6687 )。

  • CircleCI: 为图像重定向器添加令牌 ( #6695 )。

  • MAINT: 通过 graphviews 直接向 nx 命名空间添加 subgraph_view 和 reverse_view ( #6689 )。

  • 为 dense.py 添加了文档字符串示例 ( #6669 )。

  • MAINT: 添加 github action 定时任务以上传每晚的 wheels ( #6701 )。

  • MAINT: 修复每晚构建工作流程中的文件路径 ( #6702 )。

  • 为最短路径添加示例脚本 ( #6534 )。

  • 为 generic_graph_view 添加了文档字符串 ( #6697 )。

  • Doc: 修正下划线长度错误 ( #6708 )。

  • MAINT: 每周定时任务以测试每晚依赖项 ( #6705 )。

  • 简化 dfs 中的堆栈 ( #6366 )。

  • 优化 generic_bfs_edges 函数 ( #6359 )。

  • 优化 _plain_bfs 函数 ( #6340 )。

  • 添加计算环的函数 ( #6633 )。

  • MAINT: 阻止 CI 在分支上上传每晚构建 ( #6717 )。

  • astar_path 的性能改进 ( #6723 )。

  • 跳过 scipy-1.11.0rc1,因为已知问题 ( #6726 )。

  • 为 incidence_matrix 函数添加一个可选参数以提供… ( #6725 )。

  • 由 jfinkels & dtekinoglu 实现的图遍历 ( #5908 )。

  • DOCS: 将 walks 添加到 algorithms.index ( #6736 )。

  • 在贡献者指南中添加关于在文档字符串中使用 LaTeX 格式的说明 ( #6535 )。

  • 修复 intersection_all 方法 ( #6744 )。

  • 修复无权图的 Johnson 方法 ( #6760 )。

  • 维护:在要求中忽略SciPy v1.11 ( #6769 )。

  • 替换已弃用的numpy.alltrue方法 ( #6768 )。

  • 排除scipy 1.11.1 ( #6772 )。

  • 记录构建文档所需的额外导入项 ( #6766 )。

  • 修改max_weight_matching为非递归 ( #6684 )。

  • 重写NXEP 3 ( #6648 )。

  • 重构edmonds算法 ( #6743 )。

  • nx_pylab.py的文档字符串改进 ( #6602 )。

  • 使用pyproject.toml ( #6774 )。

  • 包含缺失的package_data ( #6780 )。

  • [BUG] 修补 is_minimal_d_separator 的文档和功能 ( #6427 )。

  • 更新特征向量中心性的文档 ( #6009 )。

  • 修复贡献页面中的拼写错误 ( #6784 )。

  • 修复louvain中空图的零除错误 ( #6791 )。

  • 网络文本的垂直链 ( #6759 )。

  • 时间相关模块 ( #6682 )。

  • 允许用户在from_numpy_array中选择不包含边属性 ( #6259 )。

  • 修改``````bfs_edges``````并向``````generic_bfs_edges``````添加警告 ( #5925 )。

  • 拼写错误 ( #6752 )。

  • 为join操作添加测试用例并修复处理label_attributes的join操作 ( #6503 )。

  • 在adjacency_graph上删除序列化残留物 ( #6041 )。

  • 修补视图签名 ( #6267 )。

  • 添加非图形示例的文档 ( #6946 )。

  • 功能:算法/操作符的文档字符串示例 ( #6974 )。

贡献者#

本版本新增了70位作者(按字母顺序排列):

本次发布中共有41位审阅者(按字母顺序排列):

  • @gsemer

  • @IbrH

  • @peijenburg

  • @Tortar

  • Aaron Z.( @aaronzo

  • Adam Li( @adam2392

  • Adam Richardson( @AdamWRichardson

  • Alimi Qudirah( @Qudirah

  • Andreas Wilm( @andreas-wilm

  • Anthony Labarre( @alabarre

  • Dan Schult( @dschult

  • Davide Bonin( @davidbonin92

  • Dilara Tekinoglu( @dtekinoglu

  • Efrem Braun( @EfremBraun

  • Eirini Kafourou( @eirinikafourou

  • Eran Rivlis( @erivlis

  • Erik Welch( @eriknw

  • Evgenia Pampidi( @evgepab

  • Ian Thompson( @it176131

  • James Trimble’s ONS work( @jtrim-ons

  • Jarrod Millman( @jarrodmillman

  • Jim Kitchen( @jim22k

  • Jordan Matelsky( @j6k4m8

  • Josh Soref( @jsoref

  • Kelly Boothby( @boothby

  • Lukong Anne( @Lukong123

  • Matt Schwennesen( @mjschwenne

  • Matthew Feickert( @matthewfeickert

  • Matthias Bussonnier( @Carreau

  • Mridul Seth( @MridulS

  • Navya Agarwal( @navyagarwal

  • Nishant Bhansali( @nishantb06

  • Orion Sehn( @OrionSehn-personal

  • Purvi Chaurasia( @PurviChaurasia

  • Robert( @ImHereForTheCookies

  • Ross Barnowski( @rossbar

  • Salim BELHADDAD( @salym

  • Sebastiano Vigna( @vigna

  • Sultan Orazbayev( @SultanOrazbayev

  • Vanshika Mishra( @vanshika230

  • Yaroslav Halchenko( @yarikoptic

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