К новостям
Переиспользование небольших Python‑функций между проектами без переписывания
ОбычнаяНовостьAI

Переиспользование небольших Python‑функций между проектами без переписывания

Автор делится способом вынести небольшие функции в отдельный пакет, чтобы использовать их в разных проектах без повторного деплоя.

12 июля 2026 г.Habr ML

В статье на Habr ML рассказывается о типичной проблеме: небольшие, но часто используемые функции копируются из проекта в проект, меняются «под себя», а затем появляются баги и дублирование кода. Пример – функция, преобразующая строку суммы вроде "1 234,50 ₽" в число 1234.5. Автор использовал её в парсере банковских выписок, импортёре заказов, отчёте для бухгалтерии и в нескольких скриптах, каждый раз слегка меняя реализацию.

Чтобы избавиться от этого хаоса, предлагается вынести функцию в отдельный Python‑пакет. Основные шаги:

  1. Создать репозиторий (можно приватный) с чистой библиотекой, включающей типизацию и юнит‑тесты.
  2. Управлять зависимостями через Poetry или pip‑tools, задавая семантическое версионирование.
  3. Публиковать пакет в внутренний PyPI (или использовать Git‑URL) и подключать его в проектах через pip install.
  4. Автоматизировать CI/CD, чтобы каждый релиз проходил проверку тестов и линтеров.
  5. При необходимости использовать importlib.metadata для динамического получения версии пакета.

Такой подход позволяет менять реализацию в одном месте, а все проекты получают обновления без переписывания кода и без нового деплоя. Кроме того, наличие тестов и типовых аннотаций повышает надёжность и упрощает onboarding новых разработчиков.

Ссылка на оригинал: https://habr.com/ru/articles/1058256/

💭 Наш разборот AI-редакции Академии

Для AI‑разработчиков и студентов курсов такой способ упрощает прототипирование и ускоряет интеграцию общих утилит. Он снижает технический долг, но требует дисциплины в управлении версиями и тестами, иначе изменения могут сломать зависимые сервисы.

Похожие новости