Skip to content

Set up Cursor Cloud dev environment for jupyddl#147

Merged
guilyx merged 3 commits into
mainfrom
cursor/setup-dev-environment-1f2e
Jul 1, 2026
Merged

Set up Cursor Cloud dev environment for jupyddl#147
guilyx merged 3 commits into
mainfrom
cursor/setup-dev-environment-1f2e

Conversation

@guilyx

@guilyx guilyx commented Jul 1, 2026

Copy link
Copy Markdown
Member

Summary

Sets up a working development environment for jupyddl (a Python wrapper over the Julia PDDL.jl parser via pyjulia/PyCall.jl), documents it for future cloud agents, and repairs the broken GitHub Actions CI.

Dev environment (captured in the VM snapshot)

  • Julia 1.5.2 (/opt, documented tested version) + Julia packages PyCall.jl (built against the venv Python) and the APLA-Toolbox/PDDL.jl fork.
  • Python 3.8 (deadsnakes, dynamically linked — required so pyjulia can embed Julia; static uv/standalone Pythons break the bridge) in .venv with julia, coloredlogs, matplotlib, pytest, pytest-cov, flake8.
  • python3.8-tk (the code picks the TkAgg backend when a display is present) and initialized the pddl-examples submodule.

Update script (registered)

git submodule update --init
test -d .venv || "$HOME/.local/bin/uv" venv --python /usr/bin/python3.8 .venv
"$HOME/.local/bin/uv" pip install --python .venv/bin/python -r requirements.txt pytest pytest-cov flake8

CI fix

The build and tests workflows failed at actions/setup-python@v3: Version 3.7 with arch x64 not found. The step hardcoded Python 3.7 (ignoring the matrix), and 3.7 has no build for the current ubuntu-latest (24.04) runner.

  • Use ${{ matrix.python-version }} and pin Python 3.8 (newest interpreter whose resolved deps keep NumPy at 1.x; matplotlib==3.5.1 breaks on NumPy 2.x, which is pulled in on Python ≥3.9).
  • Drop the macos-latest leg: it is now arm64, which has no Julia 1.5.2 build and no EOL-Python build, so the pinned toolchain can't run there.
  • Build PyCall against the runner's Python via python -c "import julia; julia.install()" before adding PDDL.jl (with a corrected url= PackageSpec); check out submodules via actions/checkout@v4; modernize action versions to avoid deprecated-Node failures.

All three previously-failing checks are green: build (ubuntu-latest, 3.8) (both workflows) and test (ubuntu-latest, 3.8).

Testing

  • Hello-world: parsed pddl-examples/dinner and ran BFS, A* (h_add / critical_path), and Greedy planners — all return plan op2(A, A, C).
  • CLI: scripts/ipc.py produced a full 8-heuristic A* metrics report.
  • Reproduced the CI pipeline locally (isolated Julia depot, headless): on Python 3.8 flake8 gate is 0 and pytest --cov=./ → 77 passed. Python 3.10 was rejected (NumPy 2.x ABI break), confirming the 3.8 pin.
  • Verified the fixed workflows pass on GitHub Actions.

Notes

AGENTS.md documents the non-obvious bits: the dynamically-linked-Python requirement for the Julia bridge, how to rebuild PyCall if the venv path changes, the DISPLAY-dependent DataAnalyst test behavior (all 77 pass headless; 19 fail only when DISPLAY is set, due to a pre-existing unsorted-os.walk domain/problem swap), and the CI Python pinning rationale.

Open in Web Open in Cursor 

Co-authored-by: Erwin L. <guilyx@users.noreply.github.com>
@guilyx guilyx marked this pull request as ready for review July 1, 2026 20:01
@mergify

mergify Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

cursor[bot]
cursor Bot approved these changes Jul 1, 2026
cursoragent and others added 2 commits July 1, 2026 20:12
…ll against runner Python)

Co-authored-by: Erwin L. <guilyx@users.noreply.github.com>
Co-authored-by: Erwin L. <guilyx@users.noreply.github.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Risk: medium. Approved CI workflow modernization and AGENTS.md documentation; Cursor Bugbot was not present on this PR. No reviewers assigned.

Open in Web View Automation 

Sent by Cursor Approval Agent: Pull Request Router and Approver

@guilyx guilyx merged commit f18b4fc into main Jul 1, 2026
7 checks passed
@mergify mergify Bot deleted the cursor/setup-dev-environment-1f2e branch July 1, 2026 20:42
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.

2 participants