52个版本 (26个重大更新)

0.27.6 2024年8月19日
0.27.2 2024年7月23日
0.19.5 2024年3月22日
0.14.0 2023年12月5日
0.2.0 2023年3月24日

#44操作系统

Download history 1407/week @ 2024-05-03 1464/week @ 2024-05-10 1390/week @ 2024-05-17 1313/week @ 2024-05-24 1027/week @ 2024-05-31 1268/week @ 2024-06-07 774/week @ 2024-06-14 538/week @ 2024-06-21 732/week @ 2024-06-28 1305/week @ 2024-07-05 837/week @ 2024-07-12 1617/week @ 2024-07-19 1757/week @ 2024-07-26 1765/week @ 2024-08-02 1557/week @ 2024-08-09 2030/week @ 2024-08-16

每月下载量7,385
4 crates 中使用

BSD-3-Clause

1.5MB
21K SLoC

包含 (DOS exe, 75KB) 资源/launcher64.exe

banner

蜥蜴:Rust crates用于快速处理conda包

License Build Status Project Chat Pixi Badge docs main python docs main

蜥蜴是一个库,它提供了conda生态系统中常用的功能(什么是conda & conda-forge?)。该库的目标是使程序和其他库能够轻松地与conda生态系统交互,而无需依赖于Python。其主要用途是作为您可以在自己的工具中使用的库,以提供与conda相关的流程。

蜥蜴是用Rust编写的,并试图为其功能提供干净的API(见:组件)。考虑到主要目标,我们旨在提供绑定到不同语言的接口,以简化Rust项目以外的项目中的Rattler集成。

蜥蜴被pixirattler-buildhttps://prefix.dev 后端积极使用。

展示

此存储库还包含一个二进制文件(使用 cargo run 尝试)以展示该库的一些功能。这是一个从头开始安装包含cowpy及其所有依赖项的环境的示例(包括Python!)

Installing an environment

试试吧!

在开始之前,请确保您具备以下先决条件

  • 最新版本的 git
  • 最新版本的 pixi

按照以下步骤克隆、编译和运行rattler项目

# Clone the rattler repository along with its submodules:
git clone --recursive https://github.com/conda/rattler.git
cd rattler

# Compile and execute rattler to create a JupyterLab instance:
pixi run rattler create jupyterlab

上述命令将在发布模式下执行 rattler 可执行文件。它将下载并安装一个环境到 .prefix 文件夹中,其中包含 jupyterlab 以及运行它所需的全部依赖项(如 python

运行以下命令以启动 jupyterlab

# on windows
.\.prefix\Scripts\jupyter-lab.exe

# on linux or macOS
 ./.prefix/bin/jupyter-lab

哇!您已经在系统上安装了可工作的 jupyterlab!当然,您可以用这种方式安装任何想要的包。试试吧!

贡献 😍

我们非常乐意您贡献!更多信息请参阅 CONTRIBUTION.md。对于问题、请求或随意聊天,我们非常活跃在 discord 服务器上。您可以通过此链接加入我们的 discord 服务器。

组件

Rattler 由几个提供不同功能的 crate 组成。

  • rattler_conda_types:conda 生态系统中所有数据结构的基础类型。
  • rattler_package_streaming:提供下载、提取和创建 conda 包存档的功能。
  • rattler_repodata_gateway:从索引中下载、读取和处理现有 conda 包的信息。
  • rattler_shell:激活现有环境并在其中运行程序的代码。
  • rattler_solve:一个与后端无关的库,用于解决包可满足性问题。
  • rattler_virtual_packages:一个 crate,用于检测系统功能。
  • rattler_index:从本地包创建本地 conda 频道。
  • rattler:使用上述 crate 从头创建完整环境的功能。
  • rattler-lock:一个用于创建和解析 conda 环境锁文件的库。
  • rattler-networking:网络功能,如身份验证、镜像等。
  • rattler-bin:使用上述 crate 的包管理器的示例(见:展示

您可以在 crates 文件夹中找到这些 crate。

此外,我们为上述 crate 提供了大多数功能的 Python 绑定。Python 包 py-rattler 可在 conda-forgePyPI 上找到。Python 绑定的文档可在此处找到这里

什么是 conda & conda-forge?

conda 生态系统提供跨平台、二进制包,您可以用任何编程语言使用它们。conda 是一个开源的包管理和环境管理系统,可以安装和管理多个软件包及其依赖项的多个版本。conda是用 Python 编写的。Rattler 的目标是提供从 Rust 操作 conda 生态系统的所有功能。Rattler 不是 conda 的重实现。conda 是一个包管理工具。Rattler 是一个 ,可以从不同的语言和应用中操作 conda 生态系统。例如,它为 https://prefix.dev 的后端提供动力。

conda-forge 是一个社区驱动的努力,旨在将新的和现有的软件引入 conda 生态系统。它提供了由社区贡献者维护的 数十万个最新 包。有关可用包的概述,请参阅 https://prefix.dev

依赖项

~26–64MB
~1M SLoC