Elijah Ben Izzy
07/02/2022, 6:56 PMElijah Ben Izzy
07/02/2022, 6:56 PMElijah Ben Izzy
07/13/2022, 9:56 PMpip install sf-hamilton==1.9.0rc0
Elijah Ben Izzy
08/16/2022, 3:40 AMNone
for the output)
• Support for Union
type
• A refactor of the parametrize*
family -- this includes a new @parameterize
decorator that can parameterize across dependency sources/values
• Misc. bug fixes.
Reach out if you have any questions!
Installing is easy -- just run pip install sf-hamilton==1.10.0rc0
!Slackbot
01/10/2023, 5:48 PMSlackbot
12/22/2023, 9:00 PMKonstantin Tyapochkin
03/18/2024, 8:11 PMTom Barber
03/21/2024, 2:26 PMFran Boon
04/01/2024, 4:13 PMresources={"A2":1}
)
Currently it seems that this could be pretty easily achieved by (ab)using Hamilton's Tags feature:
@tag(**{"ray.resources": json.dumps({"A2": 1}))
def my_hamilton_node_fn_which_needs_an_A2(...) -> ...:
...
RayGraphAdapter.execute_node() would be modified to:
ray_options = {tag[4:]: json.loads(value) for tag, value in tags.items() if tag.startswith("ray.")}
return ray.remote(raify(node.callable), **ray_options).remote(**kwargs)
Any concerns with taking this approach?
Any better options?Stefan Krawczyk
04/02/2024, 5:23 PMdr = driver.Builder().with_modules(data_loading, feature_engineering, model_training, model_evaluation).with_adapter(...).build()
# one sagemaker job on small machine
data_set = dr.execute(["data_set_v1"], inputs={...})
# one sage maker job on large machine with GPU
model = dr.execute(["model_v1"], inputs={...}, override={"data_set_v1": data_set})
# one sagemaker job on small machine
evaluation = dr.execute(["evaluation_v1"], inputs={...}, override={"model_v1": model})
# some ideas on config structure?
config = {
"tasks": [{"name": "data_set_v1", "sagemaker": ["machine.small"], "artifacts": ["data_set_v1"]},
{"name": "model_v1", "sagemaker": ["machine.gpu"], "artifacts": ["model1"]},
{"name": "model_v2", "sagemaker": ["machine.gpu"], "artifacts": ["model2"]},
{"name": "evaluation_v1", "sagemaker": ["machine.small"]}]
}
sagemaker_pipeline_code = SageMakerPipelineBuilder(dr, config).compile()
airflow_pipeline_code = AirflowPipelineBuilder(dr, config).compile()
Jay
05/15/2024, 4:29 PMStefan Krawczyk
05/21/2024, 7:05 PMJernej Frank
07/24/2024, 2:37 PMIliya R
08/07/2024, 4:33 PMpyproject.toml
. Will appreciate any feedback, especially with regard to testing this.Iliya R
08/07/2024, 8:08 PMIliya R
08/08/2024, 6:53 AMhamilton_sdk
to be its own section, or 1st party (i.e. grouped with hamilton
) or 3rd party (grouped with pytest
etc)? There's some inconsistency in the files with that regard.Iliya R
08/08/2024, 11:12 PMIliya R
08/20/2024, 7:11 PMparameterize_extract_columns
and saw that it requires ParameterizedExtract
objects. Suggestion: have it accept some sort of named/ordered fields (e.g. list of dicts, or list of tuples) then wrap them internally in ParameterizedExtract
. It saves an import and is a tiny bit more elegant imho. wdyt?Slackbot
08/22/2024, 6:52 PMJernej Frank
08/23/2024, 11:49 PMruff.....................................................................Failed
- hook id: ruff
- exit code: 2
error: TOML parse error at line 176, column 1
|
176 | [tool.ruff.format]
| ^^^^^^^^^^^^^^^^^^
wanted exactly 1 element, more than 1 element
black....................................................................Passed
trim trailing whitespace.................................................Passed
fix end of files.........................................................Passed
fix requirements.txt.................................(no files to check)Skipped
check python ast.........................................................Passed
Fran Boon
08/26/2024, 9:08 AMfrom __future__ import annotations
Fran Boon
09/01/2024, 3:01 PMJernj Frank
09/12/2024, 7:10 PMIliya R
09/19/2024, 7:08 AM"sqlalchemy==1.4.49; python_version == '3.7.*'",
in pyproject.toml, if the minimum supported python version is 3.8?Iliya R
09/19/2024, 7:43 AMCall to action
We strongly encourage maintainers of Python projects to prepare their projects for 3.13 compatibilities during this phase
Viktor
10/03/2024, 11:15 AMIliya R
10/20/2024, 1:39 PMhamilton\function_modifiers\macros.py:1522: SyntaxWarning: invalid escape sequence '\*'
What needs to be done is add a r
to the beginning of the docstring (i.e. """
-> r"""
) and change \*\*
on the aforementioned line to **
.Jernj Frank
11/18/2024, 1:11 AM