Что нового в разработке Mamba

Автор: admin от 14-06-2019, 18:55, посмотрело: 23

Прошло немало времени с тех пор, как мы рассказывали о том, что нового в змеиной стране. Mamba всё еще быстра, поддерживает больше операций Conda и отрастила хвост (бэкенд) посолиднее благодаря изменениям в libsolv.



Что нового в разработке Mamba

Ускоряем змею!

А что такое Mamba?



Mamba — это drop-in замена Conda, потрясающего кросс-платформенного менеджера пакетов. На наш взгляд у Conda есть один фатальный недостаток: она слишком медленная, когда много пакетов уже установлено или при одновременной установке нескольких пакетов. Mamba по-прежнему использует Conda почти для всего, кроме разрешения зависимостей. Мы заменили эту часть Conda на альтернативную реализацию под названием libsolv — C библиотеку, которая уже лежит в основе менеджеров пакетов в Linux системах типа dnf в Fedora или zypper в OpenSuse.



Интерфейс командной строки, работа с окружением, формат файла пакета, процесс установки, формат repodata и всё остальное — один-в-один как в Conda и работает на том же питоновском коде, что и Conda. Так что отличие, и правда, только в разрешении зависимостей!

что она проходит все тесты из repo2docker!



$ mamba env create -f xstack.yml


Где xstack.yml это yml файл, соответствующий формату Conda.



И последнее по порядку, но не по важности: Mamba перестала быть в статусе «альфа». Теперь её можно загрузить из дефолтного канала conda-forge:



conda install mamba -c conda-forge # or ... 
mamba update mamba -c conda-forge # of course ;)


Mamba в Mini: minimamba!



Что нового в разработке Mamba

Так же как у Conda есть miniconda для минимальной базовой установки, теперь и у нас есть minimamba, использующая тот же самый механизм подготовки к установке Mamba. Это очень круто, так как вскоре Mamba можно будет использовать в CI, где она сможет значительно ускорить сборку!



Страница для загрузки



Дальнейшие планы



Хотя мы уже очень довольны Mamba, так как используем её в повседневной деятельности, есть ещё над чем поработать:




  • Отрефакторить код, чтобы добиться прямой совместимости с классом разрешения зависимостей в Conda, чтобы прогонять её тесты

  • Добавить информацию о процессе скачивания данных репозитория

  • Добавить поддержку выбора «фич» и их отслеживание

  • Разрешить обновление всех установленных пакетов (сейчас можно обновлять только выбранные пакеты, т.е. `mamba update xtensor numpy`)



И ещё пара изменений вроде этих — не очень сложных, но требующих времени на реализацию. Мы все ещё подумываем о запуске кампании на KickStarter или о чём-нибудь в этом роде, чтобы обеспечить финансирование стабильности работы.



Если вы захотите внести свой вклад, Mamba живёт здесь.



Если вы хотите оставаться в курсе событий: https://twitter.com/wuoulf



Источник: Хабр / Интересные публикации

Теги: conda mamba

Категория: Android

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Добавление комментария

Имя:*
E-Mail:
Комментарий:
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Введите два слова, показанных на изображении: *