跳转至主要内容

Conda Newsletter,第 2 期

·7 分钟阅读
Pinak Datta
实习生,Google Season of Docs

欢迎来到 conda 社区 Newsletter 第二期! 我们很高兴为您带来最新的更新和见解,内容丰富,包含有价值的信息和令人兴奋的进展。

在本期中,我们涵盖了广泛的主题,包括 即将到来的活动、像 conda-store 这样的新工具、关于 conda 免费性质的引人深思的讨论、插件钩子,以及像 Pandata 这样有趣的项目。此外,我们还将深入探讨 最近的发布,这些发布有望增强您的 conda 体验。

但这还不是全部!我们还将重点介绍一个 职位空缺,并分享来自 Travis HathawayBianca Henderson 最近演讲的消息,现在可供公众观看。

如果您不想错过未来的版本,请务必 注册 conda Announce 邮件列表

那么,事不宜迟,让我们深入本期内容,探索 conda 世界中正在发生的激动人心的发展。

阅读愉快!


即将到来的活动

RSE 2023 上的 Conda-forge 指南

社区成员 Dave Clements 将主持一个关于将开源软件发布到 conda-forge 的教程。Conda-forge 是 conda 生态系统中一个蓬勃发展的社区管理渠道,拥有超过 20,000 个软件包,每年服务数十亿次下载。在这个实践教程中,您将掌握软件包的基本原理,了解 conda 生态系统,并探索在 conda-forge 上准备和发布软件的过程。

主要亮点

  • 软件包概念和挑战简介。
  • 深入了解 conda 生态系统。
  • 准备用于 conda-forge 的示例软件包的分步指南。
  • 使用 conda-build 构建您的软件包。
  • 在 conda-forge 上提交和发布您的软件包。
  • 将软件包从 PyPA/pip (Python) 或 CRAN (R) 移植到 conda。

要了解有关此教程的更多信息,请访问 US-RSE 页面.

PackagingCon 2023

  • 时间:2023 年 10 月 26-28 日
  • 地点:柏林(混合模式,也提供在线选项!)
  • 提前注册截止日期:2023 年 9 月 8 日

PackagingCon 2023 是您与软件包专家联系、讨论最佳实践并应对常见挑战的机会。无论您是开发人员、打包人员还是打包社区的一员,本次会议都是必参加的。

注册:虚拟票的早鸟价为 37.50 欧元,现场票为 150 欧元。学生和提前注册者可享受折扣。提前注册截止日期为 9 月 8 日!

有关更多信息,您还可以查看 Dave Clements 关于 PackagingCon 的文章


近期新闻

conda-store

使用 conda-store 体验增强的灵活性和可靠性,这是一个简化 conda 环境管理的强大工具。

什么是 conda-store?

conda-store 无缝集成了 conda 环境,为个人数据科学家和管理员提供了灵活性。它简化了环境生命周期管理,并遵循最佳实践。

主要功能

🔑 灵活性:使用 GUI 或 YAML 编辑器自定义环境,使其适应您的特定需求。

🔑 可重现性:conda-store 生成自动工件,用于共享和精确的版本控制,确保可重现性。

🔑 治理:管理员批准的软件包、版本控制和渠道管理促进了组织范围内的统一性。

🔑 命名空间管理:在指定的团队内安全地共享环境,以增强协作。

开始使用

在 conda.store 探索全面的文档,了解安装、使用和贡献。

无论您是数据科学家还是管理员,conda-store 都会彻底改变 conda 环境。务必查看一下!

conda 是免费的吗?

在 Dave Clement 的最新博文中,他澄清了每个人都在思考的问题:“conda 真的免费吗?” 以下是简要概述

  • Conda,软件包和环境管理软件,是开源的,任何人都可以免费使用。

  • 来自 conda-forge、Bioconda 和其他公共渠道的 Conda 兼容软件包也对所有用户免费。

  • 对于默认渠道和 Anaconda Distribution 中的软件包

    • 少于 200 人的组织可以免费使用它们。
    • 如果较大的组织符合 Anaconda 的服务条款豁免,包括开发人员、学生、教师、学术机构、非商业开源软件项目和小企业,他们仍然可以获得免费使用资格。

要深入了解 conda 的免费产品和更精细的细节,请深入阅读 Dave Clement 的完整博文

新的 pre 和 post 命令插件钩子

