NetworkX 2.5#
发布日期:2020 年 8 月 22 日
支持 Python 3.6、3.7 和 3.8。
NetworkX 是一个 Python 软件包,用于创建、操作和研究复杂网络的结构、动力学和功能。
欲了解更多信息,请访问我们的网站和示例图库。请将意见和问题发送至networkx-discuss 邮件列表。
亮点#
此版本是 92 位贡献者经过 10 个月工作、提交 200 多次的结果。亮点包括
放弃支持 Python 3.5。
添加 Pathlib 支持以处理文件。
提升性能。
更新了文档和测试。
移除了为兼容 Python 2 设计的代码。
新函数
lukes_partitioning
triadic analysis functions
functions for trophic levels analysis
d_separated
is_regular and other regular graph measures
graph_hash using Weisfeiler Lehman methods
common_neighbor_centrality (CCPA link prediction)
max_weight_clique
path_weight and is_path
rescale_layout_dict
junction_tree
新生成器
paley_graph
interval_graph
新布局算法
multipartite_layout
改进#
添加治理文档、开发者指南和社区结构
实施明确的弃用策略。
启动 NX 增强提案 (NXEP) 系统
优化 single_source_shortest_path
改进了 shortest_path 例程中“weight”规范的一致性
减少 numpy.matrix 的使用,numpy 不鼓励使用它。
改进了线条颜色
搜索引擎对文档的处理更好
lattice、grid_graph 和 grid_2d_graph 可以使用 dim=tuple
修复 kamada_kawai_layout 算法的初始化器
moral 和 threshold 函数现已包含在命名空间和文档中
绘制时更好地缩放箭头
随机 lobster 图的创建更加均匀
允许在迭代 connected_components 期间编辑图
在转换 pandas DataFrame 时更好地处理列
允许 simrank_similarity 接受有向图输入
确保 VoteRank 能力为非负
加速 kernighan_lin_bisection
加速负权重环检测
tree_isomorphism
rooted_tree_isomorphism
Gexf 边属性“label”现可用
API 变更#
在
contracted_nodes
中启用了“copy”标志参数允许部分周期性格子
minimum_st_node_cut 的返回值现在始终是一个集合
从 create_py_random_state 中移除未使用的“has_numpy”参数
修复了绘制空节点和边时的返回值
允许将边的 set 和 frozenset 作为输入传递给 nx.Graph()
“weight”可以是 astar, directional_dijkstra, all_shortest_path 的函数
允许 GraphML 边写入时使用命名键 ID
nx.draw 及其相关函数中现在会检查所有关键字的有效性
EdgeDataView 的“in”运算符检查节点是否“在 nbunch 中”
从 minimum weight full matching 中移除完整性条件
在 bfs 遍历中排序邻居的选项
draw_networkx 接受 numpy 数组作为 edgelist
将 2 个节点映射到同一节点的 relabel_nodes 现在可以创建多重边
steiner_tree 支持 MultiGraph
向 view_pygraphviz 添加
show
kwarg (#4155)准备将 chordal_graph_cliques 变为生成器 (#4162)
GraphML 读取器关键字 force_multigraph 即使没有多重边也会创建 MultiGraph
弃用#
[#3680] 弃用
make_str(x)
,改用str(x)
。弃用is_string_like(obj)
,改用isinstance(obj, str)
。[#3725] 弃用
literal_stringizer
和literal_destringizer
。[#4155] 弃用
display_pygraphviz
。[#4162] 弃用
chordal_graph_cliques
返回集合。[#4161] 弃用
betweenness_centrality_source
。[#4161] 弃用
edge_betweenness
。[#4161] 重命名
_naive_greedy_modularity_communities
为naive_greedy_modularity_communities
。
合并的 PR#
总共提交了 256 项变更。
提升发布版本
更新发布流程
放弃支持 Python 3.5
修复文档中的拼写错误
移除旧的 Python 2 代码
启用更多 doctests
修复 pydot 测试
不清楚如何测试测试辅助函数
Pathlib 在 Py 3.4 中引入
移除使用 sys.version_info 检测 Python 2 的代码
使用 yield from
对测试进行 PEP8 修复
移除未使用的导入
使用 pytest.importorskip
PEP8 修复
移除未使用的导入
添加 pep8_speaks conf
使用 itertools accumulate
修复问题 3610:gexf.py 的 version 属性中的 Bug
忽略 W503
在没有可选依赖项的情况下运行 doctest
跳过缺少依赖项时的 doctests
移除 sed 导入
启用测试 (#3678)
contracted_nodes
添加 copy 标志 (#3646)弃用 make_str
弃用 is_string_like
修复 PEP8 问题
启用 ThinGraph 测试 (#3681)
优化 _single_shortest_path_length (#3647)
修复问题 3431:在 make_small_graph 接收到错误输入时返回错误 (#3676)
避免由于导入引起的重复测试 (#3684)
修复拼写错误:Laplacian -> Laplacian (#3689)
添加测试
Lukes 算法实现 (#3666)
移除围绕 starmap 的 shim
添加回图库
向 LineCollection 添加 colormap 和 color limits (#3698)
修复 matplotlib 弃用警告 (#3697)
采纳 SciPy CoC
更新文档以更准确描述 G.neighbors 的速度 (#3699)
使用规范 URL 帮助搜索引擎
移除重复的 license 参数 (#3710)
修复一些地方关于异常的文档问题
修复更多关于异常的文档问题
移除旧的 Python 2 代码
移除模块顶部的样板
移除多余的编码信息
更新示例
简化包文档字符串
移除非可执行文件中的 shebang
添加贡献者
K-truss 是针对位于 (k-2) 个三角形中的边定义的,而不是 k 个三角形 (#3713)
在 Python 3.8 上启用可选测试
修复 test_numpy_type 以在 Python 3.8 下通过
添加数据文件链接
弃用 Python 2/3 兼容代码
更新风格
更新风格
分离易于安装和难于安装的可选依赖项
默认安装可选依赖项
重构测试
子图复制示例代码:为 is_multigraph 添加括号 (#3734)
修复拼写错误 (#3735)
修复引用链接 (#3741)
从 setup.py 中移除 f 字符串,以便在 < py3.6 时提供清晰的错误消息 (#3738)
3511 gml 列表支持 (#3649)
添加了 linestyle 作为参数 (#3747)
链接到示例所需的文件 (#3752)
修复了一个拼写错误
合并 pull request #3759 来自 yohm/patch-1
移除未使用的变量,使 grid_graph 支持 dim=tuple (#3760)
数独生成器问题 3756 (#3757)
修复 shall_layout 中单节点 shell 的缩放问题 (#3764)
添加 triadic analysis functions (#3742)
提高测试覆盖率
更新 contribs 脚本
将 % 格式转换为 fstring
升级到 Py36 语法
升级到 Py36 语法
更新字符串格式
修复 scipy 弃用警告
更新年份
抑制已知警告 (#3770)
修复 asyn_fluidc 的文档字符串 (#3779)
修复 #3703 (#3784)
修复 kamada_kawai_layout 的初始化器 (networkx #3658) (#3782)
次要注释问题 (#3787)
将 moral 和 threshold 包添加到主命名空间 (#3788)
向 bidirectional_dijkstra 和 astar 添加 weight 函数 (#3799)
绘制有向边时,正确缩小箭头的起点侧。#3805 (#3806)
部分周期性格子的选项 (networkx #3586) (#3807)
防止 subgraph_is_monomorphic 出现 KeyError (#3798)
Trophic Levels #3736 (#3804)
UnionFind 的 union 未准确跟踪集合大小 (#3810)
移除空白字符 (#3816)
重新考虑 lobster 生成器 (#3822)
修复拼写错误 (#3838)
修复拼写错误,稍微混淆了含义 (#3840)
为问题 #3846 添加修复 (#3848)
从 create_py_random_state 移除未使用的变量 has_numpy (#3852)
修复绘制空节点和边时的返回值 #3833 (#3854)
使 connected_components 在组件集修改时安全 (#3859)
修复文档字符串中的示例 (#3866)
更新 README.rst 网站链接为 https (#3888)
拼写错误 (#3894)
使 CONTRIBUTING.rst 更清晰 (#3895)
修复 nx.info() 的文档,以及必要的测试 (#3893)
为 jit_data 函数添加了 json dumps 的默认参数 (#3891)
将 nx.Digraph 修复为 nx.DiGraph (#3909)
使用 Sphinx 3.0.1
修复 Sphinx 弃用警告
在文档中添加 logo
允许边节点的集合 (#3907)
当将 'id' 转换为 int() 失败时添加额外信息。(解决 #3910)(#3916)
添加 paley graph (#3900)
将 paley graph 添加到文档 (#3927)
更新 astar.py (#3947)
对位置参数使用关键字 (#3952)
修复文档 (#3959)
为 GraphML 写入添加命名键 ID 的选项 (#3960)
修复文档 (#3958)
all_shortest_paths 中零权重边的正确处理 (#3783)
修复文档拼写错误 (#3965)
修复:simrank_similarity_numpy 的文档 (#3954)
修复 #3930 的问题(转换为 pd.DataFrame 时 source 和 target 列未被覆盖)(#3935)
为 #3948 添加最短简单路径的 weight 函数 (#3949)
修复 communicability 的定义 (#3973)
修复 simrank_similarity 接受有向图输入的问题 (#3961)
修复投票能力的削弱问题 (#3970)
实现了更快的 sweep 算法用于 kernighan_lin_bisection (#3858)
修复问题 #3926 (#3928)
更新 CONTRIBUTORS.rst (#3982)
弃用 context_manager reversed,倾向于使用 reversed_view (#3983)
更新 CONTRIBUTORS.rst (#3987)
增强 voterank (#3972)
添加 d-separation 算法 (#3974)
文档:向 find_cycle 添加“另请参阅”部分 (#3999)
改进 subgraph_view filter_edge 的文档 (#4010)
修复 dag.py 中的异常原因 (#4000)
在 to_networkx_graph 中使用 raise from 处理异常 (#4009)
修复 12 个模块中的异常原因和消息 (#4012)
修复拼写错误:
np.int
->np.int_
(#4013)修复一个拼写错误 (#4017)
修改文档 (#3981)
regular graphs 的算法 (#3925)
拼写错误 Hand 应该为 Hans (#4025)
文档:向 CONTRIBUTING. 添加测试要点 (#4035)
更新 Sphinx
更新可选/测试依赖项
添加治理/价值观/nexp/路线图
改进教程中 None 的格式 (#3986)
修复文档字符串中 DiGraph 的拼写 (#3892)
更新指向 Py3 文档的链接 (#4042)
添加仅清除边的方法 (#3477)
修复 codebase 中各处的异常原因和消息 (#4015)
在 draw_networkx 中显式处理 kwds (#4033)
返回空生成器而非空列表 (#3967)
正确推断 numpy 浮点类型 (#3919)
维护:更新 from_graph6_bytes 参数/文档 (#4034)
向文档添加 URL/横幅/标题栏 (#4044)
添加负环检测启发式算法 (#3879)
移除未使用的导入 (#3855)
修复 generate_gml(G, stringizer=None) 中的 Bug (#3841)
当 k < 2 时抛出 NetworkXError (#3761)
维护:从 alg. conn. 模块中移除 np.matrix
维护:从 attribute_ac. 中移除 np.matrix
维护,测试:参数化 TestAlgebraicConnectivity 中的方法
维护,测试:参数化 buckminsterfullerene 测试
维护,测试:移除未使用的 _methods 类属性
维护,测试:参数化 TestSpectralOrdering
排除自循环/递归边 (#4037)
进行中:更改 EdgeDataView __contains__ 功能(第二次尝试)(#3845)
为多重图简单路径索引边 (#3358)
增强:添加新的图哈希功能
修复 pandas 弃用警告
组织移除弃用代码
更新 sphinx
增强:向 GED 添加根和超时 (#4026)
使图库更醒目
添加 interval_graph 及其单元测试的实现 (#3705)
修复 kamada_kawai_layout 文档字符串中的拼写错误 (#4059)
从 minimum weight full matching 中移除完整性条件 (#4057)
实现了 multipartite_layout (#3815)
添加了新的 Link Prediction 算法 (CCPA) (#4028)
添加在 bfs 遍历期间对节点邻居进行排序的选项 (#4029)
测试:移除测试中的 int64 规范 (#4055)
运行 pyupgrade –py36plus
移除尾随空格
告知 psf/black 忽略特定的 np.arrays
使用 black 格式化
为 psf/black 添加 pre-commit hook
合并 pull request #4060 来自 jarrodmillman/black
修复匹配文档字符串中的几个拼写错误 (#4063)
修复 to_scipy_sparse_matrix 函数的 bug (#3985)
更新 minimum weight full matching 的文档 (#4062)
添加 maximum weight clique 算法 (#4016)
创建 networkx 对象后清除 pygraphviz 对象 (#4070)
在 travis 上使用较新的 osx (#4075)
更新 brew 后安装 Python (#4079)
添加指向 black 的链接 (#4078)
改进关于 erdos-reyni 图生成器别名的文档 (#4074)
维护:从 INSTALL 中移除依赖版本信息 (#4081)
简化顶层目录 (#4087)
文档:修复 laplacianmatrix 中的返回类型 (#4090)
在文档中添加 modularity (#4096)
允许 G.remove_edges_from(nx.selfloops_edges(G)) (#4080)
维护:移除私有函数,倾向于使用 numpy 内置函数 (#4094)
允许在 from_pandas_edgelist 中为多重边使用自定义键 (#4076)
修复 planar_layout 文档字符串 (#4097)
文档:关于 numpy.matrix 的措辞修改
维护:内部移除 to/from_numpy_matrix
合并 pull request #4093 来自 rossbar/rm_npmatrix
移除版权样板 (#4105)
更新贡献者指南 (#4088)
添加计算指定路径成本的函数 (#4069)
更新 from_pandas_edgelist 的文档字符串 (#4108)
将 max_weight_clique 添加到文档 (#4110)
更新弃用策略 (#4112)
改进 modularity 计算 (#4103)
添加团队图库 (#4117)
CI:为文档构建设置 circle CI (#4119)
构建 pdf (#4123)
文档:教程阅读建议和改进 (#4121)
在 travis 上启用 3.9-dev (#4124)
修复 parse_edgelist 在多个属性时的行为 (#4125)
CI:临时修复 CI latex 安装问题 (#4131)
更新 draw_networkx 以接受 numpy 数组作为 edgelist (#4132)
添加 tree isomorphism (#4067)
维护:在 to_networkx_graph 中切换到基于 abc 的 isinstance 检查 (#4136)
使用 dict 而非 OrderedDict,因为从 Python 3.6 开始 dict 默认有序 (#4145)
维护:修复 parse_edgelist 的问题 (#4128)
更新 circleci 镜像上的 apt-get (#4147)
添加 rescale_layout_dict 以更改 layout_dicts 的比例 (#4154)
更新依赖项
从 requirements 中移除 gdal
relabel_nodes 现在在多重图中保留边 (#4066)
维护,测试:提高 nx_agraph 模块的覆盖率 (#4156)
通过后处理使 steiner_tree 支持 MultiGraphs (#4160)
junction_tree for #1012 (#4004)
API:向 view_pygraphviz 添加
show
kwarg (#4155)准备将 chordal_graph_cliques 变为生成器 (#4162)
文档更新 (#4161)
从 doctests 中移除不必要的 nx 导入 (#4163)
GraphML 中的 MultiGraph 带有显式边 ID #3470 (#3763)
更新 sphinx 依赖 (#4164)
在 GEXF 写入器中添加边标签作为可选属性 (#3347)
v2.5 发布说明初稿 (#4159)
指定 2.5rc1 发布
提升发布版本
更新发布说明中的弃用内容 (#4166)
文档:更新 threshold 模块中公共函数的文档字符串 (#4167)
格式化文档字符串中的 python 代码 (#4168)
文档,构建:修复标记错误导致的文档构建警告 (#4174)
它包含以下 3 次合并
修复一个拼写错误 (#3759)
使用 psf/black (#4060)
维护:替换内部使用 to_numpy_matrix 和 from_numpy_matrix (#4093)
贡献者#
Adnan Abdulmuttaleb
Abhi
Antoine-H
Salim BELHADDAD
Ross Barnowski
Lukas Bernwald
Isaac Boates
Kelly Boothby
Matthias Bruhns
Mahmut Bulut
Rüdiger Busche
Gaetano Carpinato
Nikos Chan
Harold Chan
Camden Cheek
Daniel
Daniel-Davies
Bastian David
Christoph Deil
Tanguy Fardet
赵丰 (Zhao Feng)
Andy Garfield
Oded Green
Drew H
Alex Henrie
Kang Hong Jin
Manas Joshi
Søren Fuglede Jørgensen
Aabir Abubaker Kar
Folgert Karsdorp
Suny Kim
Don Kirkby
Katherine Klise
Steve Kowalik
Ilia Kurenkov
Whi Kwon
Paolo Lammens
Zachary Lawrence
Sanghack Lee
Anton Lodder
Lukas Lösche
Eric Ma
Mackyboy12
Christoph Martin
Alex Marvin
Mattwmaster58
James McDermott
Jarrod Millman
Ibraheem Moosa
Yohsuke Murase
Neil
Harri Nieminen
Danny Niquette
Carlos G. Oliver
Juan Orduz
Austin Orr
Pedro Ortale
Aditya Pal
PalAditya
Jose Pinilla
PranayAnchuri
Jorge Martín Pérez
Pradeep Reddy Raamana
Ram Rachum
David Radcliffe
Federico Rosato
Tom Russell
Craig Schmidt
Jonathan Schneider
Dan Schult
Mridul Seth
Karthikeyan Singaravelan
Songyu-Wang
Kanishk Tantia
Jeremias Traub
James Trimble
Shashi Tripathi
Stefan van der Walt
Jonatan Westholm
Kazimierz Wojciechowski
Jangwon Yie
adnanmuttaleb
anentropic
arunwise
beckedorf
ernstklrb
farhanbhoraniya
fj128
gseva
haochenucr
johnthagen
kiryph
muratgu
ryan-duve
sauxpa
tombeek111
willpeppo