[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-RunLLM--aqueduct":3,"tool-RunLLM--aqueduct":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,52],"视频",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[14,35],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":76,"owner_website":76,"owner_url":77,"languages":78,"stars":119,"forks":120,"last_commit_at":121,"license":122,"difficulty_score":32,"env_os":123,"env_gpu":124,"env_ram":125,"env_deps":126,"category_tags":131,"github_topics":133,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":148,"updated_at":149,"faqs":150,"releases":181},4244,"RunLLM\u002Faqueduct","aqueduct","Aqueduct is no longer being maintained. Aqueduct allows you to run LLM and ML workloads on any cloud infrastructure.","Aqueduct 是一款开源的 MLOps 框架，旨在帮助开发者轻松地在任意云基础设施上定义、运行和监控机器学习（ML）及大语言模型（LLM）工作负载。它主要解决了当前 MLOps 领域基础设施碎片化的问题：团队往往需要面对多种云服务商割裂的 API 和复杂的部署流程，导致效率低下。\n\n通过 Aqueduct，用户只需使用标准的 Python 代码即可编写模型训练、数据处理或推理逻辑，无需学习特定云平台的专有接口。其核心亮点在于“一次编写，随处运行”的能力——它能无缝地将本地代码调度到 Kubernetes、AWS Lambda、Databricks 等不同后端环境中执行，甚至支持在一个工作流中灵活组合多种算力资源（如指定使用 GPU 进行训练）。此外，Aqueduct 还提供了可视化的用户界面，让用户能直观地追踪任务执行状态与模型性能。\n\n这款工具特别适合机器学习工程师、数据科学家以及需要管理复杂 AI 流水线的开发团队。对于希望摆脱繁琐运维细节、专注于算法逻辑本身的研究者和开发者而言，Aqueduct 提供了一个统一且高效的解决方案。需要注意的是，该项目目前已停止维护，但在理解多云","Aqueduct 是一款开源的 MLOps 框架，旨在帮助开发者轻松地在任意云基础设施上定义、运行和监控机器学习（ML）及大语言模型（LLM）工作负载。它主要解决了当前 MLOps 领域基础设施碎片化的问题：团队往往需要面对多种云服务商割裂的 API 和复杂的部署流程，导致效率低下。\n\n通过 Aqueduct，用户只需使用标准的 Python 代码即可编写模型训练、数据处理或推理逻辑，无需学习特定云平台的专有接口。其核心亮点在于“一次编写，随处运行”的能力——它能无缝地将本地代码调度到 Kubernetes、AWS Lambda、Databricks 等不同后端环境中执行，甚至支持在一个工作流中灵活组合多种算力资源（如指定使用 GPU 进行训练）。此外，Aqueduct 还提供了可视化的用户界面，让用户能直观地追踪任务执行状态与模型性能。\n\n这款工具特别适合机器学习工程师、数据科学家以及需要管理复杂 AI 流水线的开发团队。对于希望摆脱繁琐运维细节、专注于算法逻辑本身的研究者和开发者而言，Aqueduct 提供了一个统一且高效的解决方案。需要注意的是，该项目目前已停止维护，但在理解多云部署架构方面仍具有参考价值。","\n\n\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Faqueducthq.com\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRunLLM_aqueduct_readme_9f77b31838b3.png\" width=\"40%\" \u002F>\n  \u003C\u002Fa>\n  \n  \u003Ch2 style=\"border: 0px white;\">Run LLMs and ML on any cloud infrastructure\u003C\u002Fh2>\n\n### 📢 [Slack](https:\u002F\u002Fslack.aqueducthq.com)&nbsp;&nbsp;|&nbsp;&nbsp;🗺️ [Roadmap](https:\u002F\u002Froadmap.aqueducthq.com)&nbsp;&nbsp;|&nbsp;&nbsp;🐞 [Report a bug](https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fissues\u002Fnew?assignees=&labels=bug&template=bug_report.md&title=%5BBUG%5D)&nbsp;&nbsp;|&nbsp;&nbsp;✍️ [Blog](https:\u002F\u002Fblog.aqueducthq.com)\n\n  \n[![Start Sandbox](https:\u002F\u002Fimg.shields.io\u002Fstatic\u002Fv1?label=%20&logo=github&message=Start%20Sandbox&color=black)](https:\u002F\u002Fgithub.com\u002Fcodespaces\u002Fnew?hide_repo_select=true&ref=main&repo=496844646)\n[![Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRunLLM_aqueduct_readme_ba7505ad7e73.png)](https:\u002F\u002Fpypi.org\u002Fproject\u002Faqueduct-ml\u002F)\n[![Slack](https:\u002F\u002Fimg.shields.io\u002Fstatic\u002Fv1.svg?label=chat&message=on%20slack&color=27b1ff&style=flat)](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Faqueductusers\u002Fshared_invite\u002Fzt-11hby91cx-cpmgfK0qfXqEYXv25hqD6A)\n[![GitHub license](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache_2.0-blue.svg)](https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fblob\u002Fmaster\u002FLICENSE)\n[![PyPI version](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Faqueduct-ml.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Faqueduct-ml\u002F)\n[![Tests](https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Factions\u002Fworkflows\u002Fintegration-tests.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Factions\u002Fworkflows\u002Fintegration-tests.yml)\n\u003C\u002Fdiv>\n\n**Aqueduct is an MLOps framework that allows you to define and deploy machine learning and LLM workloads on any cloud infrastructure. [Check out our quickstart guide! →](https:\u002F\u002Fdocs.aqueducthq.com\u002Fquickstart-guide)**\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRunLLM_aqueduct_readme_86f6c4e841bc.png\" width=\"80%\" \u002F>\n\u003C\u002Fp>\n\nAqueduct is an open-source MLOps framework that allows you to write code in vanilla Python, run that code on any cloud infrastructure you'd like to use, and gain visibility into the execution and performance of your models and predictions. **[See what infrastructure Aqueduct works with. →](https:\u002F\u002Faqueducthq.com\u002Fintegrations\u002F)**\n\nHere's how you can get started: \n\n```bash\npip3 install aqueduct-ml\naqueduct start\n```\n\n### How it works\n\nAqueduct's Python native API allows you to define ML tasks in regular Python code. You can connect Aqueduct to your existing cloud infrastructure ([docs](https:\u002F\u002Fdocs.aqueducthq.com\u002Fintegrations)), and Aqueduct will seamlessly move your code from your laptop to the cloud or between different cloud infrastructure layers. \n\n\u003C!--- TODO(vikram): Modify this once we add support for switching into\u002Fout of Databricks in a single workflow. --->\nFor example, we can define a pipeline that trains a model on Kubernetes using a GPU and validates that model in AWS Lambda in a few lines of Python: \n\n```python\n# Use an existing LLM.\nvicuna = aq.llm_op('vicuna_7b', engine='eks-us-east-2')\nfeatures = vicuna(\n    raw_logs,\n    { \n        \"prompt\": \n        \"Turn this log entry into a CSV: {text}\" \n    }\n)\n\n# Or write a custom op on your favorite infrastructure!\n@op(\n  engine='kubernetes',\n  # Get a GPU.\n  resources={'gpu_resource_name': 'nvidia.com\u002Fgpu'}\n)\ndef train(featurized_logs):\n  return model.train(features) # Train your model.\n\ntrain(features)\n```\n\nOnce you publish this workflow to Aqueduct, you can see it on the UI: \n\n![image](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRunLLM_aqueduct_readme_1291c5a9f919.png)\n\nTo see how to build your first workflow, check out our **[quickstart guide! →](https:\u002F\u002Fdocs.aqueducthq.com\u002Fquickstart-guide)**\n\n## Why Aqueduct?\n\nMLOps has become a [tangled mess of siloed infrastructure](https:\u002F\u002Faqueducthq.com\u002Fpost\u002Fthe-mlops-knot\u002F). Most teams need to set up and operate many different cloud infrastructure tools to run ML effectively, but these tools have disparate APIs and interoperate poorly.\n\nAqueduct provides a single interface to running machine learning tasks on your existing cloud infrastructure — Kubernetes, Spark, Lambda, etc. From the same Python API, you can run code across any or all of these systems seamlessly and gain visibility into how your code is performing.\n\n* **Python-native pipeline API**: Aqueduct’s API allows you define your workflows in vanilla Python, so you can get code into production quickly and effectively. No more DSLs or YAML configs to worry about.\n* **Integrated with your infrastructure**: Workflows defined in Aqueduct can run on any cloud infrastructure you use, like Kubernetes, Spark, Airflow, or AWS Lambda. You can get all the benefits of Aqueduct without having to rip-and-replace your existing tooling.\n* **Centralized visibility into code, data, & metadata**: Once your workflows are in production, you need to know what’s running, whether it’s working, and when it breaks. Aqueduct gives you visibility into what code, data, metrics, and metadata are generated by each workflow run, so you can have confidence that your pipelines work as expected — and know immediately when they don’t.\n* **Runs securely in your cloud**: Aqueduct is fully open-source and runs in any Unix environment. It runs entirely in your cloud and on your infrastructure, so you can be confident that your data and code are secure.\n\n## Overview & Examples\n\nThe core abstraction in Aqueduct is a [Workflow](https:\u002F\u002Fdocs.aqueducthq.com\u002Fworkflows), which is a sequence of [Artifacts](https:\u002F\u002Fdocs.aqueducthq.com\u002Fartifacts) (data) that are transformed by [Operators](https:\u002F\u002Fdocs.aqueducthq.com\u002Foperators) (compute). \nThe input Artifact(s) for a Workflow is typically loaded from a database, and the output Artifact(s) are typically persisted back to a database. \nEach Workflow can either be run on a fixed schedule or triggered on-demand.\n\nTo see Aqueduct in action on some real-world machine learning workflows, check out some of our examples:\n\n* [Churn Ensemble](https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fblob\u002Fmain\u002Fexamples\u002Fchurn_prediction\u002FCustomer%20Churn%20Prediction.ipynb)\n* [Sentiment Analysis](https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fblob\u002Fmain\u002Fexamples\u002Fsentiment-analysis\u002FSentiment%20Model.ipynb)\n* [Impute Missing Wine Data](https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fblob\u002Fmain\u002Fexamples\u002Fwine-ratings-prediction\u002FPredict%20Missing%20Wine%20Ratings.ipynb)\n* ... [and more](https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Ftree\u002Fmain\u002Fexamples)!\n\n## What's next?\n\nCheck out our [documentation](https:\u002F\u002Fdocs.aqueducthq.com\u002F), where you'll find:\n* a [Quickstart Guide](https:\u002F\u002Fdocs.aqueducthq.com\u002Fquickstart-guide)\n* [example workflows](https:\u002F\u002Fdocs.aqueducthq.com\u002Fexample-workflows)\n* and more details on [creating workflows](https:\u002F\u002Fdocs.aqueducthq.com\u002Fworkflows)\n\nIf you have questions or comments or would like to learn more about what we're\nbuilding, please [reach out](mailto:hello@aqueducthq.com), [join our Slack\nchannel](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Faqueductusers\u002Fshared_invite\u002Fzt-11hby91cx-cpmgfK0qfXqEYXv25hqD6A), or [start a conversation on GitHub](https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fissues\u002Fnew).\nWe'd love to hear from you!\n\nIf you're interested in contributing, please check out our [roadmap](https:\u002F\u002Froadmap.aqueducthq.com) and join the development channel in [our community Slack](https:\u002F\u002Fslack.aqueducthq.com).\n","\u003Cdiv align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Faqueducthq.com\">\n    \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRunLLM_aqueduct_readme_9f77b31838b3.png\" width=\"40%\" \u002F>\n  \u003C\u002Fa>\n  \n  \u003Ch2 style=\"border: 0px white;\">在任何云基础设施上运行大语言模型和机器学习任务\u003C\u002Fh2>\n\n### 📢 [Slack](https:\u002F\u002Fslack.aqueducthq.com)&nbsp;&nbsp;|&nbsp;&nbsp;🗺️ [路线图](https:\u002F\u002Froadmap.aqueducthq.com)&nbsp;&nbsp;|&nbsp;&nbsp;🐞 [报告 bug](https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fissues\u002Fnew?assignees=&labels=bug&template=bug_report.md&title=%5BBUG%5D)&nbsp;&nbsp;|&nbsp;&nbsp;✍️ [博客](https:\u002F\u002Fblog.aqueducthq.com)\n\n  \n[![开始沙盒](https:\u002F\u002Fimg.shields.io\u002Fstatic\u002Fv1?label=%20&logo=github&message=Start%20Sandbox&color=black)](https:\u002F\u002Fgithub.com\u002Fcodespaces\u002Fnew?hide_repo_select=true&ref=main&repo=496844646)\n[![下载量](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRunLLM_aqueduct_readme_ba7505ad7e73.png)](https:\u002F\u002Fpypi.org\u002Fproject\u002Faqueduct-ml\u002F)\n[![Slack](https:\u002F\u002Fimg.shields.io\u002Fstatic\u002Fv1.svg?label=chat&message=on%20slack&color=27b1ff&style=flat)](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Faqueductusers\u002Fshared_invite\u002Fzt-11hby91cx-cpmgfK0qfXqEYXv25hqD6A)\n[![GitHub 许可证](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache_2.0-blue.svg)](https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fblob\u002Fmaster\u002FLICENSE)\n[![PyPI 版本](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Faqueduct-ml.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Faqueduct-ml\u002F)\n[![测试](https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Factions\u002Fworkflows\u002Fintegration-tests.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Factions\u002Fworkflows\u002Fintegration-tests.yml)\n\u003C\u002Fdiv>\n\n**Aqueduct 是一个 MLOps 框架，允许你在任何云基础设施上定义和部署机器学习及大语言模型工作负载。[查看我们的快速入门指南！→](https:\u002F\u002Fdocs.aqueducthq.com\u002Fquickstart-guide)**\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRunLLM_aqueduct_readme_86f6c4e841bc.png\" width=\"80%\" \u002F>\n\u003C\u002Fp>\n\nAqueduct 是一个开源的 MLOps 框架，它允许你使用原生 Python 编写代码，在任何你希望使用的云基础设施上运行这些代码，并对你的模型和预测的执行与性能获得可视化洞察。**[查看 Aqueduct 支持哪些基础设施。→](https:\u002F\u002Faqueducthq.com\u002Fintegrations\u002F)**\n\n以下是开始使用的方法：\n\n```bash\npip3 install aqueduct-ml\naqueduct start\n```\n\n### 工作原理\n\nAqueduct 的原生 Python API 允许你用普通的 Python 代码定义机器学习任务。你可以将 Aqueduct 连接到你现有的云基础设施（[文档](https:\u002F\u002Fdocs.aqueducthq.com\u002Fintegrations)），然后 Aqueduct 会无缝地将你的代码从本地电脑迁移到云端，或者在不同的云基础设施层之间迁移。\n\n\u003C!--- TODO(vikram): 修改此部分，待我们支持在一个工作流中切换 Databricks 环境时。--->\n例如，我们可以用几行 Python 代码定义一个管道：在 Kubernetes 上使用 GPU 训练模型，并在 AWS Lambda 中验证该模型：\n\n```python\n# 使用现有的 LLM。\nvicuna = aq.llm_op('vicuna_7b', engine='eks-us-east-2')\nfeatures = vicuna(\n    raw_logs,\n    { \n        \"prompt\": \n        \"把这条日志条目转换成 CSV：{text}\" \n    }\n)\n\n# 或者在你喜欢的基础设施上编写自定义操作！\n@op(\n  engine='kubernetes',\n  # 获取 GPU。\n  resources={'gpu_resource_name': 'nvidia.com\u002Fgpu'}\n)\ndef train(featurized_logs):\n  return model.train(features) # 训练你的模型。\n\ntrain(features)\n```\n\n一旦你将这个工作流发布到 Aqueduct，你就可以在 UI 上看到它：\n\n![image](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRunLLM_aqueduct_readme_1291c5a9f919.png)\n\n要了解如何构建你的第一个工作流，请查看我们的 **[快速入门指南！→](https:\u002F\u002Fdocs.aqueducthq.com\u002Fquickstart-guide)**\n\n## 为什么选择 Aqueduct？\n\nMLOps 已经变成了一个由孤立基础设施组成的[复杂混乱的局面](https:\u002F\u002Faqueducthq.com\u002Fpost\u002Fthe-mlops-knot\u002F)。大多数团队需要设置和运维多种不同的云基础设施工具才能高效地运行机器学习任务，但这些工具的 API 各不相同，彼此之间的互操作性也很差。\n\nAqueduct 提供了一个统一的接口，用于在你现有的云基础设施上运行机器学习任务——无论是 Kubernetes、Spark、Lambda 还是其他平台。通过同一个 Python API，你可以无缝地在这些系统中的任意一个或全部上运行代码，并实时监控代码的执行情况。\n\n* **原生 Python 管道 API**：Aqueduct 的 API 允许你用原生 Python 定义工作流，从而快速有效地将代码投入生产。无需再担心 DSL 或 YAML 配置文件。\n* **与现有基础设施无缝集成**：在 Aqueduct 中定义的工作流可以在你使用的任何云基础设施上运行，比如 Kubernetes、Spark、Airflow 或 AWS Lambda。你无需替换现有工具，即可享受 Aqueduct 带来的所有优势。\n* **集中式代码、数据和元数据可见性**：一旦你的工作流投入生产，你就需要知道正在运行什么、是否正常工作以及何时出现故障。Aqueduct 可以让你查看每次运行中生成的代码、数据、指标和元数据，从而确保你的管道按预期运行，并在出现问题时立即知晓。\n* **在你的云环境中安全运行**：Aqueduct 完全开源，可在任何 Unix 环境中运行。它完全在你的云环境和基础设施中运行，因此你可以放心你的数据和代码是安全的。\n\n## 概述与示例\n\nAqueduct 中的核心抽象是 [工作流](https:\u002F\u002Fdocs.aqueducthq.com\u002Fworkflows)，它是由一系列 [工件](https:\u002F\u002Fdocs.aqueducthq.com\u002Fartifacts)（数据）组成，这些工件通过 [操作符](https:\u002F\u002Fdocs.aqueducthq.com\u002Foperators)（计算）进行转换。\n工作流的输入工件通常从数据库加载，而输出工件则通常会持久化回数据库。\n每个工作流可以按照固定的时间表运行，也可以按需触发。\n\n要查看 Aqueduct 在实际机器学习工作流中的应用，请参阅以下示例：\n\n* [客户流失集成模型](https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fblob\u002Fmain\u002Fexamples\u002Fchurn_prediction\u002FCustomer%20Churn%20Prediction.ipynb)\n* [情感分析](https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fblob\u002Fmain\u002Fexamples\u002Fsentiment-analysis\u002FSentiment%20Model.ipynb)\n* [填补缺失的葡萄酒数据](https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fblob\u002Fmain\u002Fexamples\u002Fwine-ratings-prediction\u002FPredict%20Missing%20Wine%20Ratings.ipynb)\n* ……[还有更多](https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Ftree\u002Fmain\u002Fexamples)!\n\n## 下一步是什么？\n\n请查看我们的[文档](https:\u002F\u002Fdocs.aqueducthq.com\u002F)，其中包含：\n* [快速入门指南](https:\u002F\u002Fdocs.aqueducthq.com\u002Fquickstart-guide)\n* [示例工作流](https:\u002F\u002Fdocs.aqueducthq.com\u002Fexample-workflows)\n* 以及关于[创建工作流](https:\u002F\u002Fdocs.aqueducthq.com\u002Fworkflows)的更多详细信息\n\n如果您有任何问题或意见，或者想了解更多关于我们正在构建的内容，请[联系我们](mailto:hello@aqueducthq.com)，[加入我们的 Slack 社区](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Faqueductusers\u002Fshared_invite\u002Fzt-11hby91cx-cpmgfK0qfXqEYXv25hqD6A)，或[在 GitHub 上发起讨论](https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fissues\u002Fnew)。我们非常期待您的反馈！\n\n如果您有兴趣参与贡献，请查看我们的[路线图](https:\u002F\u002Froadmap.aqueducthq.com)，并加入[社区 Slack](https:\u002F\u002Fslack.aqueducthq.com) 中的开发频道。","# Aqueduct 快速上手指南\n\nAqueduct 是一个开源的 MLOps 框架，允许你使用纯 Python 代码定义机器学习（ML）和大语言模型（LLM）工作流，并将其无缝部署到任何云基础设施（如 Kubernetes, Spark, AWS Lambda 等）上运行。\n\n## 环境准备\n\n在开始之前，请确保你的开发环境满足以下要求：\n\n*   **操作系统**：支持任何 Unix 环境（Linux, macOS）。Windows 用户建议使用 WSL2。\n*   **Python 版本**：Python 3.8 或更高版本。\n*   **包管理工具**：已安装 `pip` 或 `pip3`。\n*   **云基础设施（可选）**：如果你计划将任务部署到云端，需提前配置好相应的云账号凭证（如 AWS CLI, Kubeconfig 等）。本地运行无需额外配置。\n\n## 安装步骤\n\n使用 pip 安装 Aqueduct 客户端库：\n\n```bash\npip3 install aqueduct-ml\n```\n\n> **提示**：国内开发者若遇到下载速度慢的问题，可使用清华源加速安装：\n> ```bash\n> pip3 install aqueduct-ml -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n安装完成后，启动 Aqueduct 服务：\n\n```bash\naqueduct start\n```\n\n该命令会在本地启动 Aqueduct 引擎，并自动打开 Web UI 界面供你监控工作流状态。\n\n## 基本使用\n\nAqueduct 的核心在于使用纯 Python API 定义工作流。以下是一个简单的示例，展示如何调用现有的 LLM 处理数据，或在指定基础设施上运行自定义训练任务。\n\n### 1. 导入与连接\n\n首先在你的 Python 脚本或 Notebook 中导入库并连接本地服务：\n\n```python\nimport aqueduct as aq\n\n# 连接到本地启动的 Aqueduct 实例\nclient = aq.Client()\n```\n\n### 2. 定义工作流\n\n你可以混合使用预定义的 LLM 操作和自定义的 Python 函数。以下示例展示了如何处理日志数据并训练模型：\n\n```python\n# 示例 1: 使用现有的 LLM 操作 (例如 Vicuna)\n# 指定运行引擎，例如 eks-us-east-2\nvicuna = aq.llm_op('vicuna_7b', engine='eks-us-east-2')\n\n# 定义输入数据和处理提示词\nfeatures = vicuna(\n    raw_logs,\n    { \n        \"prompt\": \"Turn this log entry into a CSV: {text}\" \n    }\n)\n\n# 示例 2: 定义自定义操作 (Operator)\n# 指定在 Kubernetes 上运行，并申请 GPU 资源\n@aq.op(\n  engine='kubernetes',\n  resources={'gpu_resource_name': 'nvidia.com\u002Fgpu'}\n)\ndef train(featurized_logs):\n  # 在这里编写你的标准模型训练代码\n  return model.train(featurized_logs)\n\n# 执行训练任务\ntrain_result = train(features)\n```\n\n### 3. 发布与运行\n\n定义好工作流后，将其发布到 Aqueduct 即可运行。你可以在代码中触发运行，也可以在 Web UI 中查看执行详情、日志和输出数据。\n\n```python\n# 发布工作流 (Workflow)\nworkflow = client.publish_workflow(\n    name=\"my-first-ml-pipeline\",\n    flows=[train_result]\n)\n\n# 触发运行\nworkflow.run()\n```\n\n运行后，访问本地浏览器打开的 Aqueduct UI 面板，即可实时查看代码执行情况、数据血缘及性能指标。\n\n---\n更多详细用法、支持的云集成列表及高级示例，请访问 [Aqueduct 官方文档](https:\u002F\u002Fdocs.aqueducthq.com\u002F)。","某电商数据团队需要构建一个实时日志分析系统，利用大语言模型将非结构化的用户行为日志自动转化为结构化 CSV 数据，以支持后续的商业智能分析。\n\n### 没有 aqueduct 时\n- **环境割裂严重**：开发人员需在本地编写代码，却需手动配置复杂的 Kubernetes 集群来调用 GPU 运行 Vicuna 模型，本地与云端环境不一致导致调试困难。\n- **基础设施锁死**：若想将模型训练放在 AWS Lambda 进行轻量级验证，而推理放在 EKS 上，必须分别编写两套完全不同的部署脚本和 API 对接代码。\n- **运维黑盒**：任务提交后缺乏统一监控界面，无法直观查看日志转换任务的执行状态、资源消耗及模型预测性能，排查问题耗时耗力。\n- **协作效率低下**：数据科学家与运维工程师因底层云设施差异（如不同的 IAM 权限、网络配置）频繁沟通，简单的工作流上线往往需要数天协调。\n\n### 使用 aqueduct 后\n- **原生 Python 定义**：团队仅需使用标准 Python 代码即可定义整个流程，aqueduct 自动将本地代码无缝调度至指定的 EKS GPU 节点或 AWS Lambda，无需关心底层设施差异。\n- **混合云自由编排**：通过简单的装饰器语法，轻松实现“在 Kubernetes 上运行大模型推理”与“在 Lambda 上进行数据验证”的跨云混合工作流，几行代码即可完成架构切换。\n- **全链路可视化**：工作流发布后，团队成员可直接在 aqueduct UI 面板实时监控日志处理进度、查看模型输出质量及资源使用情况，异常一目了然。\n- **聚焦业务逻辑**：开发人员不再被云厂商的特定 API 束缚，只需关注如何将日志转为 CSV 的核心算法，将原本数天的部署周期缩短至小时级。\n\naqueduct 的核心价值在于让团队用纯粹的 Python 代码打破云基础设施的孤岛，实现大模型工作流在任何云端的敏捷开发与透明运维。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FRunLLM_aqueduct_13985c75.png","RunLLM","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FRunLLM_2a26d38c.png","The developer platform for LLM-powered applications",null,"https:\u002F\u002Fgithub.com\u002FRunLLM",[79,83,87,91,95,99,103,107,111,115],{"name":80,"color":81,"percentage":82},"Go","#00ADD8",42.7,{"name":84,"color":85,"percentage":86},"Python","#3572A5",31.7,{"name":88,"color":89,"percentage":90},"TypeScript","#3178c6",21.7,{"name":92,"color":93,"percentage":94},"HCL","#844FBA",1.3,{"name":96,"color":97,"percentage":98},"Dockerfile","#384d54",0.8,{"name":100,"color":101,"percentage":102},"Shell","#89e051",0.6,{"name":104,"color":105,"percentage":106},"Jupyter Notebook","#DA5B0B",0.5,{"name":108,"color":109,"percentage":110},"Makefile","#427819",0.3,{"name":112,"color":113,"percentage":114},"JavaScript","#f1e05a",0.2,{"name":116,"color":117,"percentage":118},"CSS","#663399",0.1,519,20,"2026-03-28T01:05:26","Apache-2.0","Linux, macOS","非必需（取决于工作负载）。若需运行 GPU 任务（如训练大模型），需配置 NVIDIA GPU 及相应驱动（示例中提及 'nvidia.com\u002Fgpu' 资源），具体型号、显存及 CUDA 版本未在文档中明确说明，由用户底层基础设施决定。","未说明（取决于具体工作负载及部署的云基础设施）",{"notes":127,"python":128,"dependencies":129},"Aqueduct 是一个 MLOps 框架，本身不强制绑定特定深度学习库，而是作为编排层将代码部署到用户现有的云基础设施（如 Kubernetes, Spark, AWS Lambda, Airflow 等）上运行。它完全在用户的云环境中运行，数据保持安全。安装方式为 'pip3 install aqueduct-ml'，启动命令为 'aqueduct start'。具体的计算资源（GPU\u002FCPU\u002F内存）需求取决于用户定义的工作流及其选择的后端执行引擎。","3.x (需支持 'vanilla Python'，通常指 3.7+，文档未明确具体最低版本)",[130],"aqueduct-ml",[14,35,15,13,16,132],"其他",[134,135,136,137,138,139,140,141,142,143,144,145,146,147],"data-science","machine-learning","ml-infrastructure","ai","data","ml","ml-monitoring","python","python3","mlops","orchestration","llm","llms","kubernetes","2026-03-27T02:49:30.150509","2026-04-06T15:01:01.703592",[151,156,161,166,171,176],{"id":152,"question_zh":153,"answer_zh":154,"source_url":155},19336,"如何使用 `client.flow()` 方法获取工作流？","现在可以使用统一的签名 `client.flow(flow_identifier)`，其中 `flow_identifier` 可以是工作流的 ID 或名称。旧版的 `flow_id` 和 `flow_name` 参数虽然为了向后兼容仍可使用，但已被标记为废弃（deprecated），系统会抛出警告。建议在代码中直接使用单一参数传入名称或 ID，并计划在未来版本中完全移除旧参数。","https:\u002F\u002Fgithub.com\u002FRunLLM\u002Faqueduct\u002Fissues\u002F1239",{"id":157,"question_zh":158,"answer_zh":159,"source_url":160},19337,"为什么预览 MongoDB 集合时会失败？","这是一个已知问题，在连接到包含现有集合的 MongoDB 数据库并尝试在“数据”部分展开预览时会发生。该问题已在 v0.1.7 版本中修复。如果您遇到此问题，请将 Aqueduct 升级到 v0.1.7 或更高版本。","https:\u002F\u002Fgithub.com\u002FRunLLM\u002Faqueduct\u002Fissues\u002F809",{"id":162,"question_zh":163,"answer_zh":164,"source_url":165},19338,"测试连接 Demo 数据库失败且出现 AqueductError 堆栈跟踪怎么办？","此错误的根本原因是服务器没有权限访问某些特定文件。这通常不是代码逻辑错误，而是环境配置或权限问题。请检查运行 Aqueduct 服务器的用户是否有权限读取相关数据文件或配置文件。确认权限修正后，无需额外代码修复即可解决。","https:\u002F\u002Fgithub.com\u002FRunLLM\u002Faqueduct\u002Fissues\u002F742",{"id":167,"question_zh":168,"answer_zh":169,"source_url":170},19333,"如何正确启动 Aqueduct 服务器并初始化客户端？","请使用命令 `aqueduct start` 启动服务器（旧命令 `aqueduct server` 已废弃）。初始化客户端时，应使用 `aq.Client(\"YOUR_API_KEY\", \"localhost:8080\")`，注意需要导入 `aqueduct` 包（通常别名为 `aq`）。此外，确保已安装所有必要依赖，如 pandas、transformers 和 torch。API 密钥需在平台获取，文档中应补充相关说明。","https:\u002F\u002Fgithub.com\u002FRunLLM\u002Faqueduct\u002Fissues\u002F97",{"id":172,"question_zh":173,"answer_zh":174,"source_url":175},19334,"连接 S3 集成时提示根目录不存在怎么办？","当配置 AWS S3 存储元数据并使用子目录时，如果该子目录不存在，系统会报错。目前的解决方案是：该功能已被验证并在后续更新中支持自动创建不存在的根目录。如果遇到此问题，请确保升级到最新版本，或者手动在 S3 Bucket 中预先创建好对应的文件夹路径。","https:\u002F\u002Fgithub.com\u002FRunLLM\u002Faqueduct\u002Fissues\u002F1211",{"id":177,"question_zh":178,"answer_zh":179,"source_url":180},19335,"UI 提示\"Failed to fetch\"错误是什么意思？","这通常意味着后端服务器未运行或已停止。如果用户在 UI 打开时通过命令行（如 Ctrl-C）停止了后端服务，再进行任何操作都会报此错。解决方法是检查后端服务状态，确保服务器正在正常运行。新版本已优化此错误提示，会明确告知用户无法连接后端并建议检查服务状态。","https:\u002F\u002Fgithub.com\u002FRunLLM\u002Faqueduct\u002Fissues\u002F221",[182,187,192,197,202,207,212,217,222,227,232,237,242,247,252,257,262,267,272,277],{"id":183,"version":184,"summary_zh":185,"released_at":186},117329,"v0.3.6","## 0.3.6\n发布于2023年6月6日。\n\n### 核心功能\n* 允许用户选择性或完全禁用 Aqueduct 的工件快照功能。在定义工作流时，用户现在可以选择为单个工件或整个工作流中的所有工件禁用快照；如果启用此选项，这些工件仅会在计算时生成，随后被垃圾回收。除显式保存的数据外，不会持久化任何数据。更多详情请参阅我们的[文档](https:\u002F\u002Fdocs.aqueducthq.com\u002Fworkflows\u002Fcreating-a-workflow#publishing-a-workflow)。\n\n### 功能增强\n* 使 Google Cloud 上的按需 Kubernetes 集群能够在自动伸缩模式下使用 GPU 节点。\n\n### 错误修复\n* 修复了即使资源未被使用也无法删除的 bug。\n* 修复了带有警告检查的成功工作流显示为普通成功状态而非警告状态的 bug。\n* 修复了当存在大量工作流时页面加载抖动的问题。\n\n\n### 所有变更\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fcompare\u002Fv0.3.5...v0.3.6\n\n\u003Cdetails>\n  \u003Csummary>所有提交\u003C\u002Fsummary>\n\n  * 修复集成 - 文档生成的资源重命名，由 @likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1395 中完成\n  * 更新发布说明以包含 GKE 和 GAR 文档链接，由 @likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1397 中完成\n  * 更新文档生成脚本以支持 GAR，由 @cw75 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1396 中完成\n  * 多个小型工作流系统测试，由 @hsubbaraj-spiral 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1398 中完成\n  * 添加用于运行大型数据简单模型的笔记本，由 @hsubbaraj-spiral 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1368 中完成\n  * ENG 3056：当没有工作流使用资源时无法删除该资源，由 @eunice-chan 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1382 中完成\n  * ENG 3042：在工作流状态中使用检查状态，由 @eunice-chan 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1376 中完成\n  * 添加系统测试 2 笔记本，由 @saurav-c 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1402 中完成\n  * ENG-3070：禁用工作流列表排序，由 @eunice-chan 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1408 中完成\n  * ENG-3034：前端 Linter 修复，由 @agiron123 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1405 中完成\n  * ENG-3095：修复与 @parcel-resolver\u002Fbuffer 相关的控制台警告，由 @agiron123 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1406 中完成\n  * 为 GKE 启用按需 GPU 调度支持，由 @jpurusho65 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1407 中完成\n  * [1\u002Fn] 向工件表添加 should persist 列，由 @likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1390 中完成\n  * 将版本号更新至 0.3.6，由 @hsubbaraj-spiral 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1409 中完成\n\u003C\u002Fdetails>","2023-06-07T19:29:11",{"id":188,"version":189,"summary_zh":190,"released_at":191},117330,"v0.3.5","发布于2023年5月31日。\n\n### 主要特性\n* 新增对 Google Cloud 上按需 Kubernetes 集群的支持；现在您可以在请求 Aqueduct 创建 Kubernetes 集群时选择 Google Cloud 选项，Aqueduct 将自动使用 Google Kubernetes Engine。有关详细信息，请参阅我们的文档 [此处](https:\u002F\u002Fdocs.aqueducthq.com\u002Fresources\u002Fcompute-systems\u002Fon-demand-resources\u002Fon-demand-gke-clusters)。\n* 新增对 Google Artifact Registry 作为 Aqueduct 中容器注册表的支持。您现在可以使用推送到 GAR 的自定义 Docker 镜像。有关详细信息，请参阅我们的文档 [此处](https:\u002F\u002Fdocs.aqueducthq.com\u002Fresources\u002Fcontainer-registries\u002Fgar)。\n\n### 错误修复\n* 修复了从 UI 编辑某些资源配置时会导致资源编辑对话框报错的 bug。\n* 修复了更新已注册但未运行的工作流时会导致工作流被重复创建的 bug。\n* 修复了在未指定资源名称的情况下仍可注册某些资源的 bug。\n\n### 所有变更\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fcompare\u002Fv0.3.4...v0.3.5\n\n\u003Cdetails>\n  \u003Csummary>所有提交\u003C\u002Fsummary>\n\n* @cw75 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1377 中添加对 Google Artifact Registry 的支持\n* @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1379 中修复因集成\u002F资源命名不一致导致的 engine_configs 出现问题\n* @eunice-chan 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1373 中更新手动 UI QA 检查清单\n* @likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1383 中修复 main 分支上的 UI 构建问题\n* @likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1380 中修复资源编辑对话框崩溃的问题\n* @cw75 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1385 中更新 EKS VPC Terraform 模块版本号\n* ENG 2714 将 get_workflow 迁移到使用 V2 路由 by @eunice-chan 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1349 中\n* ENG 3008 修复已注册但未运行的工作流问题 by @eunice-chan 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1374 中\n* @likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1387 中更新 UI 重构后的工作流链接\n* ENG-3027：要求填写集成名称 by @agiron123 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1360 中\n* @likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1389 中修复默认 GCS 存储元数据值\n* @likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1391 中修复按需 Kubernetes 显示 AWS 图标而非 Kubernetes 图标的问题\n* @cw75 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1384 中基于最新 main 分支重新基底代码，并为按需 GKE 实现 UI\n* @likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1388 中修复 UI 中的所有 lint 警告\n* @likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1394 中更新包含 GKE 的手动 QA 指南\n* Rc v035 by @likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1393 中\n\u003C\u002Fdetails>","2023-06-01T04:56:41",{"id":193,"version":194,"summary_zh":195,"released_at":196},117331,"v0.3.4","发布于2023年5月24日。\n\n### 功能增强\n* 提升资源页面图标大小的一致性。\n* 在 SDK 中检索工作流时，将 `flow_id` 和 `name` 合并为一个参数。\n* 增加了在使用 AWS S3 时对保存操作进行参数化的功能。\n\n### 问题修复\n* 修复了在将 Airflow 工作流同步到 Aqueduct 时可能出现的竞争条件问题。\n* 修复了列出 Snowflake 数据对象时会返回错误的问题。\n\n### 所有变更\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fcompare\u002Fv0.3.3...v0.3.4\n\n\u003Cdetails>\n  \u003Csummary>所有提交\u003C\u002Fsummary>\n\n* 通过 @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1329 中使资源图标大小更加一致\n* @likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1330 中实现工作流 DAG 端点\n* @eunice-chan 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1345 中实施 ENG-2736：为工作流页面使用 V2 路由\n* @jpurusho65 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1325 中将 id 和 name 参数合并为一个字段\n* @saurav-c 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1347 中修复 Airflow 到 Aqueduct 同步的 bug\n* @agiron123 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1343 中实现 ENG-2964：获取环境 RTKQuery\n* @saurav-c 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1348 中添加用于 Airflow 计算测试的 GitHub Action\n* @agiron123 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1352 中修复 ENG-3010：S3 对话框用作元数据复选框的问题\n* @agiron123 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1351 中修复 ENG-2812：公告横幅错误\n* @likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1353 中修复 UI 构建中的缺失导入\n* @jpurusho65 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1350 中重新添加可选的 flow_id 和 flow_name 参数\n* @agiron123 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1355 中修复 ENG-3011 和 ENG-3012：Kubernetes\u002FOnDemandKubernetes 对话框的问题\n* @jpurusho65 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1356 中添加注解，仅针对关系型数据集成的测试用例启用门控\n* @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1354 中增加 S3 保存操作的参数化能力\n* @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1358 中在 .gitignore 文件中为 test-config 文件添加通配符前缀\n* @jpurusho65 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1357 中修复按名称获取工作流的回归问题\n* @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1359 中修复因缺少导入而导致 BigQuery 提取失败的 bug\n* @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1361 中调整资源和 DAG 视图中图标周围的内边距\n* @agiron123 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1364 中修复 ENG-3030：GCS 对话框中损坏的 GCS 文档链接\n* @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1363 中调整内边距\n* @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1370 中将代码库中的“integration”重命名为“resources”\n* [1\u002Fn] 重构工作流详情","2023-05-25T05:17:32",{"id":198,"version":199,"summary_zh":200,"released_at":201},117332,"v0.3.3","发布于2023年5月17日。\n\n### 功能增强\n* 增加了在保存操作符中使用参数以动态命名保存文件的功能。\n* 更新了资源页面上的工件存储卡片，使其与其他资源卡片保持一致。\n* 显示有多少工作流正在使用通知资源。\n* 使用 `react-hook-forms` 改进了表单验证。\n* 替换了表示已注册但尚未执行的工作流的图标。\n* 在资源页面上，将 Conda 集成显示为对 Aqueduct 服务器执行层的修改，而非作为一个独立的执行层。\n* 改进了 BigQuery 的错误检查，确保在访问数据集之前该数据集确实存在。\n\n### 问题修复\n* 修复了主页上的文档链接失效的问题。\n* 修复了 SDK 生成的文档字符串损坏的问题。\n\n### 所有变更\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fcompare\u002Fv0.3.2...v0.3.3\n\n\u003Cdetails>\n    \u003Csummary>所有提交记录\u003C\u002Fsummary>\n\n* ENG_2960：修复 Aqueduct 演示资源的文档链接失效问题。由 @agiron123 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1306 中完成。\n* 更新工件存储卡片的展示方式，使其与其他数据集成保持一致。由 @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1297 中完成。\n* 在连接的通知卡片和详情页中添加相应的工作流数量。由 @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1302 中完成。\n* ENG-2767：使用 react hook form 进行表单提交。由 @agiron123 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1232 中完成。\n* 修复 README 中的错别字。由 @cw75 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1313 中完成。\n* 更新工作流“未运行”标志。由 @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1312 中完成。\n* 修复 Storybook 构建失败的问题。由 @agiron123 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1317 中完成。\n* ENG 2884：测试节点路由。由 @eunice-chan 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1299 中完成。\n* 修复在 Jupyter 中查看资源方法时生成的文档字符串问题。由 @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1315 中完成。\n* 修复资源详情下拉菜单中显示重复字段的问题。由 @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1321 中完成。\n* [2\u002F2] 添加 GitHub Actions 以发布测试 PyPI 包。由 @likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1262 中完成。\n* 【UI】将 Conda 资源合并到 Aqueduct 服务器中。由 @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1311 中完成。\n* 增加保存操作符参数化的能力。由 @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1320 中完成。\n* 增加对 BigQuery 数据集是否存在进行错误检查的功能。由 @saurav-c 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1319 中完成。\n* 修复 Python 3.7 的 cloudpickle 序列化问题。由 @saurav-c 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1324 中完成。\n* 修复 Snowflake 保存时缺少模式的问题。由 @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1331 中完成。\n* ENG-2979：S3 对话框验证修复。由 @agiron123 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1328 中完成。\n* ENG","2023-05-17T23:50:45",{"id":203,"version":204,"summary_zh":205,"released_at":206},117333,"v0.3.2","发布于2023年5月10日。\n\n### 功能增强\n* 改进了用户在未连接到 Aqueduct 服务器时尝试执行操作时的错误处理。\n* 在将 S3 资源连接到 Aqueduct 时，如果指定的子目录不存在，现在会自动创建该子目录。\n\n### 问题修复\n* 替换了 UI 上过时的集成术语。\n* 修复了先前创建的资源名称无法编辑的 bug。\n\n### 所有变更\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fcompare\u002Fv0.3.1...v0.3.2\n\n\u003Cdetails>\n  \u003Csummary>所有提交\u003C\u002Fsummary>\n\n* 修复 UI 上遗留的集成重命名问题，由 @cw75 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1291 中完成\n* 使初始化 Aqueduct 客户端时的错误信息更加详尽，由 @cw75 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1288 中完成\n* 修复 Kubernetes 的空指针 bug，由 @cw75 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1293 中完成\n* eng-2888-调查资源编辑 bug，由 @eunice-chan 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1273 中完成\n* 将 aqueduct_demo 名称更改为 Demo，由 @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1289 中完成\n* 添加 Databricks 定期集成测试，由 @hsubbaraj-spiral 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1270 中完成\n* 修复文档生成脚本，由 @saurav-c 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1285 中完成\n* 添加 Spark EMR 定期测试，由 @hsubbaraj-spiral 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1294 中完成\n* 为配置检查添加保护机制，由 @hsubbaraj-spiral 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1298 中完成\n* 提高 Conda 集成测试的超时时间，由 @saurav-c 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1301 中完成\n* 增加 Redshift 集成测试集群启动和停止的超时时间，由 @saurav-c 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1300 中完成\n* 如果 S3 存储桶中不存在用户提供的根目录，则创建该目录，由 @jpurusho65 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1269 中完成\n* 更新 README.md，由 @vsreekanti 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1304 中完成\n* 发布版本 0.3.2，由 @agiron123 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1307 中完成\n\u003C\u002Fdetails>\n\n","2023-05-10T23:40:19",{"id":208,"version":209,"summary_zh":210,"released_at":211},117334,"v0.3.1","### 主要特性\n* 引入了 `aqueduct.llm_op` API 和 `aqueduct-llm` 软件包。Aqueduct 现在支持通过一次 API 调用即可调用 LLM，并附带为在 Kubernetes 上执行 LLM 优化过的预构建 Docker 镜像。`llm_op` API 同时支持临时执行（如下所示）以及对输入列表或 Pandas `Series` 的批量执行。更多详情请参阅我们的 [文档](https:\u002F\u002Fdocs.aqueducthq.com\u002Fllms)。\n    ```python\n    from aqueduct import Client, llm_op\n\n    client = Client() # 初始化 Aqueduct 客户端，以便检查下方的引擎名称是否有效\n    vicuna = llm_op('vicuna_7b', engine='my_k8s_engine')\n    vicuna('什么是最好的 LLM？')\n    ``` \n* 按照资源的概念重新组织集成模块。资源是指 Aqueduct 可以连接的任何外部工具、系统或 API；现有的数据和计算集成会自动转换为资源。本次发布新增了一个容器注册表资源，未来版本还将引入新的资源类型。访问资源的推荐 SDK API 现为 `client.resource`，而 `client.integration` 则计划在未来的版本中弃用。\n* 允许用户在 Kubernetes 上运行 Aqueduct 运算符时指定自定义 Docker 镜像。该 Docker 镜像必须安装有 Aqueduct 执行器框架；更多详情请参阅我们的文档 [这里](https:\u002F\u002Fdocs.aqueducthq.com\u002Fintegrations\u002Fcontainer-registries\u002Fecr)。\n\n### 功能增强\n* 改进了当运算符因成功生成结果而失败时的日志记录和错误处理，这种情况通常发生在设置阶段。\n* 支持通过 Python SDK 将 Databricks 集群连接到 Aqueduct。\n\n### 错误修复\n* 修复了在某些配置下，在 M1 Mac 上安装使用 Aqueduct 管理的 Kubernetes 集群所需先决条件时会失败的问题。\n\n### 全部变更\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fcompare\u002Fv0.2.12...v0.3.1\n\n\u003Cdetails>\n\u003Csummary>全部提交\u003C\u002Fsummary>\n\n  * 由 likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1250 中修复 Spark Docker 构建问题\n  * Eng 2142：添加运行 Conda 集成测试的能力，由 likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1216 中实现\n  * 由 cw75 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1242 中修复 Mac 上按需 Kubernetes 集成注册失败的 bug\n  * [1\u002Fn] 允许通过将版本号拆分到单独文件来注入 PyPI 包版本，由 likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1259 中完成\n  * 由 vsreekanti 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1263 中更新 README.md\n  * 由 likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1252 中改进运算符在生成工件之前失败时的日志记录\n  * 由 hsubbaraj-spiral 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1256 中向 connect_config 添加 DatabricksConfig\n  * 增加了对运行集成测试的支持","2023-05-04T17:59:57",{"id":213,"version":214,"summary_zh":215,"released_at":216},117335,"v0.2.12","发布于2023年4月25日。\n\n### 功能增强\n* 改进了 SDK 中集成对象的 `describe` 方法；如果在连接或验证集成时出现错误，将显示该错误。\n* 会立即验证集成连接，因此当用户尝试访问数据等操作时，若使用了配置错误的集成，系统会立即通知用户。\n* 将集成连接表单中的占位符值替换为更真实的示例值。\n* 添加了对最新版本 `numpy` 的支持。\n\n### 所有变更\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fcompare\u002Fv0.2.11...v0.2.12\n\n\u003Cdetails>\n\u003Csummary> 所有提交 \u003C\u002Fsummary>\n* @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1227 中修复了代码中的 isort 格式问题及自动化 linter 错误。\n* @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1228 中将 numpy 版本升级至 1.24.2。\n* Eng 2635 @eunice-chan 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1225 中为 MariaDB 添加了自动化的定期测试覆盖率。\n* @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1220 中在后端跟踪每个集成连接的执行状态。\n* [SDK] @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1223 中实现：当使用尚未连接的任何集成时，直接报错。\n* @hsubbaraj-spiral 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1233 中改进了集成的占位符值。\n* @hsubbaraj-spiral 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1231 中重构了 Spark Python 执行器。\n* @Fanjia-Yan 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1230 中修复了文档中缺失本地文件的相关错误。\n* Eng 2735 @eunice-chan 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1240 中为 V2 工作流结果添加了排序和限制参数。\n* Rc v0212 @likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1249 中完成。\n\u003C\u002Fdetails>","2023-04-26T04:36:43",{"id":218,"version":219,"summary_zh":220,"released_at":221},117336,"v0.2.11","发布于2023年4月18日。\n\n### 功能增强\n* 将 Aqueduct 与 Databricks 的集成扩展为可选支持长期运行的实例池。如果指定了实例池，Aqueduct 将自动使用该实例池中的节点；否则，Aqueduct 会创建一个包含新实例的集群。\n* 改进了集成连接过程中的表单验证，以确保正确检测并可视化有效和无效的表单字段。\n\n### 问题修复\n* 修复了在 M 系列 Mac 上安装 MySQL 依赖时可能失败的问题。\n* 修复了集成连接对话框可能反复重新渲染、导致轻微性能下降的问题。\n* 修复了从文件加载 TensorFlow 对象时，由于库版本不匹配而导致加载失败的问题。\n* 修复了多个进程同时尝试创建同一 Kubernetes Secret 时的并发问题。\n* 修复了上一版本引入的发布通知横幅未能从 PyPI 检测到新的 Aqueduct 版本的问题。\n* 修复了通过 SDK 指定的 CUDA 版本在执行时可能未被正确安装的问题。\n\n### 所有变更\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fcompare\u002Fv0.2.10...v0.2.11\n\u003Cdetails>\n  \u003Csummary>所有提交\u003C\u002Fsummary>\n\n  * @hsubbaraj-spiral 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1201 中为 Databricks 集成添加了实例池选项\n  * @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1196 中将 GitHub Actions 中使用的机器规格从 8 核改为 4 核\n  * @vsreekanti 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1208 中添加了路线图，并更新了 README 的格式\n  * ENG-2759 @agiron123 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1202 中为 Mac 上的 MySQL 连接安装依赖项\n  * ENG-2790 @agiron123 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1207 中为集成对话框设置了默认选项卡\n  * ENG-2789 @agiron123 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1206 中修复了 Airflow 集成对话框无限重绘的问题\n  * @Fanjia-Yan 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1205 中修复了本地 TensorFlow 模型数据因模块导入和 TensorFlow 版本问题而无法创建的问题\n  * [1\u002F4] Eng 2711 @likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1164 中实现了运算符和工件节点视图，以捕获结构信息\n  * ENG-2640：MySQL 定期集成测试 @agiron123 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1179 中进行了实施\n  * @cw75 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1214 中修复了在创建 `AwsCredentialsSecretName` 的 Kubernetes Secret 时可能出现的竞争条件问题\n  * @saurav-c 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1195 中增加了对定期运行 BigQuery 测试的支持\n  * ENG-2589 @Fanjia-Yan 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1178 中为本地数据添加了文档说明\n  * ENG-2804 @agiron123 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1215 中增加了检查 PyPI 以决定是否显示公告横幅的功能\n  * 修复了 CUDA 版本管理方面的错误 o","2023-04-19T01:21:56",{"id":223,"version":224,"summary_zh":225,"released_at":226},117337,"v0.2.10","发布于2023年4月11日。\n\n### 功能增强\n* 在配置 AWS S3 集成时，支持子目录。当指定子目录后，Aqueduct 将忽略该目录之外的所有内容。\n* 将从本地文件系统创建数据产品的功能扩展到 Aqueduct 支持的[所有类型](https:\u002F\u002Fdocs.aqueducthq.com\u002Fartifacts)。\n* 如果在没有 Conda 的 Aqueduct 服务器上执行代码，服务器现在会主动确保用户环境中的 Python 版本与服务器的 Python 环境一致。如果不一致，将抛出错误。\n* 在 Aqueduct UI 中添加了一个可关闭的横幅，用于通知用户新版本的发布。\n\n### 错误修复\n* 修复了指标执行过程中出现的错误未能正确显示的问题。\n* 修复了严重性级别为警告的检查在检查历史中显示为错误的问题。\n* 修复了使用 SDK 辅助函数创建每月调度时失败的问题。\n\n### 所有变更\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fcompare\u002Fv0.2.9...v0.2.10\n\n\u003Cdetails>\n  \u003Csummary>所有提交\u003C\u002Fsummary>\n\n* 由 kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1176 中修复了损坏的 run_notebooks GH 操作。\n* 由 saurav-c 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1168 中增加了对 Redshift 的自动化定期测试覆盖。\n* ENG-2639：Postgres 定期集成测试，由 agiron123 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1135 中完成。\n* 由 kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1180 中并行化了 manual_aq_tests\u002Finitialize.py。\n* ENG-2753：修复警告级别检查在历史列表中显示为失败的问题，由 agiron123 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1175 中完成。\n* 由 hsubbaraj-spiral 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1177 中启用了计算引擎集成测试中的预览功能。\n* ENG-2757：修复 SDK 函数参数验证失败的问题，由 eunice-chan 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1183 中完成。\n* ENG-2761：修复指标详情页面中错误未显示的问题，由 agiron123 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1187 中完成。\n* Eng 2762：在 Spark Docker 中添加 Aqueduct ML 版本，由 hsubbaraj-spiral 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1188 中完成。\n* 由 kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1184 中更新了 CONTRIBUTING.md，增加了一些关于 install_local.py 的建议。\n* 由 kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1189 中对我们的代码风格检查流程进行了多项修复。\n* Eng 1986：当服务器和客户端的 Python 版本不匹配时向用户发出警告，由 eunice-chan 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1182 中完成。\n* ENG-2486：新增公告横幅以通知用户新版本发布，由 agiron123 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1181 中完成。\n* 允许用户从本地数据创建所有类型的数据产品，由 Fanjia-Yan 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1153 中完成。\n* 增加对 AWS S3 子文件夹的支持。","2023-04-12T01:01:46",{"id":228,"version":229,"summary_zh":230,"released_at":231},117338,"v0.2.9","发布于2023年4月5日。\r\n\r\n### 核心特性\r\n* 【测试版】Aqueduct 现在支持将本地文件系统的 DataFrame 和图像数据作为参数加载。详情请参阅 `client.create_param()`。\r\n\r\n### 功能增强\r\n* 改进了工件存储管理流程。集成页面现在会显示当前使用的工件存储系统；如果工件存储之间的迁移失败，错误信息将显示在集成详情页上，直到用户触发新的工件迁移操作为止。\r\n* 为读取和写入算子的侧边栏添加了元数据。两个侧边栏现在都会显示用于 I\u002FO 操作的系统，而保存算子还会显示数据将被保存到何处以及（如适用）以何种格式保存。\r\n\r\n### 问题修复\r\n* 修复了 MongoDB 连接对话框中的拼写错误。\r\n* 修复了工作流详情页顶部的工作流状态无法与页面其他部分同步更新的问题。\r\n* 修复了一个 bug：在启动 Aqueduct 服务器后立即停止，可能会导致一个工作流运行被触发并随后被终止，进而永久停留在待处理状态。\r\n\r\n### 全部变更\r\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fcompare\u002Fv0.2.8...v0.2.9\r\n\r\n\u003Cdetails>\r\n  \u003Csummary>全部提交记录\u003C\u002Fsummary>\r\n\r\n* Eng 2698 实现 v2 API 框架，由 @likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1148 中完成\r\n* ENG 2707 集成连接卡片中 MongoDB 文本一致性问题，由 @eunice-chan 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1157 中完成\r\n* [ENG-2621] 修复工作流头部状态未正确更新的 bug，由 @vsreekanti 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1156 中完成\r\n* 自定义 UpdateOnFailure() 中的日志消息，由 @Fanjia-Yan 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1078 中完成\r\n* 允许用户从本地数据创建表和图像参数，由 @Fanjia-Yan 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1077 中完成\r\n* [K8s] 处理多个测试同时竞争创建 aqueduct 命名空间的情况，由 @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1159 中完成\r\n* [后端] 改进工件存储迁移的生命周期管理，由 @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1146 中完成\r\n* 仅在 K8s 清理失败时才上传 Terraform 目录，由 @kenxu95 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1145 中完成\r\n* 更新示例工作流部分中的 Jupyter Notebook 链接，由 @jpurusho65 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1160 中完成\r\n* ENG 2154 向保存算子添加参数信息，由 @eunice-chan 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1137 中完成\r\n* Eng 2724 为 Code Spaces 启用使用情况跟踪功能，由 @likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1154 中完成\r\n* Eng 2331 修复工作流运行可能永远停留在待处理状态的 bug，由 @likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1144 中完成\r\n* 修复 UI 构建在开发模式下正常但在生产环境中不工作的 bug，由 @likawind 在 https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1162 中完成","2023-04-05T22:21:24",{"id":233,"version":234,"summary_zh":235,"released_at":236},117339,"v0.2.8","Released on March 29, 2023.\r\n\r\n### Enhancements\r\n* Extends Aqueduct's parameter support to allow parameters to be `None` *if*\r\n    there is a default value for the parameter in the function definition.\r\n* Tweaks the design of the workflow details page to reduce the number of shades\r\n    of blue.\r\n* Updates SQL query parametrization scheme to use `$1`, `$2`, etc. as parameter\r\n    placeholders rather than the previous `{ param }` syntax. This allows a\r\n    paramter to be reused multiple times within the same query and is similar\r\n    to how traditional RDBMS interfaces work.\r\n* Adds context about the execution configuration of an operator to the workflow\r\n    details page. Now, each operator will show the logo of the engine on which\r\n    its running.\r\n\r\n### Bugfixes\r\n* Fixes bug where the metric history graph's X-axis would not reflect\r\n    timescales; all data points would be evenly spaced out rather than\r\n    reflecting the amount of time between each point.\r\n* Fixes bug where cross-environment Python requirements gathering would lead to\r\n    erroneous installation. Currently, Aqueduct only supports explicit\r\n    requirements specification.\r\n* Fixes bug where certain workflow failures would leave unfinished operators in\r\n    an infinitely-pending state; now, nodes are correctly marked as canceled.\r\n* Fixes bug where retrieving a non-existent filepath from S3 would return\r\n    succesfully but with empty data; now, a detailed error message is shown\r\n    instead.\r\n* Fixes bug where attempting to capture a system metric would thrown an error.\r\n\r\n### All Changes\r\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fcompare\u002Fv0.2.7...v0.2.8\r\n\r\n\u003Cdetails>\r\n  \u003Csummary>All commits\u003C\u002Fsummary>\r\n\r\n* Changelog typo fix by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1131\r\n* Fix ondemand k8s doc link by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1132\r\n* Set up demo codespace by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1122\r\n* ENG-2622 Show metrics history graph temporally on the x axis. by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1133\r\n* Remove gathering requirements from user environment by @jpurusho65 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1123\r\n* Eng 2441 Update node statuses to cancel when workflow run is finished by @eunice-chan in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1129\r\n* ENG-2537 Adds DAG Layout Test Cases by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1128\r\n* Add an empty requirements.txt files by @jpurusho65 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1140\r\n* Create implicit parameters with the default value being what's specified in the function signature by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1141\r\n* [ENG-2687] Reduce the number of shades of blue on workflow details page by @vsreekanti in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1142\r\n* Fix sql query parameterization bug using $1, $2 placeholders by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1134\r\n* [ENG-2676] Show operator context on nodes by @vsreekanti in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1121\r\n* Adds support for bigquery integration tests by @saurav-c in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1136\r\n* Fix bug where using S3 integration with non-existent filepath succeeds by @Fanjia-Yan in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1070\r\n* Add system_metric function to GenericArtifact by @hsubbaraj-spiral in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1138\r\n* Fix bug with ExecuteWorkflow and DatabricksJobs by @hsubbaraj-spiral in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1143\r\n* Reframe README to match latest positioning by @vsreekanti in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1114\r\n* Release 0.2.8 by @eunice-chan in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1147\r\n\u003C\u002Fdetails>","2023-03-29T19:55:14",{"id":238,"version":239,"summary_zh":240,"released_at":241},117340,"v0.2.7","Released on March 22, 2023.\r\n\r\n### Key Features\r\n* [Beta] Aqueduct now has support for on-demand Kubernetes cluster creation and management on AWS. From the Aqueduct UI, you can connect Aqueduct to your AWS account via the cloud integration feature. Once connected, you can use this cloud integration to ask Aqueduct to automatically create a Kubernetes cluster for you. See the documentation [here](https:\u002F\u002Fdocs.aqueducthq.com\u002Fintegrations\u002Fon-demand-aws-eks-clusters) for how to create an operator that uses on-demand Kubernetes.\r\n\r\n### Enhancements\r\n* Improves error handling to return more detailed error messages from errors occurring during execution.\r\n* Improves error handling by surfacing errors that occur outside of the execution of an individual function as workflow-level errors; these errors could occur for example if a compute system was misconfigured.\r\n* Improves handling of artifact name conflicts in the Python SDK. Explicitly named artifacts (using either the `outputs` argument to the `@op` decorator or the `.set_name()` function) will immediately flag and prevent conflicts in artifact names. Automatically named artifacts will error if multiple artifacts with the same name are included in a single `publish_flow` call.\r\n* Displays all compute engines associated with a workflow on the workflows list page.\r\n* Improves efficiency when previewing large objects on the UI by retrieving a sample of the data instead of the full data object and noting that the displayed data is a sample.\r\n\r\n### Bugfixes\r\n* Fixes bug where an S3 or GCS bucket being used as the Aqueduct artifact store could possibly be deleted from the UI.\r\n* Fixes bug that caused navigation buttons to be misaligned with other buttons on the action bar on the workflow details page.\r\n* Fixes bug where navigating to the next most recent run on the workflow details page would not work correctly.\r\n* Fixes bug pending or errored metric would show as \"Unknown\" on the UI instead of with the correct status.\r\n* Fixes bug where warning-level checks were being shown as failures on the workflows list page.\r\n* Fixes bug where certain DAG layouts would continue to show a layout with overlapping and crossing edges.\r\n\r\n### Note\r\n* The parameterization of SQL queries may have unexpected behavior if you accidentally define a \r\n    parameter with the same name twice. The parameter value will be chosen at random in such a case.\r\n    This bug will be fixed in the next release.\r\n\r\n### All Changes\r\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fcompare\u002Fv0.2.6...v0.2.7\r\n\r\n\u003Cdetails>\r\n  \u003Csummary>All commits\u003C\u002Fsummary>\r\n\r\n* ENG 2487: Fix bug where user is allowed to delete an integration that is being used as the storage layer by @eunice-chan in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1086\r\n* Update README.md by @vsreekanti in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1096\r\n* Deprecate FlowConfig in SDK by @jpurusho65 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1094\r\n* [ENG-2631] Fixes bug that caused navigation buttons to be misaligned by @vsreekanti in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1099\r\n* Change error surfacing to also return inner error messages by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1102\r\n* [ENG-2652] Remove dead code from UI by @vsreekanti in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1104\r\n* Use context.Background() for deferred functions by @hsubbaraj-spiral in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1101\r\n* Add a workflow-level error banner on the UI for errors that occur outside the workflow's context by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1107\r\n* Allow creating multiple AWS integrations by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1092\r\n* ENG-2339 Empty String Parameter Rendering Fix by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1115\r\n* Fix bug where AWS region is hardcoded when configuring kube config and terraform by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1111\r\n* [ENG-2645] Fixes bug where next run button was broken on the UI by @vsreekanti in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1118\r\n* Update the naming scheme for artifacts in our SDK by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1093\r\n* ENG 2458 give all history rows a timestamp by @eunice-chan in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1100\r\n* Add automated periodic integration test coverage for SQLite by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1119\r\n* Upload the tfstate file at the end of periodic tests by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1109\r\n* ENG-2577 Fix bug where warning state is not properly reflected on metadata list views by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1117\r\n* Fix bug where all errors were surfaced as workflow-level errors by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1116\r\n* ENG-2620 DAG Line Crossing Fix by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1113\r\n* Fix a bug where engine i","2023-03-23T03:55:53",{"id":243,"version":244,"summary_zh":245,"released_at":246},117341,"v0.2.6","## 0.2.6\r\n\r\nReleased on March 14, 2023.\r\n\r\n### All Changes\r\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fcompare\u002Fv0.2.5...v0.2.6\r\n\r\n### Key Features\r\n* Enables registering a workflow without immediately triggering a run of that workflow. When calling `publish_flow` the `run_now` parameter can be set to `False`, which will tell the Aqueduct server to wait until the next scheduled (or triggered) run. In the interim, only the DAG's structure will be shown without any execution metadata.\r\n\r\n### Enhancements\r\n* Adds error checking to ensure that a remote compute engine is paired with a remote artifact store.\r\n* Adds error checking to ensure that a valid `kubeconfig` is provided when connecting Aqueduct to Kubernetes.\r\n* Enables using `~` to refer to the home directory when specifying a path to AWS credentials or a `kubeconfig`.\r\n* Adds icons to integration details views to indicate when an object store (AWS S3, GCS) are being used for metadata storage.\r\n* Allows specifying the specific library version of CUDA when requesting GPU resources; v11.4.1 is the current default because that is what EKS clusters use by default.\r\n\r\n### Bugfixes\r\n* Fixes bug where certain errors occurring during task launch weren't clearly surfaced in the Aqueduct stack.\r\n* Fixes bug where, within a Python process, executing an operator in lazy mode precluded users from later executing it in eager mode (or vice versa).\r\n* Fixes bug where notification count wasn't being shown.\r\n* Fixes bug where the notice for an ongoing metadata migration would run off the end of the screen.\r\n* Removes duplicate \"History\" header on metric details page.\r\n\r\n\r\n\u003Cdetails>\r\n \u003Csummary>All commits\u003C\u002Fsummary>\r\n\r\n* Fixes broken pre-merge tests by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1037\r\n* Allows for Snowflake VARCHAR to be of the max size by @saurav-c in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1038\r\n* Fix requirements issues on fresh aqueduct install by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1032\r\n* Implement the basic SDK and backend support for dynamic k8s integration by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1033\r\n* Add UI support for connecting AWS integration by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1036\r\n* Allows users to optionally specify snowflake role by @saurav-c in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1035\r\n* Make dynamic k8s cluster resilient against server failures and race conditions by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1040\r\n* [ENG-2273] Updates layout of workflow header by @vsreekanti in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1045\r\n* Disable AWS integration registration from UI and SDK by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1053\r\n* [1\u002F5] Decouple exec env data model creation and conda env creation by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1011\r\n* ENG 2494 Fix a bug where metric graph dates are cutted off by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1048\r\n* Enable 'list operators on integration' for compute integrations by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1044\r\n* [ENG-2563] Remove dead & refactor confusing UI code by @vsreekanti in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1054\r\n* ENG 2439 add engine and resource to metrics and checks by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1049\r\n* Fix mypy failure in GH actions by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1059\r\n* [ENG-2573] Updates DAG node design by @vsreekanti in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1057\r\n* [1\u002F2] Eng-2503: Refactor Conda Connection Status for more generic purposes by @Fanjia-Yan in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1041\r\n* [2\u002F2]Eng 2503: Connecting to Lambda Asynchronously  by @Fanjia-Yan in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1042\r\n* ENG-2170 Settings Update Toast and Navigation Updates by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1058\r\n* 0.2.5 Release by @saurav-c in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1062\r\n* Add K8s integration tests to our periodic integration tests by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1046\r\n* Do not require an explicit apikey field in test-credentials.yml by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1068\r\n* Upgrade reactflow v10->v11, @reduxjs\u002Ftoolkit by @eunice-chan in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1013\r\n* Delete dynamic k8s cluster only when no pods are running by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1051\r\n* Have our GH actions slack integration always tag the appropriate oncall by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1064\r\n* Fix bug where compute integration can be registered without configuring cloud storage by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1066\r\n* Fix bug where error occurred during job manager launch is not caught as operator error by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1065\r\n* ","2023-03-15T00:37:57",{"id":248,"version":249,"summary_zh":250,"released_at":251},117342,"v0.2.5","Released on March 7, 2023.\r\n\r\n### Key Features\r\n* Users can now run Aqueduct workflows on Spark clusters on AWS EMR. With Apache Livy as an interface, Aqueduct can submit your code to your Spark cluster reliably and seamlessly. See our documentation [here](https:\u002F\u002Fdocs.aqueducthq.com\u002Fintegrations\u002Fadding-an-integration\u002Fconnecting-to-spark-emr.md).\r\n* Redesigns node layout on DAG view to improve information presentation and better distinguish between different node types.\r\n\r\n### Enhancements\r\n* Enables specification of Snowflake role when connecting the Snowflake integration.\r\n* Updates workflow details page header to be more compact and reduce information overload.\r\n* Adds support for specifying compute engine and resource requirements when creating metrics & checks.\r\n\r\n### Bugfixes\r\n* Fixes issue where size of large rows on Snowflake was artificially limited.\r\n* Resolves requirement mismatches that would occur on the latest versions of Ubuntu 22.\r\n* Fixes layout issue where dates on metric history graph could have been cut off.\r\n* Fixes bug where the integration details page for compute integrations would not list all workflows using that integration.\r\n* Fixes bug where metrics plot failed to render when upstream operator was cancelled.\r\n\r\n### All Changes\r\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fcompare\u002Fv0.2.4...v0.2.5\r\n\r\n\u003Cdetails>\r\n  \u003Csummary>All commits\u003C\u002Fsummary>\r\n\r\n* Fixes broken pre-merge tests by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1037\r\n* Allows for Snowflake VARCHAR to be of the max size by @saurav-c in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1038\r\n* Fix requirements issues on fresh aqueduct install by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1032\r\n* Implement the basic SDK and backend support for dynamic k8s integration by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1033\r\n* Add UI support for connecting AWS integration by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1036\r\n* Allows users to optionally specify snowflake role by @saurav-c in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1035\r\n* Make dynamic k8s cluster resilient against server failures and race conditions by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1040\r\n* [ENG-2273] Updates layout of workflow header by @vsreekanti in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1045\r\n* Disable AWS integration registration from UI and SDK by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1053\r\n* [1\u002F5] Decouple exec env data model creation and conda env creation by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1011\r\n* ENG 2494 Fix a bug where metric graph dates are cutted off by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1048\r\n* Enable 'list operators on integration' for compute integrations by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1044\r\n* [ENG-2563] Remove dead & refactor confusing UI code by @vsreekanti in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1054\r\n* ENG 2439 add engine and resource to metrics and checks by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1049\r\n* Fix mypy failure in GH actions by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1059\r\n* [ENG-2573] Updates DAG node design by @vsreekanti in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1057\r\n\u003C\u002Fdetails>\r\n\r\n\r\n","2023-03-08T06:07:09",{"id":253,"version":254,"summary_zh":255,"released_at":256},117343,"v0.2.4","Release on Mar 1, 2023.\r\n\r\n### Enhancements\r\n* Opens links to docs and feedback in new tabs rather than in the existing tab on the Aqueduct UI.\r\n* When authoring a pipeline, allows reusing the same Python function multiple times in the same DAG.\r\n* Improves the layout of the card displaying metadata storage information on the settings page.\r\n\r\n### Bugfixes\r\n* Fixes bug where changing the Aqueduct metadata storage layer when there was a previously-failed workflow would cause the data migration process to pause.\r\n* Fixes bug where certain DAGs would render in a confusing fashion on the workflow details page. The algorithm for DAG layouts is now significantly more reliable.\r\n\r\n### All Changes\r\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fcompare\u002Fv0.2.3...v0.2.4\r\n\r\n\u003Cdetails>\r\n\u003Csummary>All commits\u003C\u002Fsummary>\r\n\r\n* ENG 2499 open docs and feedback links in new tab by @eunice-chan in\r\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1020\r\n* Use Spark integration on SDK by @hsubbaraj-spiral in\r\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F993\r\n* Adding Spark integration to UI by @hsubbaraj-spiral in\r\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F994\r\n* [1\u002F2] Add golang apache livy client by @hsubbaraj-spiral in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F995\r\n* Pull test-config.yml from S3 for pre-merge integration tests by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1024\r\n* Complete our pre-merge test suite by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1028\r\n* Copies migrator binary instead of moving it by @saurav-c in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1031\r\n* Fixes bug in the storage migration process with migrating failed artifact results by @saurav-c in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1030\r\n* Allows users to reuse operator in a workflow by @saurav-c in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1027\r\n* Eng 2506 storage metadata design feedback by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1021\r\n* Eng 2450 fix node layout algo by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1029\r\n* 0.2.4 release by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1034\r\n\u003C\u002Fdetails>","2023-03-01T01:55:58",{"id":258,"version":259,"summary_zh":260,"released_at":261},117344,"v0.2.3","Released on February 22, 2023.\r\n\r\n### Enhancements\r\n * Updates workflow and data table views to show overview of all executed checks rather than just one.\r\n * Garbages collect Lambda-specific Docker images from the Aqueduct server's machine after the Lambda integration connection is finished.\r\n * Improves performance of the Aqueduct serialization library by looking into collection types (lists, tuples) and using data-type specific serialization methods for each entry.\r\n * On the Aqueduct settings page, adds details about what storage engine is being used for metadata and version snapshot storage.\r\n\r\n ### Bugfixes\r\n * Fixes detail header alignment on artifact and operator details pages.\r\n * Fixes bug where latest MariaDB and MySQL drivers were not being installed correctly on M1 Macs.\r\n * Fixes bug where running the same function with multiple unnamed parameters more than once would fail.\r\n * Fixes bug where Aqueduct Docker images running for save operators were missing dependencies for certain data types.\r\n\r\n\r\n### All Changes\r\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fcompare\u002Fv0.2.2...v0.2.3\r\n\r\n\u003Cdetails>\r\n  \u003Csummary>All commits\u003C\u002Fsummary>\r\n\r\n* Change nvidia\u002Fcuda base image to 11.4.1 by @hsubbaraj-spiral in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1002\r\n* Refactors lib\u002Fcollections by replacing it with lib\u002Fmodels by @saurav-c in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F997\r\n* ENG-2475: Bug: Better align operator and artifact 'outputs' and 'generated by' headers by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F999\r\n* ENG 2400 Fix aqueduct install mariadb for Mac M1 by @eunice-chan in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1000\r\n* ENG-2369 Checks List Overview in Check Metadata Table Cell by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F998\r\n* Fix bug where rerunning a function with multiple implicit parameters fails by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1004\r\n* Removes deprecated save API from README by @vsreekanti in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1006\r\n* Support notifications in manual QA testing script by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1005\r\n* Eng 2377 Delete local lambda images after connecting to lambda by @Fanjia-Yan in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F987\r\n* Fix notifications doc link in UI by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1010\r\n* ENG-2084 Add details to settings page about what storage is being used for metadata by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1008\r\n* Adds tensorflow to s3 images by @hsubbaraj-spiral in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1012\r\n* Improve the serialization performance of pickled lists and tuples by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1007\r\n* Fix bug when serializing a list of tables to S3 by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1014\r\n* Creates 0.2.3 Release by @hsubbaraj-spiral in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1015\r\n* Updates manual qa test checklist by @hsubbaraj-spiral in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1017\r\n* ENG-2508: Safari Bug Fixes by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F1016\r\n\r\n\u003C\u002Fdetails>","2023-02-23T00:49:20",{"id":263,"version":264,"summary_zh":265,"released_at":266},117345,"v0.2.2","### Key Features\r\n* Adds support for receiving Aqueduct notifications via email or in Slack\r\n    workspaces. You can configure notification settings for your Aqueduct\r\n    installation at large, and you can also customize notification settings\r\n    per-workflow. Notifications can be configured to be sent for all workflow\r\n    executions, only on warnings, or only on errors.\r\n    * *Email*: You can connect Aqueduct to your email account and specify a\r\n        list of email addresses as recipients. Each notification will trigger a\r\n        separate email.\r\n    * *Slack*: You can connect Aqueduct to your Slack workspace and specify a\r\n        channel that Aqueduct should send notifications on. Each notification\r\n        will send a separate message.\r\n\r\n### Enhancements\r\n* Adds support for specifying Snowflake schema when creating integration from\r\n    UI.\r\n* Adds support for executing an operator that has one or more parameters and\r\n    multiple outputs interactively. You can call the same function, and\r\n    Aqueduct will automatically override previous implicitly created\r\n    parameters. See [our\r\n    documentation](https:\u002F\u002Fdocs.aqueducthq.com\u002Fparameters) for more details.\r\n    ```python\r\n    @op\r\n    def fn(param):\r\n      return param\r\n\r\n    res = fn(1).get()\r\n    >>> 1 # Creates a parameter named `param` for you automatically, with a default value of 1.\r\n\r\n    res = fn(2).get()\r\n    >>> 2 # Updates `param` to have a default value of 2.\r\n    ```\r\n\r\n### Bugfixes\r\n* Fixes two bugs where Aqueduct server was retrieving full data objects from\r\n    the Aqueduct metadata store to check for their existence. When working\r\n    with non-trivial data, this could cause serious performance issues.\r\n* Fixes bug where object does not exist errors from S3 were mishandled, causing\r\n    Aqueduct to surface incorrect errors.\r\n* Fixes bug where pods that are marked as pending on Kubernetes were being\r\n    treated as failed operators.\r\n* Fixes bug where log and stack traces blocks didn't have proper formatting and\r\n    backgrounds on the UI.\r\n* Fixes bug that was causing full data objects to be retrieved repeatedly when\r\n    loading metadata on the UI.\r\n* Fixes bug where UI was previously treating not-yet-executed operators (for an\r\n    in-progress workflow) as failed operators.\r\n* Fixes bug where the SDK's `global_config` could not be changed to set\r\n    Aqueduct as the compute engine.\r\n\r\n### All Changes\r\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fcompare\u002Fv0.2.1...v0.2.2\r\n\r\n\u003Cdetails>\r\n  \u003Csummary>All commits\u003C\u002Fsummary>\r\n\r\n* ENG-2171 Add Tabs to Workflow Details Page by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F962\r\n* Fix performance issue when using S3 as metadata storage by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F973\r\n* Allows user to specify optional Snowflake schema in UI by @saurav-c in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F972\r\n* Adds a storage.exists() check to replace extra storage.get() by @hsubbaraj-spiral in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F974\r\n* ENG-2285 MySQL Integration Testing Setup by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F960\r\n* ENG-2286 Postgres Integration Test Setup by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F956\r\n* Fix bug in S3 GET error handling and k8s pod status handling by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F976\r\n* ENG 2405 Fix bug where log and stack traces divs don't have backgrounds by @eunice-chan in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F967\r\n* Fix bug where we are retrieving artifact payloads on workflow page by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F978\r\n* Eng 2362 Fix IP address display for common cloud providers by @eunice-chan in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F979\r\n* Eng 2284 Integrate MariaDB to Integration Tests by @eunice-chan in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F968\r\n* ENG-2453 Dag Width and Height Fixes by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F980\r\n* Pass in jobManager to Operators if shared context is required by @hsubbaraj-spiral in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F969\r\n* ENG-2409 TabPanel Component by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F983\r\n* ENG 2332 Differentiate warning between pending and upstream failure by @eunice-chan in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F986\r\n* ENG-2457: Fixes DAG flashing on workflow details page by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F991\r\n* ENG 2271 GC  workflow notification settings when deleting an notification by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F963\r\n* [1\u002F2] Allow for previewing an operator with custom parameters by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F988\r\n* Log performance breakdown when running Python operators by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F981\r\n* Fix bug where we don't allow user switch engine back to Aqueduct by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F","2023-02-15T05:48:55",{"id":268,"version":269,"summary_zh":270,"released_at":271},117346,"v0.2.1","### Key Features\r\n* Allows customizing artifact names from the SDK in one of two ways.\r\n    ```python\r\n    # Method 1: Use the decorator\r\n    @op(outputs=['sklearn model', 'churn predictions'])\r\n    def train_and_predict_churn(features):\r\n      # ...\r\n      return model, predictions\r\n    # Method 2: Use .set_name()\r\n    @op\r\n    def train_model(features):\r\n      # ...\r\n      return model\r\n    # ...\r\n    model = train_model(features)\r\n    model.set_name('churn model')\r\n    ```\r\n\r\n### Enhancements\r\n* Allows providing filepath to ServiceAccount key file when connecting to BigQuery from Aqueduct SDK.\r\n* Improves form validation when connecting Databricks integration.\r\n* Throughout the SDK, enables references to workflows using workflow name in  addition to workflow ID.\r\n* Puts upper bounds on Python package dependencies to prevent unexpected regressions (e.g., recent issues caused by SQLAlchemy 2.0).\r\n\r\n### Bugfixes\r\n* Fixes bug where errors were not being properly handled when an operator had multiple outputs. This was occurring because the return value didn't have the expected length.\r\n\r\n### All Changes\r\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fcompare\u002Fv0.2.0...v0.2.1\r\n\r\n\u003Cdetails>\r\n  \u003Csummary>All commits\u003C\u002Fsummary>\r\n\r\n* ENG-2303 by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F937\r\n* [1\u002F2] Split test-config.yml into credentials and run config files by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F940\r\n* Deletes accidentally committed config file by @saurav-c in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F950\r\n* Fix broken periodic integration tests by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F954\r\n* Allows user to provide filepath to BigQuery credentials when connecting via SDK by @saurav-c in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F947\r\n* Adds support for running bigquery data integration testing by @saurav-c in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F948\r\n* ENG-2373 Improve Databricks Add Integration Form Validation by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F946\r\n* Fix the skip integration test label by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F959\r\n* Eng 2195 Implement application logic to send notifications by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F926\r\n* Allows users to customize artifact names by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F953\r\n* ENG 2288 Integrate SQLite to Integration Tests by @eunice-chan in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F942\r\n* Compete Athena integration test by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F957\r\n* Fixes bug in handling user error with mismatch in output count by @saurav-c in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F951\r\n* Allows use of flow name instead of id in SDK by @saurav-c in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F961\r\n* Adds Python pkg version upper bounds by @saurav-c in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F949\r\n* Eng 2289 complete mongodb integration testing by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F955\r\n* ENG-2406 Fix for metrics not showing properly on the data page. by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F965\r\n* 0.2.0 --> 0.2.1 Release by @eunice-chan in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F966\r\n\u003C\u002Fdetails>","2023-02-08T05:08:34",{"id":273,"version":274,"summary_zh":275,"released_at":276},117347,"v0.2.0","Released on January 31, 2023\r\n\r\n### Key Features\r\n* [Beta] Aqueduct now supports running workflows on Databricks Spark clusters! \r\n    As of this release, you can now connect Aqueduct to a Databricks cluster \r\n    from the UI and use the Aqueduct decorator API to deploy workflows onto \r\n    those clusters. \r\n    * Databricks workflows can read data from Snowflake and AWS S3. Future\r\n        releases support other data systems, including Delta Lake.\r\n    * Currently, you cannot run a subset of a workflow on a Databricks cluster;\r\n        the whole workflow must be run on Databricks.\r\n    * We plan to add support for non-Databricks Spark clusters in the coming\r\n        releases.\r\n\r\n### Enhancements\r\n* Allows workflows running on Airflow to be triggered upon the completion of\r\n    other workflows. Note that the completion of an Airflow workflow cannot\r\n    trigger the execution of another workflow because completion state is not\r\n    synchronously tracked on Airflow. \r\n* Unifies color and size of status indicators throughout the UI.\r\n\r\n### Bugfixes\r\n* Fixes bug where internal server error was uncaught when retrieving operator\r\n    results. \r\n* Fixes bug where workflow status bar had unnecessary backticks around objects.\r\n* Fixes bug where access checks for AWS S3 buckets would fail with certain\r\n    permissions that were in fact valid.\r\n* Fixes bug where saving tables to relational databases with long column names\r\n    (\\> 255 characters) would fail.\r\n* Fixes bug where SQLAlchemy version 2 introduced access issues with Pandas\r\n    DataFrames. Our current solution is to require SQLAlchemy version 1.\r\n* Fixes bug where listing tables in BigQuery required complex, brittle SQL \r\n    queries.\r\n* Fixes bug where data listing page might crash on UI after the execution of a\r\n    failed workflow.\r\n* Fixes bug where status indicator on check and metric details was not being \r\n    properly displayed.\r\n* Fixes bug where checks and metrics of failed workflow executions show no values.\r\n* Fixes bug where after switching to cloud storage as the metadata store, new integration\r\n    credentials weren't properly saved to cloud storage.\r\n* Fixes bug where preview fails after switching to cloud storage as the metadata store.\r\n* Fixes bug where failing metrics show as NaN in metric preview list on UI.\r\n\r\n### Deprecations\r\n* The `.save()` on Artifacts has been removed. As of\r\n    [v0.1.6](https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Freleases\u002Ftag\u002Fv0.1.6), the\r\n    recommended method is to use the `.save()` API on integration objects.\r\n\r\n### All Changes\r\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fcompare\u002Fv0.1.11...v0.2.0\r\n\r\n\u003Cdetails>\r\n  \u003Csummary>All commits\u003C\u002Fsummary>\r\n\r\n  * Fix bug where get operator result go routine fails to check for error by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F912\r\n  * ENG-2134 Remove Unnecessary Backticks in WorkflowStatusBar Warning list item by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F915\r\n  * Fix bug where get operator result go routine fails to check for error by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F913\r\n  * Fix bug where S3 integration authentication step fails even when the user does have permission by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F917\r\n  * Get K8s Compute Working with Aqueduct Integration Tests by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F920\r\n  * Fixes bug where saving to relational DBs failed for large string cols by @saurav-c in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F918\r\n  * [1\u002F2][Backend] Eng 2193 add email integration to backend by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F898\r\n  * Adds data integration tests for Redshift by @saurav-c in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F919\r\n  * Fix bug where pandas versioning causes workflows to fail by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F925\r\n  * ENG-2326, ENG-2335 Frontend Dev Mode Fixes by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F921\r\n  * Fix a bug where demo db upload is broken in GH actions by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F927\r\n  * Fix integration tests with sqlalchemy hack by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F928\r\n  * Eng 2196 Add notification settings to workflow table by @likawind in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F922\r\n  * Eng 2122 unify use of color and size in status indicators by @eunice-chan in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F908\r\n  * Fixes bug for listing big query tables by @saurav-c in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F929\r\n  * Adds cascading updates support for workflows running on Airflow by @saurav-c in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F930\r\n  * [1\u002F2] Support Large Data on Databricks by @hsubbaraj-spiral in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F896\r\n  * eng-2310 Add status in check + metric detail page header by @eunice-chan in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F914\r\n  * ENG-2308 Metric Preview Fixes","2023-02-01T01:34:38",{"id":278,"version":279,"summary_zh":280,"released_at":281},117348,"v0.1.11","Released on January 23, 2023\r\n\r\n### Enhancements\r\n* Upgrades workflow layout rendering tool to use the elkjs library.\r\n* Shows the name of the options on the UI's menu sidesheet to improve clarity.\r\n* Removes the Aqueduct logo on the UI's home page to reduce redundancy.\r\n\r\n### Bugfixes\r\n* Fixes bug where operator execution fails when running on Kubernetes. This was due to a time gap\r\n    between launching a Kubernetes job and spinning up a pod, and our system wasn't accounting\r\n    for this.\r\n* Fixes bug where the workflow details page keeps re-rendering.\r\n* Fixes bug where the Kubernetes logo doesn't show up on the UI.\r\n* Fixes bug where the UI keeps hitting the notification route, which led to unnecessary overhead.\r\n    This was caused by omitting an empty dependency array in one of our useEffect hooks.\r\n\r\n### All Changes\r\nhttps:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fcompare\u002Fv0.1.10...v0.1.11\r\n\r\n\u003Cdetails>\r\n\u003Csummary>All commits\u003C\u002Fsummary>\r\n* Remove dangling node positions call from SDK by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F893\r\n* Add convenience integration test running script by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F895\r\n* Fix bug where the UI keeps hitting the notification route by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F899\r\n* [SDK] Add some convenience get helpers to our SDK Integration Class by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F900\r\n* Fix bug where K8s Logo does not show up by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F902\r\n* Show option names on the sidesheet and remove the Aqueduct logo on the Home page by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F903\r\n* ENG-2290: Fix bug where workflow details page renders over and over. by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F901\r\n* ENG-1851 Use elkjs for positioning nodes and edges by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F894\r\n* Delete external data during test teardown in SDK Integration Tests by @kenxu95 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F904\r\n* Fix a bug where operator execution fails when running on k8s by @cw75 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F907\r\n* Prepare for 0.1.11 Release by @agiron123 in https:\u002F\u002Fgithub.com\u002Faqueducthq\u002Faqueduct\u002Fpull\u002F909\r\n\u003C\u002Fdetails>","2023-01-24T04:56:15"]