NetworkX 2.4#
发布日期:2019年10月16日
支持Python 3.5、3.6、3.7和3.8。 这是最后一个支持Python 3.5的版本。
NetworkX是一个用于创建、操作和研究复杂网络结构、动态和功能的Python包。
更多信息,请访问我们的 网站 和我们的 示例画廊 。 请将评论和问题发送到 networkx-discuss邮件列表 。
亮点#
此版本是由67位贡献者进行了6个月的工作,提交了200多次更改的结果。亮点包括:
删除了1.x中的弃用代码
支持Python 3.8
切换到pytest进行测试
最后一个支持Python 3.5的版本
新功能:
重心函数
Bethe Hessian矩阵函数
欧拉路径方法
群体中心性度量
子图单态
k-truss算法
洋葱分解
电阻距离
星状三元组
非随机性度量
线性prufing
最小权重二部匹配
增量接近中心性
ISMAGS子图同构算法
创建图的弦图
新生成器
二项树生成器
有向联合度生成器
随机互联网AS图生成器
布局新功能
螺旋节点布局例程
支持3D布局
改进#
允许平均最短路径使用Floyd-Warshall方法
改进GML、GEXF、GraphML的读写
允许字符串或json对象作为jit_graph的输入
尝试在更多地方允许numpy.array输入代替列表
更快的强连通分量
更快的Floyd-Warshall优化
更快的全局效率
更快的传递闭包
修复unionfind;betweenness_subset;lexico-topo-sort;A*; inverse_line_graph;async label propagation;edgelist reading; Gomory-Hu流方法;label_propagation;partial_duplication; shell_layout中只有1个节点的shell;from_pandas_edgelist
文档改进和修复
API更改#
一个实用函数is_list_of_ints更名为is_bunch_of_ints 现在测试int(item)==item而不是isinstance(_, int) 这允许例如值为整数的浮点数。
添加实用程序make_list_of_ints将包含整数值的容器转换为整数列表
弃用#
移除的函数(在NetworkX 2.1中标记为弃用):
attracting_component_subgraphs
connected_component_subgraphs
weakly_connected_component_subgraphs
strongly_connected_component_subgraphs
biconnected_component_subgraphs
有关如何获取子图的组件函数,请参阅文档。
移除的图对象方法(在2.1中标记为弃用)
G.add_path
G.add_cycle
G.add_star
G.nodes_with_selfloops
G.number_of_selfloops
G.selfloop_edges
这些现在是NetworkX函数,例如nx.add_star(G, 5)
G.node –> 使用G.nodes
G.fresh_copy –> 使用 G.__class__
移除图形视图函数的旧名称。
ReverseView
SubGraph
SubMultiGraph
SubMultiDiGraph
SubDiGraph
GraphView
DiGraphView
MultiGraphView
MultiDiGraphView
MultiReverseView
使用 reverse_view、subgraph_view 和 generic_graph_view。
合并的PR#
共提交了 205 处更改。
提升发布版本号
修复算法/遍历/edgebfs名称 (#3397)
添加参考链接 (#3403)
为 Harary 图生成器添加参考文献 (#3407)
修正拼写错误:交换源和目标 (#3413)
修复带有固定节点的 spring_layout bug (#3415)
将 LFR_benchmark 移动到生成器中 (#3411)
添加 barycenter 算法 (#2939)
添加 bethe hessian 矩阵 (#3401)
二项树生成器 (#3409)
修复边颜色与节点颜色和描述不一致的问题 (#3395)
添加用于群体中心度测量的模块 (#3421)
改进 edgelist 的参见内容 (#3423)
修正拼写错误 (#3424)
添加关于自环的文档警告,用于 adamic_adar_index (#3427)
修复 UnionFind 集合提取 (#3224)
为
write_graphml
示例添加必需参数 (#3429)修复 centrality betweenness subset (#3425)
添加两个版本的 Simrank 相似度 (#3222)
修正拼写错误
合并拉取请求 #3436,来自 nandahkrishna/fix-typo-betweenness-centrality-subset-test
重新排序并完善文档 (#3438)
为依赖于 topological_sort 的函数添加 topo_order 参数 (#3447)
实现子图单射 (#3435)
在 random_degree_sequence_graph 的文档字符串测试中设置种子 (#3451)
用 np.iterable 替换 cb.iterable (#3458)
不要移除其他 pyplot 轴的刻度线 (#3476)
修复 “G>raph Modelling Language” 中的拼写错误 (#3468)
Naive k-truss 算法实现 (#3462)
添加 onion decomposition (#3461)
新功能 - Resistance Distance (#3385)
不支持 betweenness 的多重图 (#3454)
Wheels 仅支持 Python 3
修复 Python 3.7 中的弃用警告 (#3487)
修复 dfs_preorder_nodes 文档字符串中说 “edges” 而不是 “nodes” 的问题 (#3484)
添加群体接近度和群体度中心度 (#3437)
修正不正确的文档 (#3495)
修复问题 #3493 - lexicographical_topological_sort() 中的错误 (#3494)
AT-free 图识别 (#3377)
更新 introduction.rst (#3504)
完整的连接操作和 cograph 生成器 (#3503)
优化强连通分量算法 (#3516)
为图添加非随机性度量 (#3515)
为非随机性度量添加保障(输入图 G) (#3526)
优化强连通分量算法 - 第二次尝试 (#3519)
在问题 #3524 中发现的 bug 的小修复 (#3529)
恢复检查 PyPy3 (#3514)
线性 prufer 编码 (#3535)
修复 inverse_line_graph (#3507)
修复 A* 返回错误解决方案的问题 (#3508)
实现二部图的最小权重完全匹配 (#3527)
获取 #1054 的弦图 (#3353)
为 DAGs 加速传递闭包计算 (#3445)
在 write_graphml_lxml 中正确写入混合类型属性 (#3536)
修复了inverse_line_graph()的一些边缘情况。(#3538)
在to_numpy_array中明确说明了i.j约定。
增量接近中心性(无向,无权图)(#3444)
实现ISMAGS子图同构算法(#3312)
修复了networkx.algorithms.community.label_propagation.asyn_lpa_communities中的错误(#3545)
在导出到GML时,将非32位数字写为字符串。(#3540)
尝试修复bug #3552 (#3554)
添加有向联合度图生成器(#3551)
拼写错误 (#3557)
为二部图算法参考修复了一些文档问题 (#3555)
相关函数中邻接矩阵的i,j约定
从malch2/doc/update合并拉取请求 #3542
将3.8-dev添加到travis
为Py3.8修复字典迭代
暂时忽略其他失败
修复了get_edge_data的文档字符串中的拼写错误 (#3564)
修复了错误的标题 (#3566)
修复了文档字符串中的拼写错误 (#3568)
修复并改进了graph.py中的文档字符串 (#3569)
改进了图类选择表 (#3570)
为图绘制添加了螺旋布局 (#3534)
#3575 返回3D布局的坐标 (#3576)
处理Watts-Strogatz图生成器中的k==n情况
Floyd-Warshall优化 (#3400)
使用Sphinx 2.2
添加到asteroidal文档的缺失链接
修复Sphinx警告
修复Sphinx latexpdf构建
更新贡献者列表 (#3592)
从列表到集合的Prim (#3512)
修复问题3491 (#3588)
使Travis在Python 3.8失败时失败
修复test_gexf以处理XML属性的默认序列化顺序
删除Py2所需的未来导入
添加internet_as_graph生成器 (#3574)
从OutEdgeDataView中删除循环引用 (#3598)
为draw_networkx_edges添加最小源和目标边距 (#3390)
修复to_directed函数 (#3599)
修复#3573:GEXF输出问题 (#3606)
全局效率尝试加速 (#3604)
Bugfix: 在读取标签和id的值时添加了灵活性 (#3603)
为average_shortest_path_length添加了floyd-warshall方法 (#3267)
用==替换了is,并进行了轻微的pycodestyle修复 (#3608)
修复了许多基于文档的问题 (#3609)
解决了许多文档问题 (#3611)
修复#3187 transitive_closure现在在存在循环时返回自循环 (#3613)
添加对初始化pagerank_scipy的支持 (#3183)
添加了Gomory-hu算法的最后7行修复 #3293 (#3614)
实现了Euler Path函数 (#3399)
修复了label_propagation.py中边的方向 (#3619)
删除了未使用的random模块导入 (#3620)
修复了partial_duplication_graph中的操作顺序 (#3626)
将只有1个节点的壳保持在shell_layout中远离原点 (#3629)
允许jit_graph读取json字符串或json对象 (#3628)
修复了代码文档中的拼写错误 (#3621)
pycodestyle和greedy_coloring.py+tests的文档更新 (#3631)
添加版本徽章
从README加载长描述
添加缺失的代码块 (#3630)
将is_list_of_ints更改为make_list_of_ints (#3617)
在from_pandas_edgelist中处理edgeattr当没有列匹配请求时 (#3634)
制作v2.4版本发布说明草稿
将开发说明转移到v2.4文件名中
使用最新的pypy
在macOS上测试Py 3.8
在将inf/nan转换为GEXF之前添加属性类型检查 (#3636)
修复sphinx错误,并在文档中为dijkstra_path/length添加single_source_dijkstra的链接 (#3638)
记录subgraph_view (#3627)
第一轮pytest修复
使用类方法进行类设置/拆卸
让CI使用pytest
使用类方法进行类设置/拆卸,续。
减少测试(直到我们使其正常工作)
在测试文件中替换networkx import *的习语
修复断言函数覆盖
修复link_prediction中的静态方法
部分修复v2userfunc测试
修复图/有向图测试
修复多重图检查
修复多重有向图检查
修复test_function检查
修复distance_measures测试
修复decorators测试
修复test_mst中的一些raises
修复clique测试
修复yaml测试
修复reportviews中的测试
修复vf2测试
修复mst测试
修复gdal测试
将nose.tools.assert_*函数转换为asserts
删除未使用的导入
修复一些警告
更新测试说明
重新启用所有测试平台
修复一些__init__警告
在test_coloring.py中替换nose yield测试
添加测试、覆盖率和开发环境信息
尝试pytestimportorskip
另一种pytest.importorskip的变体
修复拼写错误并重试
删除弃用的weakly_connected_component_subgraphs
在algorithms/tests中替换assert_almost_equal和raises
在使用旧almost_equal的测试中设置places=0
更新nx.test()
让pytest运行doctests / 而不是sphinx
撤销“删除弃用的weakly_connected_component_subgraphs”
删除使用弃用函数的警告
删除弃用的函数和方法。添加到发布说明中。
修复subgraph_view测试
删除弃用视图的测试并修复对弃用G.node的使用
追踪使用弃用函数的情况
修复弃用的add_path/star/cycle使用
减少弃用函数的警告
通过删除弃用函数来减少警告
convert_matrix演示如何使doctests正常工作的一种方法
从示例中删除弃用内容
对依赖于np.matrix的convert_matrix和其他内容进行更改
清理doctest中的弃用代码
进行更多doctest更正
修复示例
从generators中删除nose
从utils中删除nose
从classes中删除nose
用pytest.raises替换nose.assert_raises
用pytest.raises上下文管理器替换nose.raises
用assert替换
eq_
、ok_
为doctest使用pytest
在发布说明中突出显示切换到pytest
删除
from nose.tools import *
删除nose.tools.SkipTest
完成过渡到pytest
合并拉取请求 #3639,来自stefanv/pytest-port
使用AppVeyor测试Python 3.8
合并拉取请求 #3648,来自jarrodmillman/windows-py3.8
删除弃用的weakly_connected_component_subgraphs
更新发布说明
更新README
宣布支持Python 3.8
指定2.4rc1版本发布
升级发布版本号
移除剩余的SkipTests
修复文档注释(#3644)(#3645)
在AppVeyor上测试Py 3.8.0
加快AppVeyor速度
清理travis配置
改进CI缓存
在travis上更新Py 3.8
合并拉取请求#3652来自jarrodmillman/speedup-appveyor
完成发布说明
其中包含以下5个合并:
修复介数中心性子集测试中的拼写错误(#3436)
在to_numpy_array中明确说明i.j约定(#3542)
pytest端口(#3639)
使用AppVeyor测试Python 3.8(#3648)
清理和加速CI(#3652)
贡献者#
Rajendra Adhikari
Antoine Allard
Antoine
Salim BELHADDAD
Luca Baldesi
Tamás Bitai
Tobias Blass
Malayaja Chutani
Peter Cock
Almog Cohen
Diogo Cruz
Martin Darmüntzel
Elan Ernest
Jacob Jona Fahlenkamp
Michael Fedell
Andy Garfield
Ramiro Gómez
Haakon
Alex Henrie
Steffen Hirschmann
Martin James McHugh III
Jacob
Søren Fuglede Jørgensen
Omer Katz
Julien Klaus
Matej Klemen
Nanda H Krishna
Peter C Kroon
Anthony Labarre
Anton Lodder
MCer4294967296
Eric Ma
Fil Menczer
Erwan Le Merrer
Alexander Metz
Jarrod Millman
Subhendu Ranajn Mishra
Jamie Morton
James Myatt
Kevin Newman
Aaron Opfer
Aditya Pal
Pascal-Ortiz
Peter
Jose Pinilla
Alexios Polyzos
Michael Recachinas
Efraim Rodrigues
Adam Rosenthal
Dan Schult
William Schwartz
Weisheng Si
Kanishk Tantia
Ivan Tham
George Valkanas
Stefan van der Walt
Hsi-Hsuan Wu
Haochen Wu
Xiangyu Xu
Jean-Gabriel Young
bkief
daniel-karl
michelb7398
mikedeltalima
nandahkrishna
skhiuk
tbalint