为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的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | bd46bf1102f90c99e250547e80e4f1ccd5ab5f048ea7bdc7c07383748e6117a7 |
|
MD5 | 8212bd5f60db02df38c079767a4beb32 |
|
BLAKE2b-256 | 4a2a934ee4152abbc2bdfcfc11ee6db41510e83d2cb27cfbaac355138ee8f040 |
rapids_dask_dependency-24.8.0-py3-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 742c7352bbbe67e0caea61238ecaf218e91acb9730ff598ecfc53dca842f04fa |
|
MD5 | 379dda78684c37d3fd153dbd24c45e9f |
|
BLAKE2b-256 | b35ae06c02c9142ff3273abc364a97705c17bfb39e8f70932f126a742ad8c869 |