Tachyon – это новый супербыстрый пакетный менеджер для Python, который работает быстрее uv
и pip
.
Он использует .tpk
(Tachyon Package) – сжатый и подписанный формат пакетов, который ускоряет установку и обновление.
- ✅ Быстрее
uv
иpip
– благодаряmmap
, многопоточности и кешированию. - ✅ Полностью автономный – не требует
pip
,setuptools
иwheel
. - ✅ Упаковывает в
.tpk
– сжатый TAR + Zstd + подпись. - ✅ Автоматически находит Python – даже если он установлен в нестандартном месте.
- ✅ Удаление работает через
goroutines
– минимум задержек. - ✅ Поддержка каналов (
stable
,beta
,nightly
) – удобно для тестирования.
git clone https://github.com/tachyon/tachyon.git
cd tachyon
make install
(псс... также можно через train - sh train install tachyon
x))
-
Убедитесь, что
~/.rails/bin/
есть вPATH
.Добавьте следующую строку в ваш
~/.bashrc
,~/.zshrc
или~/.bash_profile
:export PATH="$HOME/.rails/bin:$PATH"
Затем примените изменения:
source ~/.bashrc # Для bash source ~/.zshrc # Для zsh
Чтобы упаковать пакет в .tpk
, используйте команду:
tachyon pack <путь_к_пакету> -o <имя_архива>.tpk
Например:
tachyon pack ../test-package/package-test -o test-package.tpk
- Сканирование содержимого
- Tachyon рекурсивно сканирует директорию <путь_к_пакету> и добавляет файлы в архив.
- Создание TAR-архива
- Все файлы объединяются в tar-архив, а затем сжимаются с использованием zstd для максимальной скорости и минимального размера.
- Добавление метаданных
- Внутри .tpk сохраняется информация о пакете (например, package.dist-info/METADATA).
- Цифровая подпись
- Архив подписывается встроенным RSA-ключом, чтобы гарантировать его целостность и аутентичность.
- Финальная проверка
- Проверяется минимальный размер архива, а также корректность упаковки.
📦 Упаковка пакета: ../test-package/package-test
📦 Добавлен в архив: test-package/__init__.py
📦 Добавлен в архив: test-package/__main__.py
📦 Добавлен в архив: test-package/package.dist-info/METADATA
📦 Упаковка завершена, размер архива: 261 байт
tachyon install <имяпакета>.tpk
- Tachyon автоматически кеширует пакеты.
- Можно указать канал:
tachyon install <имяпакета>.tpk --channel beta
tachyon update <имя пакета>.tpk
- Если пакет установлен, он будет обновлён без удаления.
tachyon remove <имя пакета>
- Пакет удаляется из site-packages. (P.S. мы не уверены что это очень правильно, можно сказать удаление у нас на бета теста ^_^)
- Кеш .tpk тоже удаляется.
tachyon list
- Отображает только пакеты, установленные через Tachyon. (хех, это тоже пока не доделано)
tachyon cache clean
Можно очистить кеш только для одного канала:
tachyon cache clean --channel beta
- Добавить mmap для установки – ускорит в 2-3 раза. (по крайней мере мы доделаем его в более нормальную работу)
- Сделать tachyon search – чтобы находить пакеты в удалённых репозиториях.
- Добавить tachyon verify – проверку подписи .tpk.
- Доработать поддержку whl, tar.gz – для обратной совместимости. (как же без легаси поддержки x))