贬抑#
政策#
如果必须更改库的行为,则必须遵循弃用周期来警告用户。
折旧周期是 not 必要条件:
添加新功能,或
将新的关键字参数添加到 end 函数签名,或
修正马车行为
折旧周期对于 任何破坏API的更改 ,这意味着使用相同参数调用的函数在更改后将返回不同的结果。这包括:
更改参数或关键字参数的顺序,或
向函数添加参数或关键字参数,或
更改函数、类、方法等的名称,或
将函数、类等移动到不同的模块,或
更改函数参数的默认值。
通常,我们的策略是在两个次要版本中设置一个弃用周期(例如,如果在2.3中出现了一个弃用警告,那么应该在2.5中删除该功能)。对于主要版本,我们通常要求所有的不推荐版本至少有一个1版本的弃用周期(例如,如果3.0发生在2.5之后,那么在3.0中删除的所有功能都应该在2.5中弃用)。
请注意,对于主要版本和次要版本,这些1-2版本的弃用周期并不是一个严格的规则,在某些情况下,开发人员可以根据理由商定不同的过程(例如,当我们无法检测到更改,或者涉及移动或删除整个函数时)。
托多#
一定要复习 networkx/conftest.py
删除不推荐使用的代码后。
版本3#
在
readwrite/gml.py
去除literal_stringizer
以及相关测试。在
readwrite/gml.py
去除literal_destringizer
以及相关测试。在
utils/misc.py
去除is_string_like
以及相关测试。在
utils/misc.py
去除make_str
以及相关测试。在……里面
utils/misc.py
删除is_iterator
。在……里面
utils/misc.py
删除iterable
。在……里面
utils/misc.py
删除is_list_of_ints
。在……里面
utils/misc.py
删除consume
。在……里面
utils/misc.py
删除default_opener
。在……里面
utils/misc.py
删除empty_generator
。去除
utils/contextmanagers.py
以及相关测试。在
drawing/nx_agraph.py
去除display_pygraphviz
以及相关测试。在
algorithms/chordal.py
代替chordal_graph_cliques
具有_chordal_graph_cliques
.在
algorithms/centrality/betweenness_centrality_subset.py
去除betweenness_centrality_source
.在
algorithms/centrality/betweenness.py
去除edge_betweeness
.在
algorithms/community_modularity_max.py
删除旧名称_naive_greedy_modularity_communities
.在
linalg/algebraicconnectivity.py
去除_CholeskySolver
以及相关代码。在……里面
convert_matrix.py
删除to_numpy_matrix
和from_numpy_matrix
。在……里面
readwrite/json_graph/cytoscape.py
,更改函数签名cytoscape_graph
和cytoscape_data
要替换attrs
关键词。带有显式的参数name
和ident
关键字参数。在……里面
readwrite/json_graph/tree.py
,删除attrs
粗制滥造tree_graph
和tree_data
。撤消与删除相关的更改
pyyaml
。移除__getattr__
定义来自networkx/__init__.py
,networkx/readwrite/__init__.py
和networkx/readwrite/nx_yaml.py
并删除networkx/readwrite/tests/test_getattr_nxyaml_removal.py
删除
readwrite/gpickle.py
以及相关的测试。删除
readwrite/nx_shp.py
和相关测试(在备选方案中添加信息)。删除
copy
方法对经过筛选的相关类及相关测试进行复习。在……里面
algorithms/link_analysis/pagerank_alg.py
替换pagerank
使用pagerank_scipy
。在……里面
algorithms/link_analysis/pagerank_alg.py
改名pagerank_numpy
作为_pagerank_numpy
。在……里面
convert_matrix.py
删除order
粗制滥造to_pandas_edgelist
和文档字符串删除
readwrite/json_graph/jit.py
以及相关的测试。在……里面
utils/misc.py
删除generate_unique_node
以及相关的测试。在……里面
algorithms/link_analysis/hits_alg.py
删除hub_matrix
和authority_matrix
在……里面
algorithms/link_analysis/hits_alg.py
,删除hits_numpy
和hist_scipy
。在……里面
classes
移除ordered
模块和四个模块Ordered
其中定义的类。在……里面
utils/decorators.py
删除preserve_random_state
。在……里面
algorithms/community/quality.py
删除coverage
和performance
。删除
testing
。在……里面
linalg/graphmatrix.py
删除adj_matrix
。在……里面
algorithms/similarity.py
替换simrank_similarity
使用simrank_similarity_numpy
。在……里面
algorithms/assortativity/mixing.py
删除numeric_mixing_matrix
。在……里面
algorithms/assortativity/connectivity.py
删除k_nearest_neighbors
。在……里面
utils/decorators.py
删除random_state
。在……里面
algorithms/operators/binary.py
删除name
粗制滥造union
和文档字符串。在……里面
generators/geometric.py
删除euclidean
还有考试。在……里面
algorithms/node_classification/
删除hmn.py
,lgc.py
,以及utils.py
将其中定义的函数移动到新创建的node_classification.py
模块,它将替换当前包。在……里面
algorithms/link_analysis/pagerank_alg.py
,删除np.asmatrix
的返回值的包装google_matrix
并删除关联的FutureWarning。在……里面
convert_matrix.py
删除from_scipy_sparse_matrix
和to_scipy_sparse_matrix
。在……里面
linalg/attrmatrix.py
移除FutureWarning,通过移除np.asmatrix
,并更新文档字符串以反映该函数返回numpy.ndarray
实例。在……里面
generators/small.py
删除make_small_graph
和make_small_undirected_graph
。在……里面
convert_matrix.py
删除to_numpy_recarray
。在……里面
classes/function.py
删除info
。在……里面
algorithms/community/modularity_max.py
,删除不推荐使用的n_communities
参数中的greedy_modularity_communities
功能。在……里面
algorithms/distance_measures.py
删除extrema_bounding
。在……里面
utils/misc.py
删除dict_to_numpy_array1
和dict_to_numpy_array2
。在……里面
utils/misc.py
删除to_tuple
。在……里面
algorithms/matching.py
,删除参数maxcardinality
从…min_weight_matching
。