Python git 项目结构约定?

Python git project-structure convention?

是否有关于如何在 GitHub 上构建 python 项目的约定(甚至 PEP)?更具体地说 python-特定文件(我知道 README.md、许可证、.gitignore-files)。

我用谷歌搜索了整个上午,发现了不同的方法。他们中的大多数人使用:

一个使用了 makefile,另一个添加了一个 .travis.yml 用于 travis 等等...。 他们将项目目录拆分在数据和 APP 等不同文件夹中。

我的问题:

  1. 我应该在 python 项目中包含哪些文件?拥有哪些文件会更好?
  2. 我应该如何安排数据和 APP 等不同的文件夹有约定吗?还是由我决定如何拆分、命名和组织我的程序的不同部分?

提前感谢您的帮助

这可能取决于您正在构建的内容。我在评论中 link 编辑的 article 打破了不同的布局,如下所示:

CLI 布局:

  • 一次性脚本
  • 可安装的单个包
  • 带有内部包的应用程序

网络应用布局:

  • Django
  • 烧瓶

虽然 link 这里不鼓励只回答,但我认为重复整篇文章会适得其反,但“可安装的单一软件包”布局对我有用,看起来像这样(借用同一篇文章) :

helloworld/
│
├── helloworld/
│   ├── __init__.py
│   ├── helloworld.py
│   └── helpers.py
│
├── tests/
│   ├── helloworld_tests.py
│   └── helpers_tests.py
│
├── .gitignore
├── LICENSE
├── README.md
├── requirements.txt
└── setup.py

注意: 如果您有数据目录,我会把它放在与 tests

相同的级别