Рубрики
Без рубрики

🐍 Минимальный пакет Python

Что нужно для создания установленного пакета Python, который может быть размещен на PYPI? Что … с меткой Python.

Что нужно для создания установленного пакета Python, который может быть размещен на PYPI?

Что такое минимальный пакет Python

  • setup.py
  • my_module.py

Этот пост несколько вдохновлен рамкой бутылки, которая, как известно, создана как один модуль Python. Да, целая веб -структура записана в одном файле.

Структура каталога

.
├── setup.py
└── my_pipeline.py

setup.py

from setuptools import setup

setup(
    name="",
    version="0.1.0",
    py_modules=["my_pipeline", ],
    install_requires=["kedro"],
)

название

Имя пакета может содержать любые буквы, числа, “_” или “-“. Даже если это только для внутреннего/личного потребления, я обычно проверяю расхождение с PYPI, чтобы вы не сталкивались с конфликтами.

Обратите внимание, что PYPI относится к “-” и “_” как одно и то же, остерегайтесь имени столкновения

версия

Это номер версии вашего пакета. Большинство пакетов следуют Semver Анкет На высоком уровне его три числа, разделенные Анкет которые следуют формату Major.minor.Patch . Это обычная любезность только нарушать API на серьезные изменения, новые выпуски на несовершеннолетних и фиксируют патч. Это может стать гораздо более размытым на практике, так что проверка semver.org Анкет

py_modules

Обычно большинство пакетов используют Пакеты Аргумент в сочетании с find_packages , но для этого минимального пакета мы создаем только один .py файл.

Используя пакеты вместо этого

from setuptools import setup, find_packages

setup(
    name="",
    version="0.1.0",
    packages=find_packages(),
    install_requires=["kedro"],
)

install_requires

Это ваши внешние зависимости, которые поступают от PYPI. Они идут в этот список, но часто получают из файла с именем Требования.txt Анкет Другие разработчики могут искать этот файл и хотят сделать PIP установка -r Требования.txt Анкет

Чистый?

Здесь осторожно – это то, что все находится на верхнем уровне API, когда вы пользователи импортируют ваш модуль и нажмите вкладку, они увидят много вещей, если вы не скрываете все свои внутренние функции за _ Анкет

Минимальный

Можете ли вы создать пакет Python с менее чем двумя файлами и менее 8 строк? Тебе следует? Мне очень нравится минимальная точка, с которой нужно начать для быстрых и простых прототипов. Вы всегда можете вытащить более сложный CookieCutter Шаблон позже, если проект успешен.

Оригинал: “https://dev.to/waylonwalker/minimal-python-package-4k1j”