Build DAG from functions directly
Maintainer thường phản hồi trong vòng 2 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- python
- Lĩnh vực
- compilers, data-engineering
Hướng nghiên cứu
Bắt đầu với đường dẫn ad_hoc_utils hiện có và điểm vào Builder().with_modules() để hiểu cách các đối tượng hàm hiện được chuyển đổi thành DAG. Issue không nêu tên tệp hoặc test nào; để hoàn tất, cần chọn và ghi lại một API dựa trên hàm được hỗ trợ, bao phủ API đó bằng các test và giữ nguyên workflow tải module hiện có.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
Add first-class way to build a DAG from function objects (in contrast to DIY/ hacky). The user API could be either:
Builder().with_functions()- or an intermediary
my_module = module_from_functions(fns*)then passed to.with_modules()
Goals:
- simplify codebase
- foundation for better hierarchical / nested graph structures (i.e., subdags)
Current
At the core of Hamilton, users:
- write functions in a Python module ("dataflow code")
- load that module in the "driver code" to build a DAG
- execute the DAG via the Driver
Problem
- It is currently possible to build Hamilton DAGs from functions, but we have no official "here's how you do it" that we guarantee we'll support.
ad_hoc_utilsmeans exactly the opposite
- In a notebook, there's no good reason to create a module from a notebook function before passing to Hamilton (except our how constraints)
- Python module machinery is complex and adds indirection to the codebase (tests, notebook extension, LSP)
Benefits
- greatly simply many unit tests
- facilitate marimo integration
Hamilton 2.0 / Broader perspective
There's no well-defined structure or purpose to Hamilton top-level modules (e.g., nodes, graph_types, graph_utils, graph, ad_hoc_utils, base, hamilton.common, models). I propose a structure that matches the Hamilton lifecycle:
hamilton.parser: everything that deals with source code: how functions are written, if type annotations are present (not type matching), collecting functions from modules, converting a notebook cell string to a module, remove comments and docstring before hashing source codehamilton.compiler: converting code to DAG: structuring the DAG from functions, applying function modifiers, validating types, etc.- remove
ad_hoc_utils
- Ngôn ngữ chính
- Jupyter Notebook
- Star
- 2.6k
- Fork
- 221
- Merge trung bình
- 2 ngày 1 phút
- Pull request đã merge (30 ngày)
- 17
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của apache/hamilton
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Engine crashes when client sends nan or inf float to UICó thể làm lại được @Exudev đã nhận 234 ngày trước và không có pull request nào đang mở. Đang mởbug SDK
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
apache/hamilton#1458 · 5 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
More detailed type annotations in graph visualizationsCó thể làm lại được @Nishant-Manocha đã nhận 369 ngày trước và không có pull request nào đang mở. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
apache/hamilton#1383 · 4 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Documentation: add explainer for FastAPICó thể làm lại được @Aditya-Deshwal23 đã nhận 189 ngày trước và không có pull request nào đang mở. Đang mởdocumentation
Độ khó 2/5 1-2 ngày Mức phù hợp với người mới 65/100
apache/hamilton#1304 · 5 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Link back to github from reference API docsCó thể đã có người làm @naikvaib đã nhận 26 ngày trước. Đang mởdocumentation good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
apache/hamilton#572 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của apache/hamilton
Issue tương tự
-
bug engine spec compliance
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
frostney/GocciaScript#1737 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug frontend rt sev-3
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
area:adapters duckdb engine:v2 status:triage triage type:bug v2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
qualcomm/hexagon-mlir#108 ·