Skip to content

Accept pathlib results from Python actions - #498

Open
jihtsan wants to merge 1 commit into
pydoit:masterfrom
jihtsan:codex/195-path-action-result
Open

jihtsan wants to merge 1 commit into
pydoit:masterfrom
jihtsan:codex/195-path-action-result

Conversation

@jihtsan

@jihtsan jihtsan commented Oct 26, 2026

Copy link
Copy Markdown

A Python action such as shutil.copy(Path(source), Path(destination)) performs the copy but returns a Path, which doit currently reports as a TaskError. Accept pathlib PurePath/Path results as successful string results, keeping the result JSON-storable for dependency tracking. Existing strings, dictionaries, booleans and unsupported-object behavior remain unchanged. Update the action-result and pathlib documentation and changelog.

Tests cover Path/PurePath results and a real shutil.copy. An actual dodo.py copies the file successfully, saves the dependency database and is up-to-date on the next run.

Validation on macOS arm64 / Python3.13.12: full CI entrypoint rut0.4.0 -vv:833passed; projectpyflakes, codestyle and git diff --check passed. The three new success checks fail against unchanged code. One long diagnostic string was split after the full run to satisfy codestyle, preserving the exact message. Other Python versions, Linux/Windows and hostedCI were not run locally.

Closes #195. AI assistance: OpenAI Codex inspected source/Issue/policies, implemented and tested the fix, and performed Standards/Spec review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Accept action returned value of type pathlib.*Path as success

1 participant