carloea2 opened a new pull request, #8322: URL: https://github.com/apache/texera/pull/8322
### What changes were proposed in this PR? Add the `py2udf` Python package and its source-forest foundation. The parser builds a source-exact forest and an analysis inventory from one AST parse, preserving statement structure, source spans, parameters, imports, calls, and name access without executing user code. The package is wired into the existing Python 3.12 CI stack with focused Ruff and pytest steps. ### Any related issues, documentation, discussions? Related to #8319 and discussion #8160. ### How was this PR tested? ```powershell python -m pytest py2udf/src/test/python/python_to_workflow/mosaic/test_forest.py -q python -m ruff check py2udf/src/main/python/python_to_workflow/mosaic/forest.py py2udf/src/main/python/python_to_workflow/mosaic/source.py py2udf/src/test/python/python_to_workflow/mosaic/test_forest.py python -m ruff format --check py2udf/src/main/python/python_to_workflow/mosaic/forest.py py2udf/src/main/python/python_to_workflow/mosaic/source.py py2udf/src/test/python/python_to_workflow/mosaic/test_forest.py ``` Result: 13 tests passed; Ruff checks passed. The tests cover source reconstruction, nested statements, imports, calls, names, invalid Python, and parse reuse. ### Was this PR authored or co-authored using generative AI tooling? Generated-by: OpenAI Codex (GPT-5) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
