TGViewer
Zen of Python Zen of Python @zen_of_python · 18.8K subscribers
Post #5034 651
Как упаковать Python-проект в библиотеку и CLI

Копирование модулей и правки sys.path можно заменить устанавливаемым пакетом. В руководстве на примере JSON-флаттенера разобраны структура src, файл pyproject.toml с Hatchling, зависимости и точка входа для команды терминала.

Проект разделяет функцию обработки JSON и интерфейс на Typer. Поэтому одну логику можно импортировать как библиотеку или запускать командой json-flatten из любого каталога. Структура src не позволяет Python случайно импортировать исходники вместо установленного пакета.

Editable-установка связывает окружение с исходным кодом: изменения становятся доступны без переустановки. Подход пригодится, когда внутренней утилите пора перестать быть набором файлов с относительными импортами.
Stay In The Loop Packaging a Python Project Like a Pro Stop copy-pasting scripts between projects. Learn how to structure and package your Python code so it's installable, importable, and reusable.
More from @zen_of_python
  1. Oct 6, 2026Как собрать Rust-проект с Python-модулем и отдельной программой В пошаговом примере кальку…
  2. Oct 3, 2026Как вернуть значение из всплывающего окна в форму Django Admin Django Admin умеет создават…
  3. Oct 2, 2026Охрана трубопровода длиной 400 километров Камеры на столбах не заглянут за угол, дрон виси…
  4. Oct 1, 2026Как не сломать pickle собственным исключением Python Если конструктор исключения принимает…
  5. Oct 1, 2026Как выстроить защиту цепочки поставок Python Эшелонированная схема защиты начинается с соб…
  6. Sep 30, 2026Пакетная обработка в Python: где strict=True не спасает запись С Python 3.12 itertools.bat…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →