Set up Cursor Cloud dev environment for jupyddl#147
Merged
Conversation
Co-authored-by: Erwin L. <guilyx@users.noreply.github.com>
Contributor
|
Tick the box to add this pull request to the merge queue (same as
|
…ll against runner Python) Co-authored-by: Erwin L. <guilyx@users.noreply.github.com>
Co-authored-by: Erwin L. <guilyx@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
Sets up a working development environment for
jupyddl(a Python wrapper over the JuliaPDDL.jlparser viapyjulia/PyCall.jl), documents it for future cloud agents, and repairs the broken GitHub Actions CI.Dev environment (captured in the VM snapshot)
/opt, documented tested version) + Julia packagesPyCall.jl(built against the venv Python) and theAPLA-Toolbox/PDDL.jlfork.pyjuliacan embed Julia; staticuv/standalone Pythons break the bridge) in.venvwithjulia,coloredlogs,matplotlib,pytest,pytest-cov,flake8.python3.8-tk(the code picks theTkAggbackend when a display is present) and initialized thepddl-examplessubmodule.Update script (registered)
CI fix
The
buildandtestsworkflows failed atactions/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 currentubuntu-latest(24.04) runner.${{ matrix.python-version }}and pin Python 3.8 (newest interpreter whose resolved deps keep NumPy at 1.x;matplotlib==3.5.1breaks on NumPy 2.x, which is pulled in on Python ≥3.9).macos-latestleg: 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.python -c "import julia; julia.install()"before addingPDDL.jl(with a correctedurl=PackageSpec); check out submodules viaactions/checkout@v4; modernize action versions to avoid deprecated-Node failures.All three previously-failing checks are green:
build (ubuntu-latest, 3.8)(both workflows) andtest (ubuntu-latest, 3.8).Testing
pddl-examples/dinnerand ran BFS, A* (h_add / critical_path), and Greedy planners — all return planop2(A, A, C).scripts/ipc.pyproduced a full 8-heuristic A* metrics report.flake8gate is 0 andpytest --cov=./→ 77 passed. Python 3.10 was rejected (NumPy 2.x ABI break), confirming the 3.8 pin.Notes
AGENTS.mddocuments the non-obvious bits: the dynamically-linked-Python requirement for the Julia bridge, how to rebuildPyCallif the venv path changes, theDISPLAY-dependentDataAnalysttest behavior (all 77 pass headless; 19 fail only whenDISPLAYis set, due to a pre-existing unsorted-os.walkdomain/problem swap), and the CI Python pinning rationale.