NetworkX 2.5#
发布日期:2020年8月22日
支持Python 3.6、3.7和3.8。
NetworkX是一个用于创建、操作和研究复杂网络结构、动态和功能的Python包。
更多信息,请访问我们的 网站 和我们的 示例画廊 。请将评论和问题发送至 networkx-discuss 邮件列表 。
亮点#
此版本是经过10个月的工作,由92位贡献者进行了200多次提交的结果。亮点包括:
不再支持Python 3.5。
添加Pathlib支持以处理文件。
提高性能。
更新文档和测试。
移除为Python 2设计的代码。
新功能:
lukes_partitioning
三角分析函数
食物链级别分析函数
d_separated
is_regular 和其他正则图度量
使用Weisfeiler Lehman方法的graph_hash
common_neighbor_centrality(CCPA链路预测)
max_weight_clique
path_weight 和 is_path
rescale_layout_dict
junction_tree
新生成器:
paley_graph
interval_graph
新布局:
multipartite_layout
改进#
添加治理文档、开发者指南和社区结构
实施明确的弃用策略。
启动NX Enhancement Proposal(NXEP)系统
优化single_source_shortest_path
在最短路径例程中改进一致的“weight”规范
减少numpy.matrix的使用,这在numpy中是不鼓励的。
改进线条颜色
更好地处理文档的搜索引擎
lattice 和 grid_graph 以及 grid_2d_graph 可以使用 dim=tuple
修复 kamada_kawai_layout 算法的初始化程序
moral 和 threshold 函数现在包含在命名空间和文档中
绘制时更好地缩放箭头
更统一地创建随机龙虾图
允许在迭代连接组件时编辑图
在将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”参数
在绘制空节点和边时修复了返回值
允许将边的集合和冻结集作为nx.Graph()的输入
“weight”可以是astar、directional_dijkstra、all_shortest_path的函数
允许为GraphML边写入指定命名键id
现在在nx.draw和相关函数中检查所有关键字的有效性
EdgeDataView的“in”运算符检查节点是否在“nbunch”中
从最小权重完全匹配中删除完整性条件
在BFS遍历中添加对邻居进行排序的选项
draw_networkx现在接受numpy数组作为边列表
relabel_nodes现在可以创建多重边,即使有2个节点映射到同一个节点
steiner_tree可以与MultiGraph一起使用
在view_pygraphviz中添加
show
参数 (#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配置
使用itertools accumulate
修复问题3610:gexf.py中版本属性的错误
忽略W503
在没有可选依赖项的情况下运行doctest
缺少依赖项时跳过doctests
删除sed导入
启用测试 (#3678)
添加
contracted_nodes
复制标志 (#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
添加回到图库
将colormap和颜色限制添加到LineCollection (#3698)
修复matplotlib弃用问题 (#3697)
调整SciPy CoC
更新文档以更准确地描述G.neighbors的速度 (#3699)
使用规范的URL以帮助搜索引擎
删除重复的许可参数 (#3710)
修复几个地方关于异常的文档问题
修复更多关于异常的文档问题
删除旧的Python 2代码
从模块顶部删除样板代码
删除多余的编码信息
更新示例
简化包的文档字符串
从非可执行文件中删除shebang
添加贡献者
对边在(k-2)个三角形中定义的K-支撑进行修正,而不是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)
修正一个拼写错误
合并拉取请求 #3759 从yohm/patch-1
删除未使用的变量以使grid_graph支持dim=tuple (#3760)
数独生成器问题3756 (#3757)
修复shall_layout中单节点壳的缩放 (#3764)
添加三角分析函数 (#3742)
改进测试覆盖率
更新contribs脚本
将%-格式转换为fstring
升级到Py36语法
更新字符串格式
修复scipy的弃用警告
更新年份
消除已知警告 (#3770)
修复asyn_fluidc的文档字符串 (#3779)
修复 #3703 (#3784)
修复kamada_kawai_layout的初始化器 (networkx #3658) (#3782)
次要注释问题 (#3787)
将moral和threshold包添加到主命名空间 (#3788)
将权重函数添加到bidirectional_dijkstra和astar (#3799)
在绘制有向边时正确缩小箭头的源端。#3805 (#3806)
部分周期晶格的选项 (networkx #3586) (#3807)
防止subgraph_is_monomorphic上的KeyError (#3798)
营养级别 #3736 (#3804)
UnionFind的union没有准确跟踪集合大小 (#3810)
删除空格 (#3816)
重新考虑龙虾生成器 (#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弃用
在文档中添加标志
允许边节点的集合 (#3907)
当将’id’转换为int()失败时添加额外信息。 (解决 #3910) (#3916)
添加 Paley 图 (#3900)
将 Paley 图添加到文档中 (#3927)
更新 astar.py (#3947)
使用关键字作为位置参数 (#3952)
修复文档 (#3959)
为 GraphML 写入添加命名键 ID 的选项 (#3960)
修复文档 (#3958)
在 all_shortest_paths 中正确处理零权重边 (#3783)
修复文档中的拼写错误 (#3965)
修复:修正 simrank_similarity_numpy 的文档 (#3954)
修复 #3930(转换为 pd.DataFrame 时未覆盖源和目标列)的问题 (#3935)
为 #3948 添加最短简单路径的权重函数 (#3949)
修复 communicability 的定义 (#3973)
修复 simrank_similarity 在有向图输入时的问题 (#3961)
修复投票能力的削弱 (#3970)
实现更快的 Kernighan-Lin 二分算法 (#3858)
修复问题 #3926 (#3928)
更新 CONTRIBUTORS.rst (#3982)
弃用 context_manager 中的 reversed,改用 reversed_view (#3983)
更新 CONTRIBUTORS.rst (#3987)
为 voterank 增强功能 (#3972)
添加 d-分离算法 (#3974)
文档:为 find_cycle 添加 see also 部分 (#3999)
改进 subgraph_view filter_edge 的文档 (#4010)
修复 dag.py 中的异常原因 (#4000)
在 to_networkx_graph 中显式处理异常 (#4009)
修复 12 个模块中的异常原因和消息 (#4012)
修复拼写错误:
np.int
->np.int_
(#4013)修复一个拼写错误 (#4017)
更改文档 (#3981)
为正则图添加算法 (#3925)
拼写错误 Hand 应为 Hans (#4025)
文档:在 CONTRIBUTING 中添加测试要点 (#4035)
更新 Sphinx
更新可选/测试依赖项
添加治理/价值观/nexp/路线图
改进教程中 None 的格式 (#3986)
修复文档字符串中的 DiGraph 拼写错误 (#3892)
更新到 Py3 文档的链接 (#4042)
添加仅清除边的方法 (#3477)
修复整个代码库中的异常原因和消息 (#4015)
在 draw_networkx 中明确处理关键字参数 (#4033)
返回空生成器而不是空列表 (#3967)
正确推断 numpy 浮点类型 (#3919)
维护:更新 from_graph6_bytes 参数/文档。 (#4034)
在文档中添加 URLs/banner/titlebar (#4044)
添加负循环检测启发式 (#3879)
移除未使用的导入 (#3855)
修复 generate_gml(G, stringizer=None) 中的错误 (#3841)
当 k < 2 时引发 NetworkXError (#3761)
维护:从 alg. conn. 模块中删除 np.matrix
维护:从 attribute_ac 中删除 np.matrix
维护,测试:为 TestAlgebraicConnectivity 中的方法添加参数化。
维护,测试:参数化 buckminsterfullerene 测试。
维护,测试:移除未使用的 _methods 类属性
维护,测试:参数化 TestSpectralOrdering。
排除自/递归边 (#4037)
WIP:更改 EdgeDataView 的 __contains__ 特性(第二次尝试) (#3845)
为多图简单路径索引边 (#3358)
增强:添加新的 graph_hashing 功能
修复 pandas 弃用问题
组织删除已弃用代码
更新 Sphinx
增强:为 GED 添加 roots 和 timeout (#4026)
使画廊更加突出
添加 interval_graph 的实现及其单元测试 (#3705)
修正了kamada_kawai_layout文档字符串中的拼写错误 (#4059)
从最小权重完全匹配中移除完整性条件 (#4057)
实现了multipartite_layout (#3815)
添加了新的链路预测算法(CCPA) (#4028)
在bfs遍历过程中添加了对节点邻居进行排序的选项 (#4029)
TST: 从测试中移除int64规范 (#4055)
运行了pyupgrade –py36plus
移除了末尾的空格
告诉psf/black忽略特定的np.arrays
使用black格式化
添加了用于psf/black的pre-commit钩子
合并了来自jarrodmillman/black的拉取请求 #4060
修正了匹配文档字符串中的一些拼写错误 (#4063)
修复了to_scipy_sparse_matrix函数的bug (#3985)
更新了最小权重完全匹配的文档 (#4062)
添加了最大权重团算法 (#4016)
创建networkx对象后清除pygraphviz对象 (#4070)
在travis上使用更新的osx (#4075)
更新brew后安装Python (#4079)
添加到black的链接 (#4078)
改进了关于erdos-reyni图生成器别名的文档 (#4074)
MAINT: 从INSTALL中删除了依赖版本信息 (#4081)
简化了顶层目录 (#4087)
DOC: 修正了laplacianmatrix中的返回类型 (#4090)
在文档中添加模块性 (#4096)
允许G.remove_edges_from(nx.selfloops_edges(G)) (#4080)
MAINT: 使用numpy内置函数替代私有函数 (#4094)
允许在from_pandas_edgelist中为多重边添加自定义键 (#4076)
修正了planar_layout文档字符串 (#4097)
DOC: 关于numpy.matrix的重新措辞
MAINT: 内部删除to/from_numpy_matrix
合并了来自rossbar/rm_npmatrix的拉取请求 #4093
移除版权样板 (#4105)
更新贡献者指南 (#4088)
添加了计算指定路径成本的函数 (#4069)
更新了from_pandas_edgelist的文档字符串 (#4108)
在文档中添加了max_weight_clique (#4110)
更新了弃用策略 (#4112)
改进了模块性计算 (#4103)
添加了团队画廊 (#4117)
CI: 为文档构建设置了circle CI (#4119)
构建pdf (#4123)
DOC: 从教程阅读中提出的建议和改进 (#4121)
在travis上启用3.9-dev (#4124)
修复了parse_edgelist在多属性情况下的行为 (#4125)
CI: 临时解决CI latex安装问题 (#4131)
更新了draw_networkx以接受numpy数组作为edgelist (#4132)
添加了树同构性 (#4067)
MAINT: 在to_networkx_graph中切换到基于abc的isinstance检查 (#4136)
使用dict而不是OrderedDict,因为从Python 3.6开始dict默认是有序的 (#4145)
MAINT: 修复了parse_edgelist的问题 (#4128)
更新了circleci镜像上的apt-get (#4147)
添加了rescale_layout_dict以更改布局字典的比例 (#4154)
更新依赖项
从要求中移除了gdal
relabel_nodes现在在多重图中保留边 (#4066)
MAINT,TST: 改进了nx_agraph模块的覆盖率 (#4156)
通过后处理使steiner_tree适用于MultiGraphs (#4160)
为view_pygraphviz添加了
show
参数 (#4155)为将chordal_graph_cliques准备成生成器 (#4162)
文档更新 (#4161)
从doctests中删除不必要的nx导入 (#4163)
使用显式边ID从graphml中创建MultiGraph #3470 (#3763)
更新sphinx依赖 (#4164)
在GEXF写入器中添加边标签作为可选属性 (#3347)
v2.5版本发布说明的初稿 (#4159)
指定2.5rc1版本发布
升级发布版本号
在发布说明中更新弃用内容 (#4166)
更新阈值模块中公共函数的文档字符串 (#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