实质性和有影响力的开源创新是 Anaconda 努力提供用于更快开发和部署安全 Python 解决方案的工具的核心。为了捕捉和传达我们团队对各种开源项目的持续贡献,我们现在将在我们的博客上定期发布相关新闻摘要。
与往常一样,Anaconda 的开源软件 (OSS) 团队在过去几个月里一直非常活跃!在这个我们新的季度 OSS 综述的第一期中,我将重点介绍我们一些最大的开源贡献以及一些更小但仍然非常有趣的努力。我还将谈及未来几个月的计划。
注意:请参阅最近的 PyScript 文章以获取有关该特定项目的更新,因为它们将不再在此处介绍。
按开发团队划分的重要内容
Anaconda 有许多不同的团队从事开源工作,每个团队都执行各种任务。在下面,我将介绍我们的一些核心工作和最近的里程碑。请注意,分为要点只是为了便于阅读;在实践中,我们许多人都在这些部门之间工作。
Dask 和数据访问
Jupyter
HoloViz
- Bokeh 的更改允许(并且要求)在整个相关堆栈中进行工作,这导致了过去几周发布了以下版本
Conda
BeeWare
Numba
-
为了在 2023 年大力推动 Numba 模块化,以便在需要编译器组件的其他项目中更轻松地重用,我们一直在推进一些概念验证工作。在未来一年,我们将看到这些组件被整合到 Numba 中,或者可能被整合到新的项目中。
-
Numba 团队一直在对字节码分析前端进行重大重写,以便更好地处理每次 Python 次要版本发布时快速变化的字节码。这项工作将帮助我们更快地发布 Numba 更新以适应新的 Python 版本,并在未来实现其他编译器增强功能。预计这项工作将在 2023 年第一季度完成并发布到 Numba 中。
-
我们还一直在努力改进 Numba 扩展 API 的内部使用,这使得计算统一设备架构 (CUDA) 目标的改进得以实现,既增加了功能,又减少了代码大小。这项工作还将在未来实现更一致的数学行为。
其他
spatialpandas 到 Awkward
spatialpandas 是一个用于处理几何对象的库,它将几何对象作为 pandas 数据帧的一列,并包含其他普通列以及用于聚合和可视化的视图。在针对 Dask 和 pandas 开发 awkward-array 之后,我们意识到 spatialpandas 可以利用这些工具。特别是,多边形和线可以表示为点的变长数组,每个点由两个或多个数字组成。这正是 Awkward 处理的数据结构类型。初步实验表明,我们可以用 Awkward(通过 awkward-pandas)中经过良好测试的现代代码替换 spatialpandas 中大量复杂的 ad-hoc 遗留代码,并从更改中获得不错的速度提升。这是一个非常好的例子,说明了我们如何利用自己正在开发的工具来满足各种用例。我们将在未来几个月进一步开发这项功能。敬请关注!
Kerchunk
Kerchunk 是一个用于从许多其他数据集(支持多种格式)创建虚拟数据集的库,它可以在不复制或重新格式化原始文件的情况下提供云原生数据访问的优势。它已经存在一段时间了,但在本季度重新引起了人们的关注,因此我们能够提供更多功能,例如
随着这项新工作的推进,预计在未来六个月内,我们将看到更多关于该项目的新闻。
下个季度见!
关于作者
Martin Durant 是一位前天体物理学家,拥有多年的科学研究经验。他还从事医学成像工作,构建 AI/ML 管道和研究平台。在广告科技领域短暂担任数据科学家后,Martin 加入 Anaconda,专注于 PyData 教育。他现在领导着多个开源 PyData 项目,重点关注数据访问、格式和并行处理。