
splime: запуск Python‑функций с точными зависимостями без загрязнения окружения
splime позволяет публиковать Python‑функцию вместе с фиксированными версиями пакетов и вызывать её по имени, а локальный демон автоматически формирует изолированное окружение.
Что такое splime?
splime – это сервис, ориентированный на разработчиков, которые часто используют небольшие, но зависимые от внешних библиотек Python‑функции. Вместо того чтобы менять requirements.txt проекта, собирать отдельный контейнер или превращать несколько строк кода в микросервис, splime предлагает публиковать доверенную функцию вместе с точными версиями её пакетов.
Как работает процесс?
- Публикация – разработчик загружает функцию и указывает список зависимостей (например,
python-dateutil==2.9.0,numpy==1.26.2). - Хранилище – splime сохраняет функцию в репозитории и фиксирует версии пакетов, гарантируя воспроизводимость.
- Запуск – локальный демон splime, установленный в рабочей машине, получает запрос «вызвать функцию my_func», автоматически собирает изолированное виртуальное окружение и исполняет её.
- Кеширование – собранные окружения сохраняются отдельно от проекта, что избавляет от «засорения» основной
venv.
Почему это важно?
- Изоляция – каждая функция работает в собственном окружении, исключая конфликты версий.
- Повторяемость – фиксированные версии пакетов позволяют точно воспроизводить результаты, что критично для исследований и продакшн‑сервисов.
- Скорость – локальный демон кэширует уже построенные окружения, ускоряя последующие вызовы.
Подробнее о подходе и примерах использования читайте в статье на Habr ML: https://habr.com/ru/articles/1077882/.
Плюсы и ограничения
- Плюсы: простота интеграции, отсутствие необходимости в Docker, поддержка любой версии Python.
- Ограничения: пока поддерживается только Python, требуется установка локального демона, а масштабирование в облаке пока в бета‑версии.
Теги: автоматизация, зависимости, python, serverless
Для AI‑разработчиков и студентов это упрощает экспериментирование с небольшими модулями, не ломая основной стек проекта. Возможность фиксировать версии пакетов повышает воспроизводимость экспериментов, а локальный демон экономит время на настройку окружений. Однако стоит помнить, что пока splime ограничен Python‑экосистемой и требует отдельной установки демона.


