贬抑#

政策#

如果必须更改库的行为,则必须遵循弃用周期来警告用户。

折旧周期是 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_matrixfrom_numpy_matrix

  • 在……里面 readwrite/json_graph/cytoscape.py ,更改函数签名 cytoscape_graphcytoscape_data 要替换 attrs 关键词。带有显式的参数 nameident 关键字参数。

  • 在……里面 readwrite/json_graph/tree.py ,删除 attrs 粗制滥造 tree_graphtree_data

  • 撤消与删除相关的更改 pyyaml 。移除 __getattr__ 定义来自 networkx/__init__.pynetworkx/readwrite/__init__.pynetworkx/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_matrixauthority_matrix

  • 在……里面 algorithms/link_analysis/hits_alg.py ,删除 hits_numpyhist_scipy

  • 在……里面 classes 移除 ordered 模块和四个模块 Ordered 其中定义的类。

  • 在……里面 utils/decorators.py 删除 preserve_random_state

  • 在……里面 algorithms/community/quality.py 删除 coverageperformance

  • 删除 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.pylgc.py ,以及 utils.py 将其中定义的函数移动到新创建的 node_classification.py 模块,它将替换当前包。

  • 在……里面 algorithms/link_analysis/pagerank_alg.py ,删除 np.asmatrix 的返回值的包装 google_matrix 并删除关联的FutureWarning。

  • 在……里面 convert_matrix.py 删除 from_scipy_sparse_matrixto_scipy_sparse_matrix

  • 在……里面 linalg/attrmatrix.py 移除FutureWarning,通过移除 np.asmatrix ,并更新文档字符串以反映该函数返回 numpy.ndarray 实例。

  • 在……里面 generators/small.py 删除 make_small_graphmake_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_array1dict_to_numpy_array2

  • 在……里面 utils/misc.py 删除 to_tuple

  • 在……里面 algorithms/matching.py ,删除参数 maxcardinality 从… min_weight_matching