废弃#
政策#
如果必须更改库的行为,则必须遵循废弃周期来警告用户。
在以下情况下,不需要废弃周期:
添加新函数,或
将新关键字参数添加到函数签名的*末尾,或
修复错误行为
对于*任何破坏性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
。