Как мне разделить модуль Python на пакеты PyPi?

Я написал модуль Python, который хотел бы сделать доступным для других. Сейчас это один большой модуль, вложенный в подпапки:

  • wraith
    • util
    • доб
    • цвет

Я думаю, что лучше всего разделить эти подпапки на отдельные пакеты. Проект tipfy делает это. Однако модули ext и color зависят от util.

Как лучше всего организовать и выпустить эти модули? Могу ли я разделить их и назвать их wraith.util, wraith.ext и < em> wraith.color как tipfy? Должен ли я включать util, когда люди устанавливают ext или color?


person Matt Norris    schedule 24.09.2011    source источник
comment
Насколько велики подмодули? Честно говоря, наверное, проще всего распространить его как единый пакет. Пока вы не помещаете мегабайты данных на жесткие диски людей без причины, никому не будет дела до лишних модулей.   -  person Amber    schedule 24.09.2011


Ответы (1)


Если wraith.ext и т. Д. Сами по себе бесполезны, разделять их не нужно. Можете ли вы представить, что кто-то будет использовать wrait.util без установки wraith.color?

Если вы решили разделить, вам нужно установить install_requires в setup.py, который сообщает setuptools и т. Д. Зависимости пакетов. Также вам необходимо настроить namespace_packages, сообщая, что пространство имен wrait также будет получать другие пакеты.

Больше информации

person Mikko Ohtamaa    schedule 24.09.2011
comment
wraith.util - самая полезная часть. ext и цвет зависят от утилит. - person Matt Norris; 24.09.2011