pypiserver: минималистичный локальный сервер для пакетов PyPI
pypiserver — минималистичный сервер PyPI для загрузки и скачивания пакетов через pip или easy_install.
Он решает задачу локального хостинга пакетов, что удобно для компаний и разработчиков, которые хотят управлять своими зависимостями без внешнего доступа к PyPI. В отличие от обычного PyPI, твой сервер сможет хранить только те пакеты, которые нужны именно тебе, улучшая контроль над проектами и их зависимостями.
Проект написан на Python и поддерживает версии 3.10 и выше. Запустить pypiserver можно либо через pip, установив с помощью команды pip install pypiserver, либо протестировав его через Docker с образа pypiserver/pypiserver. Обрати внимание, что проект находится под лицензией MIT, что удобно для коммерческого использования.
Нет явных ограничений на использование, но проект лучше всего подходит для локальных серверов и небольших команд, поэтому об этом стоит помнить при планировании инфраструктуры.
**pypiserver** — это минималистичный совместимый с PyPI сервер для использования с инструментами установки, такими как **pip** и **easy_install**. Он основан на фреймворке **bottle** и позволяет обслуживать пакеты из стандартных директорий. С помощью него можно загружать колеса, бинарные дистрибутивы и яйца, а также сопутствующие PGP-подписи, используя инструменты, такие как **pip**, **setuptools**, **twine**, **pypi-uploader** или просто копируя файлы с помощью **scp**.
Установка и запуск
Для установки **pypiserver** требуется Python версии 3.10 и выше:
pip install pypiserver
mkdir ~/packages # Создайте директорию для хранения пакетов
Чтобы запустить сервер, используйте следующую команду:
pypi-server run -p 8080 ~/packages & # Сервер будет слушать все IP-адреса
После этого с клиентского компьютера можно установить пакеты, используя:
pip install --extra-index-url http://localhost:8080/simple/
Особенности и возможности
- Поддержка стандартных инструментов Python для упаковки и установки.
- Сервер легко развертывается и настраивается.
- Управление обновлениями пакетов с помощью команды **pypi-server update**.
- Поддержка различных методов аутентификации, включая **Apache htpasswd**.
- Совместимость с Docker, что позволяет быстро разворачивать сервер в контейнере.
Ограничения
Следует отметить, что **pypiserver** не реализует полный API PyPI и подходит только для базового функционала, позволяющего работать с **easy_install** и **pip**. Также у него есть ограничения в области обновления пакетов и обработки документации.
Использование Docker
Для запуска **pypiserver** в Docker достаточно выполнить команду:
docker run pypiserver/pypiserver:latest run
При этом можно смонтировать локальную директорию для хранения пакетов:
docker run -p 80:8080 -v ~/packages:/data/packages pypiserver/pypiserver:latest run
Заключение
**pypiserver** — это удобное решение для создания приватного репозитория пакетов Python. Он прост в использовании и настройке, отлично подходит для разработчиков, которым нужен локальный индекс пакетов для установки зависимостей.
Открыть на GitHub: pypiserver/pypiserver →
RepoRadar