Как упаковать Python-проект в библиотеку и CLI
Как упаковать Python-проект в библиотеку и CLI Копирование модулей и правки sys.path можно заменить устанавливаемым пакетом. В руководстве на примере JSON-флаттенера разобраны структура src, файл pyproject.toml с Hatchling, зависимости и точка входа для команды терминала. Проект разделяет функцию обработки JSON и интерфейс на Typer. Поэтому одну логику можно импортировать как библиотеку или запускать командой json-flatten из любого каталога. Структура src не позволяет Python случайно импортировать исходники вместо установленного пакета. Editable-установка связывает окружение с исходным кодом: изменения становятся доступны без переустановки. Подход пригодится, когда внутренней утилите пора перестать быть набором файлов с относительными импортами.