Где мне разместить демонстрационный скрипт пакета Python? - PullRequest
5 голосов
/ 06 октября 2011

Я кодирую новый пакет Python для использования другими. Чтобы продемонстрировать, как это следует использовать, я пишу демонстрационный скрипт, который выполняет основные части нового пакета.

Что такое соглашение, чтобы другие легко могли найти сценарий? Должен ли это быть отдельный модуль (под каким именем)? Должен ли он находиться в корневом каталоге пакета? Из пакета? В __init__.py?

Ответы [ 2 ]

3 голосов
/ 06 октября 2011

Должен ли это быть отдельный модуль (под каким именем)?

демо / some_useful_name.py

Демонстрационный каталог содержит демонстрационные скрипты. Аналогично, каталог test содержит все ваши модульные тесты.

Должен ли он находиться в корневом каталоге пакета?

Нет. Это не часть пакета. Это демо.

Из пакета?

Да.

In init .py?

Никогда.


У пакета две жизни. (1) в качестве удаленного источника, (2) в пакетах lib / site-как установленный код.

«Источник» должен включать README, setup.py, демонстрационный каталог, тестовый каталог и сам пакет.

«Исходный» файл setup.py верхнего уровня должен устанавливать только пакет. Демо и тест не устанавливаются. Они остаются позади как часть загрузки.

3 голосов
/ 06 октября 2011

Я никогда не видел никакого реального соглашения для этого, но лично я поместил его в главный страж в пределах __init__.py, чтобы его можно было вызвать через python -m somepackage.

...