废弃#
政策#
如果必须更改库的行为,则必须遵循废弃周期来警告用户。
在以下情况下,不需要废弃周期:
添加新函数,或
将新关键字参数添加到函数签名的*末尾,或
修复错误行为
对于*任何破坏性API更改*,必须进行废弃周期,这意味着在更改后,使用相同参数调用函数将返回不同的结果。这包括:
更改参数或关键字参数的顺序,或
向函数添加参数或关键字参数,或
更改函数、类、方法等的名称,或
将函数、类等移动到不同的模块,或
更改函数参数的默认值。
通常,我们的政策是在两个次要发布版本上实施废弃周期(例如,如果在2.3中出现废弃警告,则应在2.5中删除该功能)。对于主要发布版本,我们通常要求所有废弃功能至少有一个发布周期(例如,如果3.0在2.5之后发生,则在2.5中应废弃3.0中删除的所有功能)。
请注意,对于主要和次要发布版本的这些1和2发布周期的废弃周期并不是严格规则,在某些情况下,开发人员可以在理由上达成不同程序的一致意见(例如,当我们无法检测到更改时,或者涉及移动或删除整个函数时)。
待办事项#
在删除废弃代码后,请确保审查 networkx/conftest.py 。
版本 3.5#
从
algorithms/triads.py中删除all_triplets。从
algorithms/triad.py中删除random_triad。从
algorithms/d_separation.py中删除d_separated。从
algorithms/d_separation.py中删除minimal_d_separator。在
k_core、k_shell、k_crust和k_corona函数中添加not_implemented_for("multigraph”)装饰器。将
algorithms/shortest_path/unweighted.py中的single_target_shortest_path_length更改为返回字典。参见 #6527。将
algorithms/shortest_path/generic.py中的shortest_path更改为返回迭代器。参见 #6527。从
linalg/laplacianmatrix.py中删除total_spanning_tree_weight。从
generators/nonisomorphic_trees中的nonisomorphic_trees中删除create关键字参数。
版本 3.6#
从
algorithms/dag.py中删除compute_v_structures。