贬抑#

政策#

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

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