首页
/ Kedro 0.19.13版本发布:统一管道设计与安全增强

Kedro 0.19.13版本发布:统一管道设计与安全增强

2025-06-05 17:20:21作者:侯霆垣

Kedro是一个优秀的Python框架,专门为创建可维护、可扩展的数据科学和机器学习管道而设计。它采用了软件工程的最佳实践,使数据科学家能够构建生产就绪的数据管道。最新发布的0.19.13版本带来了一些重要的架构改进和安全增强,值得数据工程师和机器学习从业者关注。

核心架构改进:统一管道设计

本次版本最重要的变化是对管道设计进行了重构和统一。在之前的版本中,Kedro同时提供了pipeline()函数和Pipeline类两种创建管道的方式,这在一定程度上造成了API的冗余和混乱。

0.19.13版本将这两者统一到了kedro.pipeline模块中,采用了与node()/Node类似的设计模式。这种统一不仅简化了API,还改善了命名空间的处理方式,使得代码更加一致和可维护。

对于现有项目,这种变化是向后兼容的,但建议开发者逐步迁移到新的统一API,为未来的Kedro 1.0版本做好准备。

重要Bug修复

本次版本修复了几个关键问题:

  1. 项目创建流程优化:修复了项目创建工作流中会错误使用kedro-startersmain分支而非发布版本的问题,确保了项目模板的稳定性。

  2. 命名空间处理增强:改进了confirms在管道创建期间的命名空间处理,现在能更好地支持IncrementalDataset这类数据集。

  3. 配置解析改进:解决了OmegaConf在使用运行时参数进行配置解析时可能出现的错误,提高了配置系统的可靠性。

  4. 性能优化:当从字典创建Node时,现在会缓存inputs以提高性能。同时,只有在日志级别设置为DEBUG时才会启用pluggy追踪,减少了项目运行时的开销。

即将到来的废弃变更

随着Kedro 1.0.0版本的临近,0.19.13版本引入了一些废弃警告:

  1. 目录CLI命令kedro catalog相关的几个子命令将被替代或移除,包括ranklistresolvecreate

  2. 数据目录类DataCatalog将被KedroDataCatalog取代,但最终会恢复使用DataCatalog名称。

  3. 运行命名空间参数--namespace选项将被--namespaces替代,后者支持同时运行多个命名空间。

  4. 模块化管道modular_pipeline模块将被完全移除,开发者应迁移到pipeline模块。

安全注意事项

值得注意的是,3月20日发现了一个安全问题(CVE-2024-12215),该问题源于即将在Kedro 1.0中移除的微打包功能。虽然风险较低(仅当从不受信任的源拉取恶意微包时存在风险),但建议开发者暂时避免使用微打包功能,并在Kedro 1.0发布后尽快升级。

文档与社区贡献

文档方面,本次更新完善了Dask部署文档,并新增了非Jupyter环境(如Marimo)与Kedro会话动态加载的集成指南。

社区贡献方面,多位开发者为本版本提交了有价值的PR,体现了Kedro活跃的开源生态。

升级建议

对于现有项目,建议开发者:

  1. 评估并计划迁移即将废弃的功能
  2. 测试新版本中的管道统一API
  3. 关注安全建议,特别是涉及微打包的使用场景
  4. 为Kedro 1.0的升级做好准备

Kedro 0.19.13版本在稳定性、性能和未来兼容性方面都做出了重要改进,是向1.0版本迈进的重要一步。数据团队应当重视这些变化,以确保管道的长期可维护性。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
179
263
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
871
515
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
131
184
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
346
380
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
334
1.09 K
harmony-utilsharmony-utils
harmony-utils 一款功能丰富且极易上手的HarmonyOS工具库,借助众多实用工具类,致力于助力开发者迅速构建鸿蒙应用。其封装的工具涵盖了APP、设备、屏幕、授权、通知、线程间通信、弹框、吐司、生物认证、用户首选项、拍照、相册、扫码、文件、日志,异常捕获、字符、字符串、数字、集合、日期、随机、base64、加密、解密、JSON等一系列的功能和操作,能够满足各种不同的开发需求。
ArkTS
31
0
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.08 K
0
kernelkernel
deepin linux kernel
C
22
5
WxJavaWxJava
微信开发 Java SDK,支持微信支付、开放平台、公众号、视频号、企业微信、小程序等的后端开发,记得关注公众号及时接受版本更新信息,以及加入微信群进行深入讨论
Java
829
22
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
603
58