如何贡献

我们希望 tsfresh 成为 python 中最大的特征提取方法档案库。为了实现这一目标,我们需要您的帮助!

所有贡献、错误报告、错误修复、文档改进、增强功能和想法都是受欢迎的。如果你想添加一两个有趣的特征计算器,实现一个新的特征选择过程,或者只是修复1-2个拼写错误,你的帮助将受到赞赏。

如果你想帮忙,只需在我们的github页面上创建一个拉取请求。对于新用户来说,使用Git有时可能会令人困惑和沮丧。如果你不熟悉Git,你也可以通过 电子邮件 联系我们。

指南

我们相信有三种通用的编程范式:

  1. 保持简单。我们相信 “程序应该为人们编写,只是顺便为机器执行。”

  2. 保持文档化,至少为每个方法和类包含一个文档字符串。不要描述你在做什么,而是解释你为什么要这样做。

  3. 保持测试。我们的目标是高测试覆盖率。

有两个重要的版权指南:

  1. 请不要包含任何没有可用许可证或甚至禁止商业使用的数据集。这些可能会破坏整个项目的许可证。

  2. 不要使用没有可用许可证的代码片段(例如来自stackoverflow),或者甚至禁止商业使用的代码片段。这些可能会破坏整个项目的许可证。

此外,我们做出了一些技术决策:

  1. 清除 iPython 笔记本的输出。这提高了相关 Git diff 的可读性。

安装

安装所有相关的 Python 包:

cd /path/to/tsfresh
pip install -e ".[testing]"
pre-commit install

最后一个命令将动态链接 tsfresh 包,这意味着对代码的更改将直接反映,例如在您的测试运行中。

测试框架

在做出更改后,您可能希望在本地测试您的更改。要运行我们全面的单元测试套件,您需要:

pytest

文档

按照上述方法安装后,构建文档

pip install -e ".[docs]"
cd docs
make html

完成的文档可以在 docs/_build/html 文件夹中找到。

样式

我们使用 black 和 isort 进行样式化。在安装了 pre-commit(如上所述)之后,它们会在每次提交时自动触发。

我们期待收到您的消息!=)