diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 604489d..2a524a1 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -3,6 +3,7 @@ name: Documentation on: push: branches: [main] + tags: ["*"] pull_request: branches: [main] @@ -14,18 +15,18 @@ jobs: name: Build Docs runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - - uses: julia-actions/setup-julia@v2 + - uses: julia-actions/setup-julia@v3 with: version: "1.12" - - uses: julia-actions/cache@v2 + - uses: julia-actions/cache@v3 - - name: Install Julia dependencies - run: julia --project=docs/ -e 'using Pkg; Pkg.develop(PackageSpec(path=pwd())); Pkg.instantiate()' + - uses: julia-actions/julia-buildpkg@v1 - - name: Build docs - run: julia --project=docs/ docs/make.jl + - uses: julia-actions/julia-docdeploy@v1 env: + GKSwstype: nul GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} diff --git a/.github/workflows/tagbot.yml b/.github/workflows/tagbot.yml index 011b37e..3a1c258 100644 --- a/.github/workflows/tagbot.yml +++ b/.github/workflows/tagbot.yml @@ -23,3 +23,4 @@ jobs: - uses: JuliaRegistries/TagBot@v1 with: token: ${{ secrets.GITHUB_TOKEN }} + ssh: ${{ secrets.DOCUMENTER_KEY }} diff --git a/CHANGELOG.md b/CHANGELOG.md index a21afdb..13161a5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Improved type stability across TMSV, SPDC, ZALM, SIGSAG, and tools modules by giving explicit return types to +### Fixed + +- The Python wrapper failed to import with recent juliacall releases: `juliacall.Pkg` was removed after 0.9.31 (now activated via Julia's own `Pkg`), and newer juliacall/PythonCall versions force Julia ≤ 1.11, incompatible with Genqo's Julia 1.12 requirement (juliacall is now pinned to 0.9.31). + ## [1.2.0] - 2026-04-30 ### Added diff --git a/docs/make.jl b/docs/make.jl index f184c51..52fc77b 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -22,3 +22,8 @@ makedocs( checkdocs = :exports, plugins=[bib], ) + +deploydocs( + repo = "github.com/QuantumSavory/Genqo.jl.git", + push_preview = true, +) diff --git a/python/genqo/__init__.py b/python/genqo/__init__.py index d0b8524..e08e420 100644 --- a/python/genqo/__init__.py +++ b/python/genqo/__init__.py @@ -1,7 +1,7 @@ from juliacall import Main as jl -from juliacall import Pkg as jlPkg -jlPkg.activate(".") +jl.seval("import Pkg") +jl.Pkg.activate(".") jl.seval("using Genqo") from .genqo import GenqoBase, TMSV, SPDC, ZALM, SIGSAG, k_function_matrix diff --git a/python/pyproject.toml b/python/pyproject.toml index 8ea570b..1f694ce 100644 --- a/python/pyproject.toml +++ b/python/pyproject.toml @@ -27,7 +27,10 @@ classifiers = [ ] dependencies = [ - "juliacall>=0.9.31", + # juliacall is pinned because it pins PythonCall to its own version, and PythonCall + # releases after 0.9.31 declare compat with Julia <= 1.11 only, while Genqo.jl + # requires Julia 1.12 + "juliacall==0.9.31", "attrs>=25.4.0", "numpy>=2.3.0", ]