Инструмент для упаковки Python-проектов и управления зависимостями: объявляет, фиксирует и устанавливает их через единый файл pyproject.toml.
pypa/flit
Простой инструмент для сборки и публикации чисто Python-пакетов и модулей в PyPI с минимальной настройкой.
- Звёзды
- 2,262
- Форки
- 173
- Открытые issues
- 125
- Последний коммит
- 10 дней назад
Что это?
Flit упаковывает один импортируемый модуль или пакет Python и загружает его в PyPI. Он помогает сократить число решений, которые сопровождающему приходится принимать при упаковке, и предотвращает распространённые ошибки. Имя пакета в PyPI совпадает с именем для импорта, а вложенные пакеты и файлы данных внутри него включаются автоматически.
Обычный рабочий процесс: добавить в модуль версию и однострочную строку документации, запустить `flit init`, чтобы создать pyproject.toml, а затем выполнить `flit publish`. Версия и описание считываются непосредственно из модуля. Скрипты командной строки и другие метаданные настраиваются в pyproject.toml. Старые файлы flit.ini можно преобразовать с помощью входящего в комплект вспомогательного модуля.
Для локальной разработки команда `flit install` устанавливает пакет в окружение, при желании — в виде символической ссылки, чтобы изменения сразу вступали в силу. Пользователи, устанавливающие опубликованный wheel, получают стандартный пакет, а при установке sdist pip запускает Flit во временном окружении.
Ключевые возможности
- 01Публикует один модуль или пакет в PyPI под его именем для импорта.
- 02Считывает версию и описание из модуля, поэтому их не нужно дублировать.
- 03Создаёт pyproject.toml с помощью `flit init`.
- 04Автоматически включает вложенные пакеты и файлы данных.
- 05Устанавливает пакеты локально для разработки, при желании — в виде символических ссылок.
Сценарии использования
- Публикация небольшой библиотеки на чистом Python в PyPI без написания setup.py.
- Перевод старого проекта с flit.ini на pyproject.toml.
- Настройка локальной редактируемой установки пакета во время разработки.
Быстрый старт
- 1
Установите flit с помощью pip
python3 -m pip install flit - 2
Добавьте в модуль однострочный docstring и __version__
- 3
Запустите flit init в каталоге модуля, чтобы создать pyproject.toml
flit init - 4
Загрузите пакет в PyPI
flit publish
Что важно знать
- За один раз можно упаковать только один импортируемый модуль или пакет.
- Чтобы распространять модули Python 2, они также должны импортироваться в Python 3 без ошибок.
Темы
Частые вопросы
- Что такое flit?
- Простой инструмент для сборки и публикации чисто Python-пакетов и модулей в PyPI с минимальной настройкой. Flit упаковывает один импортируемый модуль или пакет Python и загружает его в PyPI. Он помогает сократить число решений, которые сопровождающему приходится принимать при упаковке, и предотвращает распространённые ошибки. Имя пакета в PyPI совпадает с именем для импорта, а вложенные пакеты и файлы данных внутри него включаются автоматически.
- flit можно использовать бесплатно? Какая у него лицензия?
- flit распространяется с открытым исходным кодом под лицензией BSD-3-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- flit всё ещё поддерживается?
- Активно поддерживается. Последний коммит в flit — 27 окт. 2026 г..
- Для чего можно использовать flit?
- Публикация небольшой библиотеки на чистом Python в PyPI без написания setup.py. Перевод старого проекта с flit.ini на pyproject.toml. Настройка локальной редактируемой установки пакета во время разработки.
- Как установить flit?
- Установите flit с помощью pip: python3 -m pip install flit Добавьте в модуль однострочный docstring и __version__ Запустите flit init в каталоге модуля, чтобы создать pyproject.toml: flit init Загрузите пакет в PyPI: flit publish
- Где скачать flit?
- Исходный код и инструкции по установке — на GitHub: https://github.com/pypa/flit
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Современный менеджер пакетов и зависимостей Python для управления venv, lockfile и сборками на основе метаданных PEP 621 и PEP 517.
Стандартный установщик пакетов Python: устанавливает пакеты из Python Package Index (PyPI) и других индексов.
Официальный репозиторий системы сборки Setuptools — библиотеки для упаковки Python-проектов и их распространения.
Генератор Python-проектов, который создаёт готовые к установке и публикации в PyPI пакеты с настроенными tox, pytest, документацией Sphinx и версионированием через Git.
Утилита командной строки для загрузки исходных дистрибутивов и wheel-пакетов Python в PyPI независимо от используемой системы сборки.