通过引入 “pre command” 和 “post command” 插件钩子,探索 conda 可扩展性的最新进展。这些强大的新增功能自 conda 23.7.2 版本起可用,允许插件作者在 conda 命令之前和之后执行代码,从而扩展了自定义 conda 体验的可能性。

Travis Hathaway 博文的主要亮点

Pre Command Hook:此钩子使您能够在指定的 conda 命令运行之前执行代码。这是自定义和扩展 conda 默认行为的变革性功能。conda-protect 项目中可以找到其在实践应用中的一个很好的例子,它用于保护 conda 环境。

Post Command Hook:与 pre command hook 类似,post command hook 允许您在 conda 命令成功执行后运行代码。这开辟了令人兴奋的机会,例如创建一个简单的命令计数器来分析您的 conda 使用情况。

有关这些新插件钩子的详细实现示例和见解,请深入阅读 Travis Hathaway 的博文

Pandata

Pandata 是各种 Python 库的协作成果。这些库经过精心设计,可以无缝地相互补充,确保可扩展性、交互性等等。

本质上,Pandata 是您使用一套旨在和谐工作的库的指南。通过使用这些库中的任何一个,您可以放心,它们经过定制,可以无缝地组合在一起,从而保持可扩展性和交互性。

在此处了解有关 Pandata 的更多信息.


发布

Conda 23.7.2:引入了 pre- 和 post-command 插件钩子,改进的子命令插件基础设施,以及环境中已更改软件包的健康检查。

Conda Build 3.26.0:记录软件包验证的 extra-meta 数据,将 pip 添加到 env-doc make 命令,并修复了与处理未知二进制文件和带有子模块的 Git 克隆相关的各种错误。

constructor 3.4.5:Constructor 3.4.5 增强了对 environment_file 键中 .yaml 和 .txt 文件的支持。此版本还确保了在 Windows 上从现有环境创建安装程序时,conda 元数据的准确性。

conda-libmamba-solver 23.7.0:Libmamba solver 23.7.0 在 conda-build 中引入了本地渠道集成,修复了命名空间设置、CLI 参数处理、软件包下载中的身份验证以及改进了 conda-lock 中渠道的处理,以及其他增强功能和错误修复。

conda-lock 2.1.2:conda-lock 2.1.2 解决了 Pydantic v2 警告,实现了私有 PyPi 软件包的身份验证剥离,并增强了与 Mamba>=1.4.6 的兼容性。此外,它还包括基础设施改进、pydantic 2.0 的依赖项更新以及删除已弃用的 pkg_resources 等更改。

conda-package-streaming 0.9.0

conda-package-handling 2.2.0

Pixi:Pixi 0.2.0 引入了一个新的 “pixi search” 命令,用于软件包搜索和特定于目标的任务。它还包括一些错误修复、安装改进以及增强功能,例如二进制文件大小的减少、更新的横幅和贡献指南。


SFBI 仍有职位空缺!

职位名称:软件开发工程师

合同类型:定期合同(12 个月)

地点:凡尔赛,法国

开始日期:2023 年 10 月 1 日

学历:Bac+5 / 硕士学位

加入革命性的基因组学研究!SFBI 正在寻找一名软件开发工程师来增强其旗舰工具 REPET。

您的任务:提高可移植性和可扩展性。如果您精通 Python、conda、Snakemake 等,请在 2023 年 9 月 20 日之前申请。 了解更多


编写插件友好的 Python 应用程序:Travis Hathaway(conda 维护者)

在本次演讲中,Travis Hathaway 探讨了如何 设计插件友好的 Python 应用程序。他强调了核心软件和插件之间良好定义的契约的重要性,从而促进模块化组织。

在整个会议期间,他使用 pluggy 库演示了这些原则。他还分享了一个关于 conda 的案例研究,展示了 conda 如何调整其代码库以拥抱插件友好的实践。

观看视频 以了解如何使用插件友好性增强您的 Python 应用程序。

使已建立的 Python 代码库可插拔:Bianca Henderson(conda 维护者)

在 Bianca Henderson 的演讲中,您将深入了解如何使已建立的 Python 代码库更具可插拔性。本次演讲介绍了 pluggy Python 框架,作为在您的项目中实现插件友好性的关键工具。

Bianca 使用一个真实的例子,说明了有十年历史的 conda 代码库如何采用插件 API,为该项目注入了新的活力。

不要错过这次机会,了解如何有效地将插件功能注入到您的 Python 代码库中。