跳转到主要内容

为RAPIDS提供的Dask和Distributed版本固定

项目描述

Dask元包

此存储库为pip和conda提供元包,以便在RAPIDS中集中管理Dask版本依赖关系。Dask API的不稳定性意味着每个RAPIDS版本都必须固定到一个非常具体的Dask版本,以避免不兼容性。这些元包提供了一个集中、版本化的存储库来管理这种固定。《rapids-dask-dependency》包编码了`dask`和`distributed`需求。

元包的版本控制

此包的版本控制与其他RAPIDS包一样:使用CalVer,对于夜间版本使用alpha标签(后跟*)。元包的夜间版本应该像其他RAPIDS包的夜间版本一样消费。

  • conda包应固定到次要版本,后跟.*,例如==23.10.*。Conda将允许夜间版本匹配,因此不需要进一步干预。
  • pip包应具有相同的固定,但构建夜间版本的脚本必须在构建夜间版本时添加alpha规范>=0.0.0a0,以允许rapids-dask-dependency夜间版本。这是与其他RAPIDS依赖项(例如,`cudf`需要`rmm`夜间版本)具有相同策略的RAPIDS存储库拉取夜间版本的方法。

Dask夜间版本的策略

对于conda,夜间版本发布到dask频道。元包假定dask/label/dev频道包含在用户的condarc中,以便找到夜间版本。在RAPIDS开发阶段,应使用PEP 440兼容的版本(如>=2023.7.1a0)指定Dask版本,以便可以抓取夜间版本。然后,在发布时间,这些版本可以固定。

对于pip,dask和distributed不发布夜间wheel。因此,唯一的选择是此元包从源安装这些依赖项。为此,元包将依赖项编码为pyproject.toml中的以下内容

- dask @ git+https://github.com/dask/dask.git@main
- distributed @ git+https://github.com/dask/distributed.git@main

在发布时,这些依赖项将被锁定到所需版本。请注意,像上面那样直接编码URL在Python打包规范中被技术性地禁止。然而,虽然PyPI强制执行此规范,但RAPIDS夜间索引没有。因此,当前使用此版本策略禁止rapids-dask-dependency夜间版本上传到PyPI,它们必须托管在RAPIDS夜间pip索引上。

修补程序

除了作为元包外,rapids-dask-dependency还包含修补dask本身的代码。这个包永远不打算被用户手动导入。相反,在安装后,它将安装一个.pth文件(有关这些文件的更多信息,请参阅site模块文档),该文件将在Python解释器启动时运行。此文件安装了一个自定义的元路径加载器,该加载器拦截所有导入dask模块的调用。此加载器被配置为对模块应用RAPIDS特定的修补程序,确保在安装了RAPIDS包的环境中,无论导入顺序如何,dask模块都会始终被修补以兼容RAPIDS。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

rapids_dask_dependency-24.8.0.tar.gz (2.0 kB 查看散列)

上传时间

构建分发

rapids_dask_dependency-24.8.0-py3-none-any.whl (15.0 kB 查看散列)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面