使命与价值观#

我们的使命#

NetworkX旨在成为Python中网络科学算法的参考库。我们通过:

  • 易于使用和安装 . 我们在处理新的依赖关系时非常小心,有时会剔除现有的依赖项,或者使它们成为可选的。我们API中的所有函数都有详尽的docstring,用于澄清预期的输入和输出。

  • 提供一致的API . 概念上相同的参数在函数签名中具有相同的名称和位置。

  • 确保正确性 . 在核心测试之前,至少有两个开发人员对核心测试的覆盖率接近100%。

  • 关心用户数据 . 我们有一个函数式的API,除非有明确的指示,否则不会修改输入数据。

  • 推进网络科学教育 ,以及大量的教学文献。

我们的价值观#

  • 我们是包容的 (行为守则 ). 我们欢迎并指导新来者做出他们的第一个贡献。

  • 我们是开源和社区驱动的 (NXEP 1-治理和决策

  • 我们专注于网络科学应用的图形数据结构和算法。

  • 我们更喜欢使用本机数据结构(尤其是dict)的纯Python实现,因为它们具有一致、直观的界面和惊人的性能能力。我们包括到其他数据结构的接口,特别是NumPy数组和SciPy稀疏矩阵,用于更自然地使用数组和矩阵的算法,或者在时间或空间需求明显较低的地方。有时我们为相同的结果提供两种算法,一种使用每种数据结构,当教学法或空间/时间权衡证明了这种多样性。

  • 我们更看重简单易读的实现,而不是获得最后一盎司的性能。对于新手和维护人员来说,易于理解的可读代码使编写新代码和防止错误变得更加容易。这意味着,如果它能将代码行数减少两倍,我们将倾向于降低20%。

  • 我们重视教育和文件。所有功能都应该 NumPy-style docstrings ,最好有示例,以及展示如何在科学应用中使用该函数的图库示例。

致谢#

此文档由 scikit-image 使命和价值观文件。