This is an automated email from the ASF dual-hosted git repository.

skrawcz pushed a change to branch stefan/while-dfs
in repository https://gitbox.apache.org/repos/asf/hamilton.git


    omit 97770850 While loop DFS implementation
     add ac349407 Fix failing unit tests for pandas and mlflow compatibility  
(#1463)
     add 3c758593 Add missing dependency group for async SQLAlchemy tests 
(#1474)
     add bb1dee89 chore: Bump Ruff to 0.15.0 (#1455)
     add 3bb44b9d Enable the UP006 and UP045 inspections
     add 357a43ac Remove tests for pre-3.9 types (Dict, Tuple)
     add 846cc74b Standardize `@pytest.mark.parametrize` parameters (PT006, 
PT007)
     add a2d0f205 Skip ray tests on Python 3.14 and fix ruff.toml config
     add 157ecd60 Address various test failures
     add 5d57508c Remove outdated numpy<2 version pins
     add f0b80121 Fix spark failures on py3.14
     add d4319d5f Add the sphinx-llms-txt docs plugin for better LLM 
integration (#1482)
     add 67e38e2d Apply Apache Incubator press-kit logo to docs (#1438)
     add 7f0916d7 Adds script to help promote RC artifacts
     add 7e2ffb84 Updates package to be apache-hamilton
     add 223a8f2b Removes some README links that shouldn't be there
     add 18ebdb94 Changes copy to mv
     add 66302562 Adds downloads to docs
     add b6bd7f21 Bump sqlparse from 0.5.0 to 0.5.4 in /ui/backend/server
     add a49dab35 Bump qs and express in /ui/frontend
     add eac91aa2 Bump jsonpath from 1.1.1 to 1.2.1 in /ui/frontend
     add 353ea200 Bump cryptography from 44.0.1 to 46.0.5 in /ui/backend/server
     add 7095981f Bump ajv from 6.12.6 to 6.14.0 in /contrib/docs
     add c1c67687 Bump webpack from 5.99.9 to 5.105.0 in /ui/frontend
     add ab5d4baf Bump webpack from 5.89.0 to 5.105.0 in 
/dev_tools/vscode_extension
     add d576aae1 Bump django from 4.2.27 to 4.2.28 in /ui/backend/server
     add c40bf92b Bump protobuf from 4.25.8 to 6.33.5 in /ui/backend/server
     add 36931c23 Bump eslint from 8.55.0 to 9.26.0 in /ui/frontend
     add de24202c Bump lodash from 4.17.21 to 4.17.23 in 
/dev_tools/vscode_extension
     add 20167107 Bump lodash from 4.17.21 to 4.17.23 in /contrib/docs
     add 84c1d25f Bump urllib3 from 2.6.0 to 2.6.3 in /ui/backend/server
     add 1bf29b46 Bump aiohttp from 3.12.14 to 3.13.3 in /ui/backend/server
     add 7d831f30 Add Claude Code plugin for AI-assisted Hamilton development 
(#1460)
     add 072c40ce perf: use deque for BFS queue in graph traversal (#1494)
     add e8b7c954 Update main package pyproject.toml for flit compatibility
     add c86d2770 Convert apache-hamilton-sdk to use flit
     add 97084895 Convert sf-hamilton-lsp to apache-hamilton-lsp with flit
     add bd6b2500 Convert sf-hamilton-contrib to apache-hamilton-contrib with 
flit
     add eb0f794d Convert sf-hamilton-ui to apache-hamilton-ui with flit
     add e53bc56b Update apache_release_helper.py to support per-package builds
     add 7276dc83 Add -src suffix to source tarball names
     add 2938631e Remove obsolete setup.py and setup.cfg files
     add cbd5e9df Use FLIT_USE_VCS environment variable instead of --no-use-vcs 
flag
     add a6e1b5c0 Enhance UI build script following Apache Burr pattern
     add 28a58be6 Fix infinite rerender loop and React warnings in DAG 
visualization
     add 95dba67b Upgrade UI to Vite and enhance build system for mini mode
     add 7df3e3e1 Migrate UI Docker infrastructure to uv and Python 3.12
     add 6f3ca6de Add Apache Software Foundation compliance to Docker 
infrastructure
     add 311b369f Consolidates ui test_tracking scripts
     add 4dbaf085 Fix pandas 2.2+ compatibility in pandas_extensions.py
     add 58ccfbae Fix SDK CI to use hamilton from source instead of PyPI
     add db4fb53f Remove unnecessary files
     add 7172d756 Makes lsp CI install latest hamilton on branch
     add db0e8275 Update contrib/NOTICE with third-party attributions
     add 124ae2cd Fix ESLint config to use .mjs extension
     add 98ff0803 Add PostgreSQL 12→16 migration scripts for Hamilton UI
     add ee3fff34 Use uv run python for consistent environment in UI scripts
     add 850c5d23 Upgrade from PostgreSQL 16 to PostgreSQL 18
     add ee8b73c0 Update start_mini_mode.sh to use uv and PostgreSQL 18
     add c32f2e60 Fix PostgreSQL 18 Docker volume mount point
     add 0952d657 Fix database credentials in migration scripts
     add 0817a2fa Upgrade Node.js version from 16.x to 20.x in frontend workflow
     add c1c839a0 removing suprious file
     add 5f2c5adb Address Dev-iL PR review comments: use pathlib.Path
     add 004756c3 Add eslint-plugin-react and downgrade linting errors to 
warnings
     add b5c90813 Address Dev-iL PR review: consolidate dependencies to 
pyproject.toml
     add 9e6ee326 Add TODO comments for Apache Docker image namespace transition
     add 4bd61f6d Add valid prettier config and run format - Add 
.prettierrc.json with standard React/TypeScript formatting rules - Run prettier 
--write to format all frontend source files - Fixes GitHub Actions failure: 
'Unexpected end of JSON input while parsing empty string'
     add 3a471c69 Fixes contrib docusaurus to resolve some depnendabot alerts
     add 6c9af804 Use pathlib consistently for build directory paths in Django 
settings and urls
     add 812b202b Switch LSP workflow from pip to uv via astral-sh/setup-uv 
action
     add 97cbffb8 Remove *.claude* gitignore pattern that conflicts with 
.claude directory
     add 836c6f90 Rename migrate_postgres scripts to upgrade_postgres to avoid 
confusion with DB schema migrations
     add b6e4acc4 Bump django from 5.2.11 to 5.2.12 in /ui/backend
     add 06ffd37e Fix `build-docs` CI failure for non-maintainer PRs
     add 8e51a95f Update upload artifact in github actions
     add 06d1275a Add async data validator support
     add 727c4ff2 While loop DFS implementation
     add ca3bcc9a Fixes up bugs and iteration to behave like before

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (97770850)
            \
             N -- N -- N   refs/heads/stefan/while-dfs (ca3bcc9a)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .claude-plugin/CHANGELOG.md                        |    87 +
 .claude-plugin/README.md                           |   257 +
 .claude-plugin/plugin.json                         |    35 +
 .claude-plugin/skills/core/SKILL.md                |   395 +
 .../skills/hamilton-dev-workflow/SKILL.md          |   522 +
 .claude-plugin/skills/integrations/SKILL.md        |   549 +
 .claude-plugin/skills/llm/SKILL.md                 |   507 +
 .claude-plugin/skills/observability/SKILL.md       |   493 +
 .claude-plugin/skills/scale/SKILL.md               |   347 +
 .github/workflows/docusaurus-gh-pages.yml          |     2 +-
 .github/workflows/hamilton-lsp.yml                 |     4 +-
 .github/workflows/hamilton-main.yml                |    13 +-
 .github/workflows/hamilton-sdk.yml                 |     1 +
 .github/workflows/hamilton-ui-frontend.yml         |     2 +-
 .github/workflows/sphinx-docs.yml                  |     7 +-
 .gitignore                                         |     1 +
 .pre-commit-config.yaml                            |     4 +-
 README.md                                          |     2 +-
 DISCLAIMER => contrib/DISCLAIMER                   |     0
 contrib/LICENSE                                    |     6 +-
 contrib/NOTICE                                     |    35 +
 contrib/docs/blog/2023-11-13-welcome/index.md      |    14 +-
 contrib/docs/compile_docs.py                       |   106 +-
 contrib/docs/docs/README.md                        |    11 +-
 contrib/docs/docs/Users/_category_.json            |     4 +-
 contrib/docs/docusaurus.config.js                  |    23 +-
 contrib/docs/package-lock.json                     | 20655 +++++++++------
 contrib/docs/package.json                          |    26 +-
 contrib/hamilton/contrib/dagworks/author.md        |     6 +-
 .../dagworks/sphinx_doc_chunking/test.ipynb        |    21 +-
 .../dagworks/text_summarization/__init__.py        |     7 +-
 .../contrib/dagworks/text_summarization/test.ipynb |     1 -
 .../dagworks/translate_to_hamilton/test.ipynb      |     2 -
 .../contrib/dagworks/translate_to_hamilton/test.py |     4 +-
 .../user/elijahbenizzy/caption_images/__init__.py  |    16 +-
 .../elijahbenizzy/convert_images_s3/__init__.py    |     4 +-
 .../parallel_load_dataframes_s3/__init__.py        |     4 +-
 .../user/skrawcz/customize_embeddings/__init__.py  |    13 +-
 .../skrawcz/customize_embeddings/notebook.ipynb    |    14 +-
 .../contrib/user/skrawcz/fine_tuning/__init__.py   |     2 +-
 .../contrib/user/zilto/lancedb_vdb/__init__.py     |    25 +-
 .../contrib/user/zilto/lancedb_vdb/run.ipynb       |    33 +-
 .../user/zilto/llm_generate_code/__init__.py       |     2 +-
 .../user/zilto/nixtla_mlforecast/__init__.py       |    51 +-
 .../contrib/user/zilto/nixtla_mlforecast/run.ipynb |    18 +-
 .../user/zilto/nixtla_statsforecast/__init__.py    |     7 +-
 .../user/zilto/nixtla_statsforecast/run.ipynb      |    19 +-
 .../user/zilto/text_summarization/__init__.py      |     7 +-
 .../contrib/user/zilto/webscraper/__init__.py      |     8 +-
 .../contrib/user/zilto/webscraper/run.ipynb        |    11 +-
 .../contrib/user/zilto/xgboost_optuna/__init__.py  |    15 +-
 .../contrib/user/zilto/xgboost_optuna/run.ipynb    |    32 +-
 contrib/hamilton/contribute.py                     |     7 +-
 contrib/pyproject.toml                             |    78 +
 contrib/setup.cfg                                  |    18 -
 contrib/setup.py                                   |   103 -
 DISCLAIMER => dev_tools/language_server/DISCLAIMER |     0
 LICENSE => dev_tools/language_server/LICENSE       |     0
 NOTICE => dev_tools/language_server/NOTICE         |     0
 dev_tools/language_server/hamilton_lsp/server.py   |     3 +-
 dev_tools/language_server/pyproject.toml           |    76 +-
 dev_tools/language_server/tests/ls_setup.py        |     4 +-
 dev_tools/vscode_extension/package-lock.json       |   632 +-
 docs/_static/hamilton-incubator-logo.png           |   Bin 0 -> 659320 bytes
 docs/_static/hamilton-incubator-logo.svg           |     9 +
 docs/asf/downloads.rst                             |    57 +
 docs/asf/index.rst                                 |     2 +
 docs/concepts/function-modifiers.rst               |     3 +-
 docs/conf.py                                       |     8 +
 docs/ecosystem/claude-code-plugin.md               |   406 +
 docs/ecosystem/index.md                            |     7 +
 docs/how-tos/run-data-quality-checks.rst           |     7 +
 docs/index.md                                      |    12 +
 docs/reference/decorators/check_output.rst         |    11 +
 examples/LLM_Workflows/GraphRAG/application.py     |     5 +-
 .../LLM_Workflows/GraphRAG/ingest_notebook.ipynb   |     6 +-
 examples/LLM_Workflows/GraphRAG/notebook.ipynb     |    80 +-
 .../LLM_Workflows/NER_Example/lancedb_module.py    |     3 +-
 .../LLM_Workflows/NER_Example/ner_extraction.py    |     3 +-
 examples/LLM_Workflows/NER_Example/notebook.ipynb  |    67 +-
 .../RAG_document_extract_chunk_embed/pipeline.py   |     8 +-
 .../simple_pipeline.ipynb                          |    27 +-
 examples/LLM_Workflows/image_telephone/adapters.py |    15 +-
 .../LLM_Workflows/image_telephone/notebook.ipynb   |    41 +-
 .../LLM_Workflows/image_telephone/streamlit.py     |    12 +-
 .../knowledge_retrieval/arxiv_articles.py          |     7 +-
 .../knowledge_retrieval/summarize_text.py          |     6 +-
 .../langchain_comparison/hamilton_anthropic.py     |     2 +-
 .../langchain_comparison/hamilton_async.py         |     5 +-
 .../langchain_comparison/hamilton_batch.py         |     7 +-
 .../langchain_comparison/hamilton_completion.py    |     5 +-
 .../langchain_comparison/hamilton_invoke.py        |     5 +-
 .../langchain_comparison/hamilton_streamed.py      |     6 +-
 .../langchain_comparison/vanilla_async.py          |     3 +-
 .../langchain_comparison/vanilla_batch.py          |     3 +-
 .../langchain_comparison/vanilla_invoke.py         |     3 +-
 .../langchain_comparison/vanilla_streamed.py       |     4 +-
 .../LLM_Workflows/llm_logging/summarization.py     |     4 +-
 .../modular_llm_stack/marqo_module.py              |     6 +-
 .../observability_openllmetry/notebook.ipynb       |     4 +-
 .../backend/parallel_summarization.py              |     4 +-
 .../pdf_summarizer/backend/summarization.py        |     4 +-
 .../pdf_summarizer/run_on_spark/run.ipynb          |    20 +-
 .../pdf_summarizer/run_on_spark/summarization.py   |     4 +-
 .../backend/ingestion.py                           |     4 +-
 .../scraping_and_chunking/notebook.ipynb           |     5 +-
 .../scraping_and_chunking/spark/notebook.ipynb     |    12 +-
 .../airflow/plugins/absenteeism/prepare_data.py    |     3 +-
 .../airflow/plugins/absenteeism/train_model.py     |     9 +-
 .../plugins/function_modules/data_loaders.py       |     4 +-
 examples/async/README.md                           |    10 +
 examples/aws/sagemaker/notebook.ipynb              |    28 +-
 examples/caching/in_memory_tutorial.ipynb          |     3 +-
 examples/caching/materializer_tutorial.ipynb       |    52 +-
 examples/caching/tutorial.ipynb                    |    86 +-
 examples/caching_nodes/caching.ipynb               |    16 +-
 .../caching_graph_adapter/caching_nodes.ipynb      |    30 +-
 .../caching_nodes/diskcache_adapter/notebook.ipynb |    13 +-
 examples/contrib/notebook.ipynb                    |    20 +-
 .../notebooks/dagworks-translate_to_hamilton.ipynb |    15 +-
 .../dagster_code/tutorial/resources/__init__.py    |     5 +-
 examples/dagster/hamilton_code/mock_api.py         |     4 +-
 examples/dagster/hamilton_code/notebook.ipynb      |     6 +-
 .../dask/community_demo/demo_day_notebook.ipynb    |    51 +-
 examples/dask/hello_world/notebook.ipynb           |     4 +-
 examples/data_loaders/data_loaders.ipynb           |    36 +-
 examples/data_quality/pandera/data_loaders.py      |     4 +-
 examples/data_quality/simple/data_loaders.py       |     4 +-
 examples/dbt/python_transforms/data_loader.py      |     4 +-
 .../dbt/python_transforms/feature_transforms.py    |     5 +-
 examples/dbt/python_transforms/model_pipeline.py   |     3 +-
 examples/decoupling_io/adapters.py                 |    19 +-
 examples/decoupling_io/components/feature_data.py  |    12 +-
 examples/decoupling_io/run.py                      |     3 +-
 examples/dlt/dlt_plugin.ipynb                      |    16 +-
 examples/dlt/notebook.ipynb                        |    11 +-
 examples/dlt/slack/__init__.py                     |    25 +-
 examples/dlt/slack/helpers.py                      |     9 +-
 examples/due_date_probabilities/notebook.ipynb     |    69 +-
 examples/due_date_probabilities/probabilities.py   |     3 +-
 .../probability_estimation.py                      |     3 +-
 examples/experiment_management/notebook.ipynb      |    11 +-
 .../feature_repo/retrieval.ipynb                   |    13 +-
 .../scenario_1/offline_loader.py                   |     4 +-
 .../scenario_2/offline_loader.py                   |     4 +-
 .../scenario_2/online_loader.py                    |     6 +-
 .../components/utils.py                            |     5 +-
 .../mpg-translation/MPGSimple.ipynb                |    11 +-
 .../mpg-translation/MPGSimpleAdvancedTarget.ipynb  |     6 +-
 .../mpg-translation/MPGSimpleTarget.ipynb          |     6 +-
 .../mpg-translation/ProceduralMPGNotebook.ipynb    |    10 +-
 examples/hamilton_ui/components/model_fitting.py   |     4 +-
 examples/hamilton_ui/notebook.ipynb                |    17 +-
 examples/hello_world/my_notebook.ipynb             |     8 +-
 .../ibis/feature_engineering/column_dataflow.py    |     3 +-
 .../ibis/feature_engineering/table_dataflow.py     |     3 +-
 examples/ibisml/table_dataflow.py                  |     3 +-
 examples/jupyter_notebook_magic/example.ipynb      |     4 +
 .../hamilton-code/notebooks/interactive.ipynb      |     1 +
 .../src/hamilton_code/data_science.py              |     5 +-
 .../kedro/kedro-code/src/kedro_code/__main__.py    |     9 +-
 .../kedro-code/src/kedro_code/pipeline_registry.py |     4 +-
 .../src/kedro_code/pipelines/data_science/nodes.py |     3 +-
 .../tests/pipelines/data_science/test_pipeline.py  |     1 +
 .../kedro/kedro-plugin/kedro_to_hamilton.ipynb     |    40 +-
 examples/lineage/data_loading.py                   |     5 +-
 examples/lineage/lineage_commands.py               |    12 +-
 examples/lineage/lineage_snippets.ipynb            |    61 +-
 examples/lineage/model_pipeline.py                 |     5 +-
 examples/materialization/custom_materializers.py   |    11 +-
 .../datasaver_dataloader_example/notebook.ipynb    |     6 +-
 examples/materialization/model_training.py         |     3 +-
 examples/materialization/notebook.ipynb            |    77 +-
 examples/mlflow/tutorial.ipynb                     |    20 +-
 .../model_examples/modular_example/notebook.ipynb  |   282 +-
 .../scikit-learn/Hamilton_for_ML_dataflows.ipynb   |    12 +-
 .../scikit-learn/my_train_evaluate_logic.py        |     3 +-
 .../time-series/Hamilton-TimeSeriesmodel.ipynb     |     8 +-
 .../model_examples/time-series/data_loaders.py     |     3 +-
 examples/model_examples/time-series/transforms.py  |     3 +-
 .../abstract_functionality_blueprint/mutate.py     |     4 +-
 .../mutate_on_output.py                            |     6 +-
 .../notebook.ipynb                                 |    40 +-
 .../pipe_output.py                                 |     4 +-
 .../pipe_output_on_output.py                       |     3 +-
 .../abstract_functionality_blueprint/procedural.py |     4 +-
 examples/narwhals/notebook.ipynb                   |     9 +-
 .../air-quality-analysis/hamilton_notebook.ipynb   |    42 +-
 examples/openlineage/notebook.ipynb                |     7 +-
 examples/openlineage/pipeline.py                   |     5 +-
 examples/pandas/materialization/notebook.ipynb     |     3 +-
 .../pandas/split-apply-combine/my_functions.py     |     7 +-
 examples/pandas/split-apply-combine/my_wrapper.py  |     3 +-
 examples/pandas/split-apply-combine/notebook.ipynb |    14 +-
 examples/pandas/with_columns/notebook.ipynb        |    33 +-
 examples/parallelism/file_processing/list_data.py  |     5 +-
 .../parallelism/file_processing/notebook.ipynb     |    43 +-
 examples/parallelism/graceful_running/functions.py |    13 +-
 examples/parallelism/graceful_running/run.py       |     8 +-
 .../lazy_threadpool_execution/notebook.ipynb       |   160 +-
 examples/parallelism/star_counting/functions.py    |     9 +-
 examples/parallelism/star_counting/notebook.ipynb  |    46 +-
 examples/parallelism/star_counting/run.py          |     3 +-
 examples/people_data_labs/notebook.ipynb           |    20 +-
 examples/plotly/model_training.py                  |     3 +-
 examples/plotly/notebook.ipynb                     |    36 +-
 examples/polars/materialization/notebook.ipynb     |     5 +-
 examples/polars/notebook.ipynb                     |     9 +-
 examples/polars/with_columns/notebook.ipynb        |    32 +-
 examples/prefect/hamilton_prefect_notebook.ipynb   |    32 +-
 examples/prefect/prepare_data.py                   |     3 +-
 examples/prefect/train_model.py                    |     9 +-
 examples/ray/hello_world/notebook.ipynb            |    12 +-
 .../hamilton_notebook.ipynb                        |    22 +-
 examples/reusing_functions/main.py                 |     4 +-
 examples/reusing_functions/reusing_functions.ipynb |    29 +-
 examples/reverse_etl/notebook.ipynb                |     9 +-
 .../species_distribution_modeling/grids.py         |    11 +-
 .../hamilton_notebook.ipynb                        |    67 +-
 .../original_script.py                             |     2 +-
 .../postprocessing_results.py                      |     6 +-
 .../species_distribution_modeling/preprocessing.py |     9 +-
 .../transformer/hamilton_notebook.ipynb            |    45 +-
 examples/scikit-learn/transformer/run.py           |     8 +-
 examples/slack/notebook.ipynb                      |     3 +-
 examples/spark/pyspark/dataflow.py                 |     3 +-
 examples/spark/pyspark/notebook.ipynb              |   101 +-
 .../pyspark_feature_catalog/example_usage.ipynb    |    13 +-
 examples/spark/tpc-h/query_1.py                    |     2 +-
 .../world_of_warcraft__pandas.ipynb                |    12 +-
 .../world_of_warcraft__spark_v1.ipynb              |    11 +-
 .../world_of_warcraft__spark_v2.ipynb              |    11 +-
 examples/streamlit/app.py                          |     5 +-
 examples/styling_visualization/data_loading.py     |     5 +-
 examples/styling_visualization/model_pipeline.py   |     5 +-
 examples/vaex/notebook.ipynb                       |     2 +-
 examples/validate_examples.py                      |     5 +-
 .../validation/static_validator/notebook.ipynb     |    24 +-
 examples/validation/static_validator/run.py        |     3 +-
 hamilton/ad_hoc_utils.py                           |     6 +-
 hamilton/async_driver.py                           |    42 +-
 hamilton/base.py                                   |    48 +-
 hamilton/caching/adapter.py                        |   145 +-
 hamilton/caching/cache_key.py                      |     6 +-
 hamilton/caching/fingerprinting.py                 |     3 +-
 hamilton/caching/stores/base.py                    |    17 +-
 hamilton/caching/stores/file.py                    |    10 +-
 hamilton/caching/stores/memory.py                  |    29 +-
 hamilton/caching/stores/sqlite.py                  |    11 +-
 hamilton/cli/__main__.py                           |    19 +-
 hamilton/cli/commands.py                           |     9 +-
 hamilton/cli/logic.py                              |    37 +-
 hamilton/common/__init__.py                        |    11 +-
 hamilton/data_quality/base.py                      |    45 +-
 hamilton/data_quality/default_validators.py        |    53 +-
 hamilton/data_quality/pandera_validators.py        |     6 +-
 hamilton/dataflows/__init__.py                     |    30 +-
 hamilton/dev_utils/deprecation.py                  |    24 +-
 hamilton/driver.py                                 |   212 +-
 hamilton/execution/debugging_utils.py              |     5 +-
 hamilton/execution/executors.py                    |     7 +-
 hamilton/execution/graph_functions.py              |    28 +-
 hamilton/execution/grouping.py                     |    60 +-
 hamilton/execution/state.py                        |    64 +-
 .../experimental/decorators/parameterize_frame.py  |     5 +-
 hamilton/experimental/h_cache.py                   |    15 +-
 hamilton/experimental/h_databackends.py            |     3 +-
 hamilton/function_modifiers/adapters.py            |    53 +-
 hamilton/function_modifiers/base.py                |    59 +-
 hamilton/function_modifiers/configuration.py       |    29 +-
 hamilton/function_modifiers/delayed.py             |    11 +-
 hamilton/function_modifiers/dependencies.py        |    17 +-
 hamilton/function_modifiers/expanders.py           |    61 +-
 hamilton/function_modifiers/macros.py              |    82 +-
 hamilton/function_modifiers/metadata.py            |    19 +-
 hamilton/function_modifiers/recursive.py           |    91 +-
 hamilton/function_modifiers/validation.py          |    40 +-
 hamilton/graph.py                                  |    99 +-
 hamilton/graph_types.py                            |    28 +-
 hamilton/graph_utils.py                            |     4 +-
 hamilton/htypes.py                                 |    27 +-
 hamilton/io/data_adapters.py                       |    19 +-
 hamilton/io/default_data_loaders.py                |    45 +-
 hamilton/io/materialization.py                     |    44 +-
 hamilton/io/utils.py                               |    10 +-
 hamilton/lifecycle/api.py                          |   153 +-
 hamilton/lifecycle/base.py                         |   148 +-
 hamilton/lifecycle/default.py                      |   145 +-
 hamilton/models.py                                 |     6 +-
 hamilton/node.py                                   |    42 +-
 hamilton/plugins/dlt_extensions.py                 |    21 +-
 hamilton/plugins/h_dask.py                         |    12 +-
 hamilton/plugins/h_ddog.py                         |    50 +-
 hamilton/plugins/h_diskcache.py                    |    16 +-
 hamilton/plugins/h_experiments/data_model.py       |     4 +-
 hamilton/plugins/h_experiments/hook.py             |     8 +-
 hamilton/plugins/h_experiments/server.py           |     9 +-
 hamilton/plugins/h_kedro.py                        |    20 +-
 hamilton/plugins/h_logging.py                      |    63 +-
 hamilton/plugins/h_mlflow.py                       |    32 +-
 hamilton/plugins/h_narwhals.py                     |    12 +-
 hamilton/plugins/h_openlineage.py                  |    28 +-
 hamilton/plugins/h_opentelemetry.py                |    23 +-
 hamilton/plugins/h_pandas.py                       |    21 +-
 hamilton/plugins/h_pandera.py                      |     3 +-
 hamilton/plugins/h_polars.py                       |    27 +-
 hamilton/plugins/h_polars_lazyframe.py             |    27 +-
 hamilton/plugins/h_pyarrow.py                      |     4 +-
 hamilton/plugins/h_pydantic.py                     |     3 +-
 hamilton/plugins/h_ray.py                          |    16 +-
 hamilton/plugins/h_rich.py                         |    11 +-
 hamilton/plugins/h_schema.py                       |    21 +-
 hamilton/plugins/h_slack.py                        |    14 +-
 hamilton/plugins/h_spark.py                        |   120 +-
 hamilton/plugins/h_threadpool.py                   |     9 +-
 hamilton/plugins/h_tqdm.py                         |    15 +-
 hamilton/plugins/h_vaex.py                         |    12 +-
 hamilton/plugins/huggingface_extensions.py         |    66 +-
 hamilton/plugins/ibis_extensions.py                |     4 +-
 hamilton/plugins/jupyter_magic.py                  |    14 +-
 hamilton/plugins/kedro_extensions.py               |    13 +-
 hamilton/plugins/lightgbm_extensions.py            |    19 +-
 hamilton/plugins/matplotlib_extensions.py          |    35 +-
 hamilton/plugins/mlflow_extensions.py              |    41 +-
 hamilton/plugins/numpy_extensions.py               |    41 +-
 hamilton/plugins/pandas_extensions.py              |   707 +-
 hamilton/plugins/plotly_extensions.py              |    39 +-
 hamilton/plugins/polars_extensions.py              |     4 +-
 hamilton/plugins/polars_lazyframe_extensions.py    |    52 +-
 hamilton/plugins/polars_post_1_0_0_extensions.py   |   211 +-
 hamilton/plugins/polars_pre_1_0_0_extension.py     |   195 +-
 hamilton/plugins/pydantic_extensions.py            |     6 +-
 hamilton/plugins/sklearn_plot_extensions.py        |    19 +-
 hamilton/plugins/spark_extensions.py               |    11 +-
 hamilton/plugins/xgboost_extensions.py             |    15 +-
 hamilton/plugins/yaml_extensions.py                |    15 +-
 hamilton/registry.py                               |    32 +-
 hamilton/telemetry.py                              |    17 +-
 plugin_tests/h_dask/test_h_dask.py                 |    12 +-
 plugin_tests/h_ray/conftest.py                     |    13 +
 plugin_tests/h_spark/test_h_schema.py              |     2 +-
 plugin_tests/h_spark/test_h_spark.py               |    17 +-
 pyproject.toml                                     |    81 +-
 scripts/add_license_headers.py                     |    11 +-
 scripts/apache_release_helper.py                   |   430 +-
 scripts/check_license_headers.py                   |     3 +-
 scripts/promote_rc.sh                              |   107 +
 tests/caching/metadata_store/test_base.py          |     3 +-
 tests/caching/result_store/test_file.py            |     2 +-
 tests/caching/test_fingerprinting.py               |     4 +-
 tests/caching/test_integration.py                  |    15 +-
 tests/caching/test_result_store.py                 |    21 +-
 tests/execution/test_executors.py                  |     2 +-
 tests/execution/test_graph_functions.py            |    10 +-
 tests/function_modifiers/test_adapters.py          |    53 +-
 tests/function_modifiers/test_base.py              |    12 +-
 tests/function_modifiers/test_combined.py          |     8 +-
 tests/function_modifiers/test_delayed.py           |    19 +-
 tests/function_modifiers/test_dependencies.py      |     8 +-
 tests/function_modifiers/test_expanders.py         |   136 +-
 tests/function_modifiers/test_macros.py            |    13 +-
 tests/function_modifiers/test_metadata.py          |     2 +-
 tests/function_modifiers/test_recursive.py         |    43 +-
 tests/function_modifiers/test_validation.py        |   101 +
 tests/io/test_data_adapters.py                     |    23 +-
 tests/io/test_materialization.py                   |    27 +-
 tests/lifecycle/lifecycle_adapters_for_testing.py  |    73 +-
 .../test_lifecycle_adapters_end_to_end.py          |    53 +-
 ...est_lifecycle_adapters_end_to_end_task_based.py |    58 +-
 tests/lifecycle/test_lifecycle_base.py             |    36 +-
 tests/nodes.py                                     |    20 +-
 tests/plugins/test_lightgbm_extensions.py          |     5 +-
 tests/plugins/test_logging.py                      |     2 +-
 tests/plugins/test_matplotlib_extensions.py        |     2 +
 tests/plugins/test_mlflow_extension.py             |     5 +-
 tests/plugins/test_pandas_extensions.py            |     3 +-
 tests/plugins/test_polars_extensions.py            |     2 +-
 tests/plugins/test_pydantic_extensions.py          |    22 +-
 tests/plugins/test_sklearn_plot_extensions.py      |    13 +-
 tests/plugins/test_yaml_extension.py               |    15 +-
 tests/resources/async_dq_module.py                 |    84 +
 tests/resources/compatible_input_types.py          |     4 +-
 tests/resources/dq_dummy_examples.py               |    66 +-
 tests/resources/functions_with_generics.py         |     8 +-
 tests/resources/graceful_parallel.py               |     7 +-
 tests/resources/incompatible_input_types.py        |     6 +-
 tests/resources/optional_dependencies.py           |     4 +-
 tests/resources/simple_async_module.py             |     3 +-
 tests/resources/smoke_screen_module.py             |    14 +-
 .../spark/spark_dag_mixed_pyspark_pandas_udfs.py   |     4 +-
 tests/resources/spark/spark_dag_pyspark_udfs.py    |     4 +-
 tests/resources/typing_vs_not_typing.py            |     6 +-
 tests/test_async_driver.py                         |    26 +-
 tests/test_base.py                                 |    24 +-
 tests/test_common.py                               |     2 +-
 tests/test_default_data_quality.py                 |    10 +-
 tests/test_dev_utils.py                            |     5 +-
 tests/test_end_to_end.py                           |   217 +-
 tests/test_graph.py                                |   166 +-
 tests/test_hamilton_driver.py                      |   128 +-
 tests/test_node.py                                 |    14 +-
 tests/test_parallel_graceful.py                    |     2 +-
 tests/test_telemetry.py                            |    12 +-
 tests/test_type_utils.py                           |   103 +-
 ui/BUILD.md                                        |   286 +
 ui/DOCKER_RELEASE.md                               |   338 +
 ui/UPGRADE.md                                      |   296 +
 ui/admin.py                                        |    62 +-
 DISCLAIMER => ui/backend/DISCLAIMER                |     0
 ui/backend/Dockerfile.backend                      |    39 +-
 ui/backend/Dockerfile.backend-prod                 |    31 +-
 LICENSE => ui/backend/LICENSE                      |     0
 ui/backend/MANIFEST.in                             |     4 -
 NOTICE => ui/backend/NOTICE                        |     0
 ui/backend/pyproject.toml                          |    90 +
 ui/backend/server/commands.py                      |     3 +-
 ui/backend/server/common/django_utils.py           |     2 +-
 ui/backend/server/entrypoint.sh                    |     5 +-
 ui/backend/server/requirements.txt                 |    54 -
 ui/backend/server/server/settings.py               |    19 +-
 ui/backend/server/server/urls.py                   |    43 +-
 .../tests/test_db_methods/test_permissions.py      |    19 +-
 ui/backend/server/tests/test_db_methods/utils.py   |     7 +-
 .../server/tests/test_lifecycle/test_projects.py   |     4 +-
 .../tests/test_lifecycle/test_run_tracking.py      |     3 +-
 .../server/tests/test_lifecycle/test_templates.py  |     5 +-
 ui/backend/server/trackingserver_auth/api.py       |     5 +-
 ui/backend/server/trackingserver_auth/schema.py    |     3 +-
 ui/backend/server/trackingserver_base/api.py       |     1 +
 ui/backend/server/trackingserver_base/apps.py      |     9 +-
 .../server/trackingserver_base/auth/api_keys.py    |     3 +-
 .../server/trackingserver_base/auth/local.py       |     5 +-
 ui/backend/server/trackingserver_base/auth/sync.py |     5 +-
 .../server/trackingserver_base/auth/testing.py     |     3 +-
 .../server/trackingserver_base/blob_storage.py     |     7 +-
 .../server/trackingserver_base/permissions/base.py |     8 +-
 .../trackingserver_base/permissions/permissions.py |    18 +-
 .../trackingserver_base/shared_types/attributes.py |    36 +-
 ui/backend/server/trackingserver_projects/api.py   |    25 +-
 .../server/trackingserver_projects/schema.py       |    45 +-
 .../server/trackingserver_run_tracking/api.py      |    16 +-
 .../server/trackingserver_run_tracking/schema.py   |    24 +-
 ui/backend/server/trackingserver_template/api.py   |    13 +-
 .../server/trackingserver_template/schema.py       |    21 +-
 ui/backend/setup.py                                |    72 -
 .../backend/tests}/__init__.py                     |     2 +-
 ui/backend/tests/test_build.py                     |   251 +
 ui/backend/uv.lock                                 |  1840 ++
 ui/backup_hamilton_data.sh                         |   125 +
 ui/buildx_and_push.sh                              |   244 +-
 ui/docker-compose-prod.yml                         |     8 +-
 ui/docker-compose.yml                              |     8 +-
 ui/frontend/.env.local                             |    10 +-
 ui/frontend/.prettierrc.json                       |     8 +
 ui/frontend/Dockerfile.frontend                    |    12 +-
 ui/frontend/Dockerfile.frontend-prod               |     9 +
 ui/frontend/eslint.config.mjs                      |    55 +
 ui/frontend/{public => }/index.html                |    30 +-
 ui/frontend/package-lock.json                      | 25505 ++++++-------------
 ui/frontend/package.json                           |    66 +-
 .../{src/react-app-env.d.ts => postcss.config.js}  |     7 +-
 ui/frontend/src/App.tsx                            |    74 +-
 ui/frontend/src/auth/LocalAccount.tsx              |    20 +-
 ui/frontend/src/auth/Login.tsx                     |    29 +-
 ui/frontend/src/components/common/CommonLinks.tsx  |     4 +-
 ui/frontend/src/components/common/Datetime.tsx     |    25 +-
 ui/frontend/src/components/common/Dropdown.tsx     |    35 +-
 .../src/components/common/GenericTabbedView.tsx    |    13 +-
 ui/frontend/src/components/common/GenericTable.tsx |    27 +-
 ui/frontend/src/components/common/HelpTooltip.tsx  |     4 +-
 .../components/common/ProjectVersionSelector.tsx   |    16 +-
 ui/frontend/src/components/common/TagSelector.tsx  |    31 +-
 ui/frontend/src/components/common/Tooltip.tsx      |     7 +-
 .../src/components/dashboard/Account/Account.tsx   |    10 +-
 ui/frontend/src/components/dashboard/Alerts.tsx    |    11 +-
 .../components/dashboard/Catalog/CatalogOutlet.tsx |     9 +-
 .../dashboard/Catalog/NodeRunExpansion.tsx         |    42 +-
 .../components/dashboard/Catalog/SearchTable.tsx   |    39 +-
 ui/frontend/src/components/dashboard/Code/Code.tsx |    38 +-
 .../src/components/dashboard/Code/CodeExplorer.tsx |    15 +-
 .../src/components/dashboard/Code/Function.tsx     |    56 +-
 ui/frontend/src/components/dashboard/Dashboard.tsx |    64 +-
 .../src/components/dashboard/NavBreadCrumb.tsx     |    32 +-
 .../src/components/dashboard/Project/Project.tsx   |    20 +-
 .../dashboard/Project/ProjectDocumentation.tsx     |    23 +-
 .../dashboard/Project/ProjectLogInstructions.tsx   |    39 +-
 .../src/components/dashboard/Project/Projects.tsx  |   185 +-
 .../src/components/dashboard/Runs/Dashboarding.tsx |     8 +-
 .../src/components/dashboard/Runs/Run/Run.tsx      |   172 +-
 .../components/dashboard/Runs/Run/TaskTable.tsx    |   127 +-
 .../dashboard/Runs/Run/WaterfallChart.tsx          |    57 +-
 .../src/components/dashboard/Runs/RunSummary.tsx   |    99 +-
 ui/frontend/src/components/dashboard/Runs/Runs.tsx |     6 +-
 .../src/components/dashboard/Runs/RunsTable.tsx    |   116 +-
 .../src/components/dashboard/Runs/Status.tsx       |     4 +-
 .../components/dashboard/Runs/Task/CodeView.tsx    |    15 +-
 .../components/dashboard/Runs/Task/ErrorView.tsx   |    18 +-
 .../src/components/dashboard/Runs/Task/Task.tsx    |   191 +-
 .../dashboard/Runs/Task/TaskRunOutlet.tsx          |     8 +-
 .../Task/result-summaries/DAGWorksDescribe.tsx     |   128 +-
 .../Task/result-summaries/DataObservability.tsx    |    70 +-
 .../Runs/Task/result-summaries/HTMLView.tsx        |    45 +-
 .../Runs/Task/result-summaries/PandasDescribe.tsx  |    68 +-
 .../Runs/Task/result-summaries/SchemaView.tsx      |     4 +-
 .../src/components/dashboard/Search/search.tsx     |    52 +-
 .../src/components/dashboard/Search/searchables.ts |    12 +-
 .../src/components/dashboard/Settings/ApiKeys.tsx  |    24 +-
 .../src/components/dashboard/Versions/Versions.tsx |    64 +-
 .../src/components/dashboard/Visualize/DAGRun.tsx  |    20 +-
 .../src/components/dashboard/Visualize/DAGViz.tsx  |   366 +-
 .../dashboard/Visualize/NodeHierarchyManager.tsx   |    42 +-
 .../components/dashboard/Visualize/VizConsole.tsx  |   205 +-
 .../src/components/dashboard/Visualize/layout.ts   |     8 +-
 .../src/components/dashboard/Visualize/utils.ts    |    19 +-
 ui/frontend/src/components/dashboard/Welcome.tsx   |    69 +-
 ui/frontend/src/components/dashboard/nav.ts        |    16 +-
 ui/frontend/src/index.tsx                          |    21 +-
 ui/frontend/src/reportWebVitals.ts                 |    16 +-
 ui/frontend/src/state/api/backendApiRaw.ts         |    17 +-
 ui/frontend/src/state/api/emptyApi.ts              |    19 +-
 ui/frontend/src/state/api/friendlyApi.ts           |    54 +-
 ui/frontend/src/state/authSlice.ts                 |    15 +-
 ui/frontend/src/state/hooks.ts                     |     9 +-
 ui/frontend/src/state/projectSlice.ts              |    10 +-
 ui/frontend/src/state/store.ts                     |    15 +-
 ui/frontend/src/state/urlState.tsx                 |     4 +-
 ui/frontend/src/utils.ts                           |    46 +-
 ui/frontend/src/utils/codeExtraction.ts            |     8 +-
 ui/frontend/src/utils/dagUtils.ts                  |    27 +-
 ui/frontend/src/utils/localStorage.ts              |     2 +-
 ui/frontend/tsconfig.json                          |    41 +-
 ui/frontend/tsconfig.node.json                     |    11 +
 ui/frontend/vite.config.ts                         |    58 +
 ui/restore_hamilton_data.sh                        |   195 +
 ui/sdk/.pre-commit-config.yaml                     |     4 +-
 DISCLAIMER => ui/sdk/DISCLAIMER                    |     0
 LICENSE => ui/sdk/LICENSE                          |     0
 NOTICE => ui/sdk/NOTICE                            |     0
 ui/sdk/pyproject.toml                              |   110 +-
 ui/sdk/requirements-test.txt                       |     4 +-
 ui/sdk/requirements.txt                            |     2 +-
 ui/sdk/ruff.toml                                   |     2 +-
 ui/sdk/setup.py                                    |    25 -
 ui/sdk/src/hamilton_sdk/adapters.py                |    41 +-
 ui/sdk/src/hamilton_sdk/api/clients.py             |    67 +-
 ui/sdk/src/hamilton_sdk/cli/initialize.py          |     4 +-
 .../machine_learning/components/model_fitting.py   |     4 +-
 .../components/_run.py                             |     3 +-
 ui/sdk/src/hamilton_sdk/driver.py                  |    65 +-
 .../src/hamilton_sdk/tracking/data_observation.py  |    10 +-
 .../src/hamilton_sdk/tracking/dataframe_stats.py   |    12 +-
 .../src/hamilton_sdk/tracking/example_tracking.py  |    10 +-
 ui/sdk/src/hamilton_sdk/tracking/ibis_stats.py     |     6 +-
 .../src/hamilton_sdk/tracking/langchain_stats.py   |     6 +-
 ui/sdk/src/hamilton_sdk/tracking/numpy_stats.py    |     6 +-
 .../src/hamilton_sdk/tracking/pandas_col_stats.py  |    43 +-
 ui/sdk/src/hamilton_sdk/tracking/pandas_stats.py   |    10 +-
 .../src/hamilton_sdk/tracking/polars_col_stats.py  |    42 +-
 ui/sdk/src/hamilton_sdk/tracking/polars_stats.py   |    10 +-
 ui/sdk/src/hamilton_sdk/tracking/pydantic_stats.py |     4 +-
 ui/sdk/src/hamilton_sdk/tracking/pyspark_stats.py  |     6 +-
 ui/sdk/src/hamilton_sdk/tracking/runs.py           |    13 +-
 .../hamilton_sdk/tracking/scikit_learn_stats.py    |     3 +-
 ui/sdk/src/hamilton_sdk/tracking/trackingtypes.py  |     8 +-
 ui/sdk/src/hamilton_sdk/tracking/utils.py          |     4 +-
 ui/sdk/tests/resources/parallel_dag.py             |     5 +-
 ui/sdk/tests/resources/parallel_dag_error.py       |     5 +-
 ui/sdk/tests/test_adapters.py                      |     6 +-
 ui/sdk/tests/test_tracking.py                      |    19 +-
 ui/sdk/tests/tracking/test_dataframe_stats.py      |     1 -
 ui/sdk/tests/tracking/test_pandas_col_stats.py     |     3 +-
 ui/sdk/tests/tracking/test_pandas_stats.py         |     6 +-
 ui/sdk/tests/tracking/test_runs.py                 |     4 +-
 ui/sdk/tests/tracking/test_stats.py                |     2 +-
 ui/sdk/tests/tracking/test_utils.py                |    15 +-
 ui/start_mini_mode.sh                              |    88 +
 ui/test_tracking_simple.py                         |   274 +
 ui/upgrade_postgres.sh                             |   145 +
 ui/upgrade_postgres_simple.sh                      |   250 +
 writeups/data_quality.md                           |    79 +
 580 files changed, 38478 insertions(+), 31560 deletions(-)
 create mode 100644 .claude-plugin/CHANGELOG.md
 create mode 100644 .claude-plugin/README.md
 create mode 100644 .claude-plugin/plugin.json
 create mode 100644 .claude-plugin/skills/core/SKILL.md
 create mode 100644 .claude-plugin/skills/hamilton-dev-workflow/SKILL.md
 create mode 100644 .claude-plugin/skills/integrations/SKILL.md
 create mode 100644 .claude-plugin/skills/llm/SKILL.md
 create mode 100644 .claude-plugin/skills/observability/SKILL.md
 create mode 100644 .claude-plugin/skills/scale/SKILL.md
 copy DISCLAIMER => contrib/DISCLAIMER (100%)
 create mode 100644 contrib/NOTICE
 create mode 100644 contrib/pyproject.toml
 delete mode 100644 contrib/setup.cfg
 delete mode 100644 contrib/setup.py
 copy DISCLAIMER => dev_tools/language_server/DISCLAIMER (100%)
 copy LICENSE => dev_tools/language_server/LICENSE (100%)
 copy NOTICE => dev_tools/language_server/NOTICE (100%)
 create mode 100644 docs/_static/hamilton-incubator-logo.png
 create mode 100644 docs/_static/hamilton-incubator-logo.svg
 create mode 100644 docs/asf/downloads.rst
 create mode 100644 docs/ecosystem/claude-code-plugin.md
 create mode 100644 scripts/promote_rc.sh
 create mode 100644 tests/resources/async_dq_module.py
 create mode 100644 ui/BUILD.md
 create mode 100644 ui/DOCKER_RELEASE.md
 create mode 100644 ui/UPGRADE.md
 copy DISCLAIMER => ui/backend/DISCLAIMER (100%)
 copy LICENSE => ui/backend/LICENSE (100%)
 delete mode 100644 ui/backend/MANIFEST.in
 copy NOTICE => ui/backend/NOTICE (100%)
 create mode 100644 ui/backend/pyproject.toml
 delete mode 100644 ui/backend/server/requirements.txt
 delete mode 100644 ui/backend/setup.py
 copy {contrib/hamilton/contrib/user/example_dataflow_template => 
ui/backend/tests}/__init__.py (91%)
 create mode 100644 ui/backend/tests/test_build.py
 create mode 100644 ui/backend/uv.lock
 create mode 100755 ui/backup_hamilton_data.sh
 create mode 100644 ui/frontend/eslint.config.mjs
 copy ui/frontend/{public => }/index.html (61%)
 copy ui/frontend/{src/react-app-env.d.ts => postcss.config.js} (90%)
 create mode 100644 ui/frontend/tsconfig.node.json
 create mode 100644 ui/frontend/vite.config.ts
 create mode 100755 ui/restore_hamilton_data.sh
 copy DISCLAIMER => ui/sdk/DISCLAIMER (100%)
 copy LICENSE => ui/sdk/LICENSE (100%)
 copy NOTICE => ui/sdk/NOTICE (100%)
 delete mode 100644 ui/sdk/setup.py
 create mode 100755 ui/start_mini_mode.sh
 create mode 100644 ui/test_tracking_simple.py
 create mode 100755 ui/upgrade_postgres.sh
 create mode 100755 ui/upgrade_postgres_simple.sh


Reply via email to