From 302420ff3db15ab0fce44b45d426d3374b3c9a9e Mon Sep 17 00:00:00 2001 From: Matthew Burke Date: Thu, 11 Sep 2025 14:01:45 +0100 Subject: [PATCH 01/17] Deploy docs on release --- .github/workflows/docs.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 3060d1599..04a7bcbbc 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -1,4 +1,6 @@ on: + release: + types: [created] workflow_dispatch: jobs: From 7297055e27b51c159c3e22bd9d3a661cbd86ba3d Mon Sep 17 00:00:00 2001 From: Matthew Burke Date: Thu, 11 Sep 2025 14:03:11 +0100 Subject: [PATCH 02/17] Check examples and docs on PR --- .github/workflows/ci.yml | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 77e81fa55..df6efc1a5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,18 +11,17 @@ env: UV_VERSION: "0.6.6" jobs: - lint: name: Lint runs-on: ubuntu-24.04 strategy: matrix: - python-version: ['3.12'] + python-version: ["3.12"] steps: - name: Checkout code uses: actions/checkout@v4 with: - fetch-depth: '0' + fetch-depth: "0" - name: Set up uv & venv uses: astral-sh/setup-uv@v5 @@ -44,13 +43,13 @@ jobs: runs-on: ubuntu-24.04 strategy: matrix: - python-version: ['3.12'] + python-version: ["3.12"] steps: - name: Checkout code uses: actions/checkout@v4 with: - fetch-depth: '0' + fetch-depth: "0" - name: Set up uv & venv uses: astral-sh/setup-uv@v5 @@ -72,3 +71,11 @@ jobs: with: name: pytest-results-${{ matrix.python-version }} path: htmlcov/ + + - name: Check examples do not error + run: | + just examples + + - name: Check docs do not error + run: | + just docs From d50d7732760611d7a620a3a0d97f82f56ca7e833 Mon Sep 17 00:00:00 2001 From: Matthew Burke Date: Fri, 12 Sep 2025 07:30:19 +0100 Subject: [PATCH 03/17] Try composite action --- .github/actions/setup.yml | 22 +++++++++++++ .github/workflows/ci.yml | 67 ++++++++++++++++----------------------- 2 files changed, 49 insertions(+), 40 deletions(-) create mode 100644 .github/actions/setup.yml diff --git a/.github/actions/setup.yml b/.github/actions/setup.yml new file mode 100644 index 000000000..35a8fd712 --- /dev/null +++ b/.github/actions/setup.yml @@ -0,0 +1,22 @@ +steps: + name: Lint + runs-on: ubuntu-24.04 + strategy: + matrix: + python-version: ["3.12"] + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: "0" + + - name: Set up uv & venv + uses: astral-sh/setup-uv@v5 + with: + version: ${{ env.UV_VERSION }} + enable-cache: true + python-version: ${{ matrix.python-version }} + cache-dependency-glob: uv.lock + + - name: Setup just + uses: extractions/setup-just@v3 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index df6efc1a5..1e2ec55f0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,27 +12,11 @@ env: jobs: lint: - name: Lint + name: Test runs-on: ubuntu-24.04 - strategy: - matrix: - python-version: ["3.12"] steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - fetch-depth: "0" - - - name: Set up uv & venv - uses: astral-sh/setup-uv@v5 - with: - version: ${{ env.UV_VERSION }} - enable-cache: true - python-version: ${{ matrix.python-version }} - cache-dependency-glob: uv.lock - - - name: Setup just - uses: extractions/setup-just@v3 + - name: Setup action + uses: ./.github/actions/setup - name: Lint project run: | @@ -46,36 +30,39 @@ jobs: python-version: ["3.12"] steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - fetch-depth: "0" + - name: Setup action + uses: ./.github/actions/setup - - name: Set up uv & venv - uses: astral-sh/setup-uv@v5 - with: - version: ${{ env.UV_VERSION }} - enable-cache: true - python-version: ${{ matrix.python-version }} - cache-dependency-glob: uv.lock - - - name: Setup just - uses: extractions/setup-just@v3 - - - name: Lint project + - name: Test project run: | just test - - name: Upload pytest test results - uses: actions/upload-artifact@master - with: - name: pytest-results-${{ matrix.python-version }} - path: htmlcov/ + examples: + name: examples + runs-on: ubuntu-24.04 + strategy: + matrix: + python-version: ["3.12"] + + steps: + - name: Setup action + uses: ./.github/actions/setup - name: Check examples do not error run: | just examples + docs: + name: docs + runs-on: ubuntu-24.04 + strategy: + matrix: + python-version: ["3.12"] + + steps: + - name: Setup action + uses: ./.github/actions/setup + - name: Check docs do not error run: | just docs From 5b9dedc2d22e138e03751750ff051742acb5c7f8 Mon Sep 17 00:00:00 2001 From: Matthew Burke Date: Fri, 12 Sep 2025 07:33:35 +0100 Subject: [PATCH 04/17] Separate checkout still --- .github/actions/setup.yml | 5 ----- .github/workflows/ci.yml | 16 ++++++++++++++-- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/.github/actions/setup.yml b/.github/actions/setup.yml index 35a8fd712..be21ee7a5 100644 --- a/.github/actions/setup.yml +++ b/.github/actions/setup.yml @@ -5,11 +5,6 @@ steps: matrix: python-version: ["3.12"] steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - fetch-depth: "0" - - name: Set up uv & venv uses: astral-sh/setup-uv@v5 with: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1e2ec55f0..3f1b43186 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,9 +12,12 @@ env: jobs: lint: - name: Test + name: lint runs-on: ubuntu-24.04 steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup action uses: ./.github/actions/setup @@ -23,13 +26,16 @@ jobs: just lint test: - name: Test + name: test runs-on: ubuntu-24.04 strategy: matrix: python-version: ["3.12"] steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup action uses: ./.github/actions/setup @@ -45,6 +51,9 @@ jobs: python-version: ["3.12"] steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup action uses: ./.github/actions/setup @@ -60,6 +69,9 @@ jobs: python-version: ["3.12"] steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Setup action uses: ./.github/actions/setup From 4d3a0c2d6694acc9f03471a32acb8b69b765aef2 Mon Sep 17 00:00:00 2001 From: Matthew Burke Date: Fri, 12 Sep 2025 07:36:11 +0100 Subject: [PATCH 05/17] Try different location --- .github/actions/{setup.yml => setup/action.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/actions/{setup.yml => setup/action.yml} (100%) diff --git a/.github/actions/setup.yml b/.github/actions/setup/action.yml similarity index 100% rename from .github/actions/setup.yml rename to .github/actions/setup/action.yml From 3fa0352422d00bbe20a64f832c806c7daf37254b Mon Sep 17 00:00:00 2001 From: Matthew Burke Date: Fri, 12 Sep 2025 07:37:25 +0100 Subject: [PATCH 06/17] Move env --- .github/actions/setup/action.yml | 3 +++ .github/workflows/ci.yml | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index be21ee7a5..cda10b31d 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -1,3 +1,6 @@ +env: + UV_VERSION: "0.6.6" + steps: name: Lint runs-on: ubuntu-24.04 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3f1b43186..94ada08d5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,8 +7,6 @@ on: push: branches: - main -env: - UV_VERSION: "0.6.6" jobs: lint: From 133de2040da0351b5c8a5c83ff14a484d1e47f4b Mon Sep 17 00:00:00 2001 From: Matthew Burke Date: Fri, 12 Sep 2025 10:19:11 +0100 Subject: [PATCH 07/17] Try reusable workflow --- .github/actions/setup/action.yml | 20 -------- .github/workflows/ci.yml | 76 +++++++------------------------ .github/workflows/run-command.yml | 36 +++++++++++++++ 3 files changed, 52 insertions(+), 80 deletions(-) delete mode 100644 .github/actions/setup/action.yml create mode 100644 .github/workflows/run-command.yml diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml deleted file mode 100644 index cda10b31d..000000000 --- a/.github/actions/setup/action.yml +++ /dev/null @@ -1,20 +0,0 @@ -env: - UV_VERSION: "0.6.6" - -steps: - name: Lint - runs-on: ubuntu-24.04 - strategy: - matrix: - python-version: ["3.12"] - steps: - - name: Set up uv & venv - uses: astral-sh/setup-uv@v5 - with: - version: ${{ env.UV_VERSION }} - enable-cache: true - python-version: ${{ matrix.python-version }} - cache-dependency-glob: uv.lock - - - name: Setup just - uses: extractions/setup-just@v3 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 94ada08d5..520a2b34d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,69 +10,25 @@ on: jobs: lint: - name: lint - runs-on: ubuntu-24.04 - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Setup action - uses: ./.github/actions/setup - - - name: Lint project - run: | - just lint + uses: ./.github/workflows/run-command.yml + with: + command-name: lint + command: just lint test: - name: test - runs-on: ubuntu-24.04 - strategy: - matrix: - python-version: ["3.12"] - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Setup action - uses: ./.github/actions/setup - - - name: Test project - run: | - just test + uses: ./.github/workflows/run-command.yml + with: + command-name: test + command: just test examples: - name: examples - runs-on: ubuntu-24.04 - strategy: - matrix: - python-version: ["3.12"] - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Setup action - uses: ./.github/actions/setup - - - name: Check examples do not error - run: | - just examples + uses: ./.github/workflows/run-command.yml + with: + command-name: examples + command: just examples docs: - name: docs - runs-on: ubuntu-24.04 - strategy: - matrix: - python-version: ["3.12"] - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Setup action - uses: ./.github/actions/setup - - - name: Check docs do not error - run: | - just docs + uses: ./.github/workflows/run-command.yml + with: + command-name: docs + command: just docs diff --git a/.github/workflows/run-command.yml b/.github/workflows/run-command.yml new file mode 100644 index 000000000..55e8e9e74 --- /dev/null +++ b/.github/workflows/run-command.yml @@ -0,0 +1,36 @@ +name: Reusable setup for command + +on: + workflow_call: + inputs: + command_name: + required: true + type: string + command: + required: true + type: string + +jobs: + run: + name: ${{ inputs.command_name }} + runs-on: ubuntu-24.04 + strategy: + matrix: + python-version: ["3.12"] + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up uv & venv + uses: astral-sh/setup-uv@v5 + with: + version: "0.6.6" + enable-cache: true + python-version: ${{ matrix.python-version }} + cache-dependency-glob: uv.lock + + - name: Setup just + uses: extractions/setup-just@v3 + + - name: Lint project + run: ${{ inputs.command }} From 193cd14263e90c59bc2021fa5d5d0e0193deba17 Mon Sep 17 00:00:00 2001 From: Matthew Burke Date: Fri, 12 Sep 2025 10:20:24 +0100 Subject: [PATCH 08/17] Fix typo --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 520a2b34d..25abd4597 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,23 +12,23 @@ jobs: lint: uses: ./.github/workflows/run-command.yml with: - command-name: lint + command_name: lint command: just lint test: uses: ./.github/workflows/run-command.yml with: - command-name: test + command_name: test command: just test examples: uses: ./.github/workflows/run-command.yml with: - command-name: examples + command_name: examples command: just examples docs: uses: ./.github/workflows/run-command.yml with: - command-name: docs + command_name: docs command: just docs From c6fc1f12bd7fdd504532f37eb944c7f7b1f7238d Mon Sep 17 00:00:00 2001 From: Matthew Burke Date: Fri, 12 Sep 2025 10:23:49 +0100 Subject: [PATCH 09/17] Improve name --- .github/workflows/run-command.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-command.yml b/.github/workflows/run-command.yml index 55e8e9e74..5f7f59b90 100644 --- a/.github/workflows/run-command.yml +++ b/.github/workflows/run-command.yml @@ -32,5 +32,5 @@ jobs: - name: Setup just uses: extractions/setup-just@v3 - - name: Lint project + - name: ${{ inputs.command_name }} run: ${{ inputs.command }} From e645dac47f3ff9c9f444301090e9436c96a1df70 Mon Sep 17 00:00:00 2001 From: Matthew Burke Date: Fri, 12 Sep 2025 10:34:02 +0100 Subject: [PATCH 10/17] Remove quantinuum sphinx We don't use this package and the build was timing out --- .../substitution_worker/uv.lock | 2 +- pyproject.toml | 4 -- uv.lock | 69 ++----------------- 3 files changed, 6 insertions(+), 69 deletions(-) diff --git a/examples/example_workers/substitution_worker/uv.lock b/examples/example_workers/substitution_worker/uv.lock index d0481d5f8..64f1c0169 100644 --- a/examples/example_workers/substitution_worker/uv.lock +++ b/examples/example_workers/substitution_worker/uv.lock @@ -348,7 +348,7 @@ wheels = [ [[package]] name = "tierkreis" -version = "2.0.1" +version = "2.0.2" source = { directory = "../../../tierkreis" } dependencies = [ { name = "pydantic" }, diff --git a/pyproject.toml b/pyproject.toml index ee034a773..0c9896049 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,13 +26,9 @@ test = [ "pydantic>=2.9.2", ] docs = [ - "quantinuum-sphinx", "sphinx>=8.2", "myst-parser>=4.0.1", "sphinx-autodoc2>=0.5.0", "myst-nb>=1.3.0", ] examples = ["pyscf>=2.9.0"] - -[tool.uv.sources] -quantinuum-sphinx = { git = "https://github.com/CQCL/quantinuum-sphinx.git" } diff --git a/uv.lock b/uv.lock index ee99ef204..68b735cc1 100644 --- a/uv.lock +++ b/uv.lock @@ -22,7 +22,6 @@ dev = [ { name = "pytest", specifier = ">=6.2,<9" }, { name = "pytest-asyncio", specifier = ">=0.16,<0.17" }, { name = "pytest-cov", specifier = ">=5.0,<6" }, - { name = "quantinuum-sphinx", git = "https://github.com/CQCL/quantinuum-sphinx.git" }, { name = "ruff", specifier = ">=0.12.5" }, { name = "sphinx", specifier = ">=8.2" }, { name = "sphinx-autodoc2", specifier = ">=0.5.0" }, @@ -30,7 +29,6 @@ dev = [ docs = [ { name = "myst-nb", specifier = ">=1.3.0" }, { name = "myst-parser", specifier = ">=4.0.1" }, - { name = "quantinuum-sphinx", git = "https://github.com/CQCL/quantinuum-sphinx.git" }, { name = "sphinx", specifier = ">=8.2" }, { name = "sphinx-autodoc2", specifier = ">=0.5.0" }, ] @@ -124,19 +122,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537 }, ] -[[package]] -name = "beautifulsoup4" -version = "4.13.4" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "soupsieve" }, - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/d8/e4/0c4c39e18fd76d6a628d4dd8da40543d136ce2d1752bd6eeeab0791f4d6b/beautifulsoup4-4.13.4.tar.gz", hash = "sha256:dbb3c4e1ceae6aefebdaf2423247260cd062430a410e38c66f2baa50a8437195", size = 621067 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/50/cd/30110dc0ffcf3b131156077b90e9f60ed75711223f306da4db08eff8403b/beautifulsoup4-4.13.4-py3-none-any.whl", hash = "sha256:9bbbb14bfde9d79f38b8cd5f8c7c85f4b8f2523190ebed90e950a8dea4cb1c4b", size = 187285 }, -] - [[package]] name = "build" version = "1.2.2.post1" @@ -420,21 +405,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/90/2b/0817a2b257fe88725c25589d89aec060581aabf668707a8d03b2e9e0cb2a/fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667", size = 23924 }, ] -[[package]] -name = "furo" -version = "2024.8.6" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "beautifulsoup4" }, - { name = "pygments" }, - { name = "sphinx" }, - { name = "sphinx-basic-ng" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/a0/e2/d351d69a9a9e4badb4a5be062c2d0e87bd9e6c23b5e57337fef14bef34c8/furo-2024.8.6.tar.gz", hash = "sha256:b63e4cee8abfc3136d3bc03a3d45a76a850bada4d6374d24c1716b0e01394a01", size = 1661506 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/27/48/e791a7ed487dbb9729ef32bb5d1af16693d8925f4366befef54119b2e576/furo-2024.8.6-py3-none-any.whl", hash = "sha256:6cd97c58b47813d3619e63e9081169880fbe331f0ca883c871ff1f3f11814f5c", size = 341333 }, -] - [[package]] name = "graphviz" version = "0.21" @@ -1581,14 +1551,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/4c/c8/96070c0f086d00a6f5cb9e244562f59468e43592f21206f92c94931e41f8/quantinuum_schemas-3.2.6-py3-none-any.whl", hash = "sha256:56b9c5318f5768e2a35aa983ef6b2a851a8a92a831d1016b9ac56e54a851668d", size = 15102 }, ] -[[package]] -name = "quantinuum-sphinx" -version = "0.1.0" -source = { git = "https://github.com/CQCL/quantinuum-sphinx.git#f72f55749533e73f5ed5beeb5e48f53487ade657" } -dependencies = [ - { name = "furo" }, -] - [[package]] name = "qwasm" version = "1.0.1" @@ -1822,15 +1784,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c8/78/3565d011c61f5a43488987ee32b6f3f656e7f107ac2782dd57bdd7d91d9a/snowballstemmer-3.0.1-py3-none-any.whl", hash = "sha256:6cd7b3897da8d6c9ffb968a6781fa6532dce9c3618a4b127d920dab764a19064", size = 103274 }, ] -[[package]] -name = "soupsieve" -version = "2.7" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/3f/f4/4a80cd6ef364b2e8b65b15816a843c0980f7a5a2b4dc701fc574952aa19f/soupsieve-2.7.tar.gz", hash = "sha256:ad282f9b6926286d2ead4750552c8a6142bc4c783fd66b0293547c8fe6ae126a", size = 103418 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e7/9c/0e6afc12c269578be5c0c1c9f4b49a8d32770a080260c333ac04cc1c832d/soupsieve-2.7-py3-none-any.whl", hash = "sha256:6e60cc5c1ffaf1cebcc12e8188320b72071e922c2e897f737cadce79ad5d30c4", size = 36677 }, -] - [[package]] name = "sphinx" version = "8.2.3" @@ -1872,18 +1825,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/19/e6/48d47961bbdae755ba9c17dfc65d89356312c67668dcb36c87cfadfa1964/sphinx_autodoc2-0.5.0-py3-none-any.whl", hash = "sha256:e867013b1512f9d6d7e6f6799f8b537d6884462acd118ef361f3f619a60b5c9e", size = 43385 }, ] -[[package]] -name = "sphinx-basic-ng" -version = "1.0.0b2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "sphinx" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/98/0b/a866924ded68efec7a1759587a4e478aec7559d8165fac8b2ad1c0e774d6/sphinx_basic_ng-1.0.0b2.tar.gz", hash = "sha256:9ec55a47c90c8c002b5960c57492ec3021f5193cb26cebc2dc4ea226848651c9", size = 20736 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3c/dd/018ce05c532a22007ac58d4f45232514cd9d6dd0ee1dc374e309db830983/sphinx_basic_ng-1.0.0b2-py3-none-any.whl", hash = "sha256:eb09aedbabfb650607e9b4b68c9d240b90b1e1be221d6ad71d61c52e29f7932b", size = 22496 }, -] - [[package]] name = "sphinxcontrib-applehelp" version = "2.0.0" @@ -2045,7 +1986,7 @@ wheels = [ [[package]] name = "tierkreis" -version = "2.0.1" +version = "2.0.2" source = { editable = "tierkreis" } dependencies = [ { name = "pydantic" }, @@ -2072,7 +2013,7 @@ dev = [ [[package]] name = "tierkreis-visualization" -version = "0.1.2" +version = "0.1.3" source = { editable = "tierkreis_visualization" } dependencies = [ { name = "fastapi", extra = ["standard"] }, @@ -2093,7 +2034,7 @@ requires-dist = [ [[package]] name = "tkr-aer-worker" -version = "0.1.1" +version = "0.1.2" source = { editable = "tierkreis_workers/aer_worker" } dependencies = [ { name = "pytket-qiskit" }, @@ -2108,7 +2049,7 @@ requires-dist = [ [[package]] name = "tkr-nexus-worker" -version = "0.1.1" +version = "0.1.2" source = { editable = "tierkreis_workers/nexus_worker" } dependencies = [ { name = "qnexus" }, @@ -2123,7 +2064,7 @@ requires-dist = [ [[package]] name = "tkr-pytket-worker" -version = "0.1.1" +version = "0.1.2" source = { editable = "tierkreis_workers/pytket_worker" } dependencies = [ { name = "pytket" }, From 41fb925154416cd5483299f03c3c081ac92ed166 Mon Sep 17 00:00:00 2001 From: Matthew Burke Date: Fri, 12 Sep 2025 10:36:32 +0100 Subject: [PATCH 11/17] Fix errors after quantinuum docs lib removal --- docs/source/conf.py | 2 +- examples/example_workers/auth_worker/uv.lock | 2 +- pyproject.toml | 1 + uv.lock | 64 ++++++++++++++++++++ 4 files changed, 67 insertions(+), 2 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index f7f930578..7b4f22ed8 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -13,7 +13,7 @@ # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration -extensions = ["autodoc2", "quantinuum_sphinx", "myst_nb"] +extensions = ["autodoc2", "myst_nb"] autodoc2_packages = [ "../../tierkreis/tierkreis", "../../tierkreis_workers/aer_worker", diff --git a/examples/example_workers/auth_worker/uv.lock b/examples/example_workers/auth_worker/uv.lock index 414e0f660..8e63f2a3a 100644 --- a/examples/example_workers/auth_worker/uv.lock +++ b/examples/example_workers/auth_worker/uv.lock @@ -172,7 +172,7 @@ sdist = { url = "https://files.pythonhosted.org/packages/c6/56/51603b5714d221b78 [[package]] name = "tierkreis" -version = "2.0.1" +version = "2.0.2" source = { editable = "../../../tierkreis" } dependencies = [ { name = "pydantic" }, diff --git a/pyproject.toml b/pyproject.toml index 0c9896049..8981c5945 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -30,5 +30,6 @@ docs = [ "myst-parser>=4.0.1", "sphinx-autodoc2>=0.5.0", "myst-nb>=1.3.0", + "furo>=2025.7.19", ] examples = ["pyscf>=2.9.0"] diff --git a/uv.lock b/uv.lock index 68b735cc1..8503e55de 100644 --- a/uv.lock +++ b/uv.lock @@ -13,6 +13,7 @@ members = [ [manifest.dependency-groups] dev = [ + { name = "furo", specifier = ">=2025.7.19" }, { name = "isort", specifier = ">=6.0.1" }, { name = "myst-nb", specifier = ">=1.3.0" }, { name = "myst-parser", specifier = ">=4.0.1" }, @@ -27,6 +28,7 @@ dev = [ { name = "sphinx-autodoc2", specifier = ">=0.5.0" }, ] docs = [ + { name = "furo", specifier = ">=2025.7.19" }, { name = "myst-nb", specifier = ">=1.3.0" }, { name = "myst-parser", specifier = ">=4.0.1" }, { name = "sphinx", specifier = ">=8.2" }, @@ -45,6 +47,18 @@ test = [ { name = "pytest-cov", specifier = ">=5.0,<6" }, ] +[[package]] +name = "accessible-pygments" +version = "0.0.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bc/c1/bbac6a50d02774f91572938964c582fff4270eee73ab822a4aeea4d8b11b/accessible_pygments-0.0.5.tar.gz", hash = "sha256:40918d3e6a2b619ad424cb91e556bd3bd8865443d9f22f1dcdf79e33c8046872", size = 1377899 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8d/3f/95338030883d8c8b91223b4e21744b04d11b161a3ef117295d8241f50ab4/accessible_pygments-0.0.5-py3-none-any.whl", hash = "sha256:88ae3211e68a1d0b011504b2ffc1691feafce124b845bd072ab6f9f66f34d4b7", size = 1395903 }, +] + [[package]] name = "alabaster" version = "1.0.0" @@ -122,6 +136,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537 }, ] +[[package]] +name = "beautifulsoup4" +version = "4.13.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "soupsieve" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/85/2e/3e5079847e653b1f6dc647aa24549d68c6addb4c595cc0d902d1b19308ad/beautifulsoup4-4.13.5.tar.gz", hash = "sha256:5e70131382930e7c3de33450a2f54a63d5e4b19386eab43a5b34d594268f3695", size = 622954 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/eb/f4151e0c7377a6e08a38108609ba5cede57986802757848688aeedd1b9e8/beautifulsoup4-4.13.5-py3-none-any.whl", hash = "sha256:642085eaa22233aceadff9c69651bc51e8bf3f874fb6d7104ece2beb24b47c4a", size = 105113 }, +] + [[package]] name = "build" version = "1.2.2.post1" @@ -405,6 +432,22 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/90/2b/0817a2b257fe88725c25589d89aec060581aabf668707a8d03b2e9e0cb2a/fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667", size = 23924 }, ] +[[package]] +name = "furo" +version = "2025.7.19" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "accessible-pygments" }, + { name = "beautifulsoup4" }, + { name = "pygments" }, + { name = "sphinx" }, + { name = "sphinx-basic-ng" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d0/69/312cd100fa45ddaea5a588334d2defa331ff427bcb61f5fe2ae61bdc3762/furo-2025.7.19.tar.gz", hash = "sha256:4164b2cafcf4023a59bb3c594e935e2516f6b9d35e9a5ea83d8f6b43808fe91f", size = 1662054 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3a/34/2b07b72bee02a63241d654f5d8af87a2de977c59638eec41ca356ab915cd/furo-2025.7.19-py3-none-any.whl", hash = "sha256:bdea869822dfd2b494ea84c0973937e35d1575af088b6721a29c7f7878adc9e3", size = 342175 }, +] + [[package]] name = "graphviz" version = "0.21" @@ -1784,6 +1827,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c8/78/3565d011c61f5a43488987ee32b6f3f656e7f107ac2782dd57bdd7d91d9a/snowballstemmer-3.0.1-py3-none-any.whl", hash = "sha256:6cd7b3897da8d6c9ffb968a6781fa6532dce9c3618a4b127d920dab764a19064", size = 103274 }, ] +[[package]] +name = "soupsieve" +version = "2.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6d/e6/21ccce3262dd4889aa3332e5a119a3491a95e8f60939870a3a035aabac0d/soupsieve-2.8.tar.gz", hash = "sha256:e2dd4a40a628cb5f28f6d4b0db8800b8f581b65bb380b97de22ba5ca8d72572f", size = 103472 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/14/a0/bb38d3b76b8cae341dad93a2dd83ab7462e6dbcdd84d43f54ee60a8dc167/soupsieve-2.8-py3-none-any.whl", hash = "sha256:0cc76456a30e20f5d7f2e14a98a4ae2ee4e5abdc7c5ea0aafe795f344bc7984c", size = 36679 }, +] + [[package]] name = "sphinx" version = "8.2.3" @@ -1825,6 +1877,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/19/e6/48d47961bbdae755ba9c17dfc65d89356312c67668dcb36c87cfadfa1964/sphinx_autodoc2-0.5.0-py3-none-any.whl", hash = "sha256:e867013b1512f9d6d7e6f6799f8b537d6884462acd118ef361f3f619a60b5c9e", size = 43385 }, ] +[[package]] +name = "sphinx-basic-ng" +version = "1.0.0b2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "sphinx" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/98/0b/a866924ded68efec7a1759587a4e478aec7559d8165fac8b2ad1c0e774d6/sphinx_basic_ng-1.0.0b2.tar.gz", hash = "sha256:9ec55a47c90c8c002b5960c57492ec3021f5193cb26cebc2dc4ea226848651c9", size = 20736 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/dd/018ce05c532a22007ac58d4f45232514cd9d6dd0ee1dc374e309db830983/sphinx_basic_ng-1.0.0b2-py3-none-any.whl", hash = "sha256:eb09aedbabfb650607e9b4b68c9d240b90b1e1be221d6ad71d61c52e29f7932b", size = 22496 }, +] + [[package]] name = "sphinxcontrib-applehelp" version = "2.0.0" From d77318c4507fbbf9044cd7cb37687a7f343ed2f3 Mon Sep 17 00:00:00 2001 From: Matthew Burke Date: Fri, 12 Sep 2025 10:47:46 +0100 Subject: [PATCH 12/17] Try to get github less confused --- .github/workflows/checks.yml | 34 +++++++++++++++ .github/workflows/ci.yml | 80 +++++++++++++++++++++++++++--------- 2 files changed, 94 insertions(+), 20 deletions(-) create mode 100644 .github/workflows/checks.yml diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml new file mode 100644 index 000000000..25abd4597 --- /dev/null +++ b/.github/workflows/checks.yml @@ -0,0 +1,34 @@ +name: Python package CI + +on: + pull_request: + branches: + - main + push: + branches: + - main + +jobs: + lint: + uses: ./.github/workflows/run-command.yml + with: + command_name: lint + command: just lint + + test: + uses: ./.github/workflows/run-command.yml + with: + command_name: test + command: just test + + examples: + uses: ./.github/workflows/run-command.yml + with: + command_name: examples + command: just examples + + docs: + uses: ./.github/workflows/run-command.yml + with: + command_name: docs + command: just docs diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 25abd4597..77e81fa55 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,28 +7,68 @@ on: push: branches: - main +env: + UV_VERSION: "0.6.6" jobs: + lint: - uses: ./.github/workflows/run-command.yml - with: - command_name: lint - command: just lint + name: Lint + runs-on: ubuntu-24.04 + strategy: + matrix: + python-version: ['3.12'] + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: '0' + + - name: Set up uv & venv + uses: astral-sh/setup-uv@v5 + with: + version: ${{ env.UV_VERSION }} + enable-cache: true + python-version: ${{ matrix.python-version }} + cache-dependency-glob: uv.lock + + - name: Setup just + uses: extractions/setup-just@v3 + + - name: Lint project + run: | + just lint test: - uses: ./.github/workflows/run-command.yml - with: - command_name: test - command: just test - - examples: - uses: ./.github/workflows/run-command.yml - with: - command_name: examples - command: just examples - - docs: - uses: ./.github/workflows/run-command.yml - with: - command_name: docs - command: just docs + name: Test + runs-on: ubuntu-24.04 + strategy: + matrix: + python-version: ['3.12'] + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: '0' + + - name: Set up uv & venv + uses: astral-sh/setup-uv@v5 + with: + version: ${{ env.UV_VERSION }} + enable-cache: true + python-version: ${{ matrix.python-version }} + cache-dependency-glob: uv.lock + + - name: Setup just + uses: extractions/setup-just@v3 + + - name: Lint project + run: | + just test + + - name: Upload pytest test results + uses: actions/upload-artifact@master + with: + name: pytest-results-${{ matrix.python-version }} + path: htmlcov/ From 99c874701f279b05130b0bb32f7f1026ee2a7dd8 Mon Sep 17 00:00:00 2001 From: Matthew Burke Date: Fri, 12 Sep 2025 10:58:42 +0100 Subject: [PATCH 13/17] Delete ci.yml --- .github/workflows/ci.yml | 74 ---------------------------------------- 1 file changed, 74 deletions(-) delete mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 77e81fa55..000000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,74 +0,0 @@ -name: Python package CI - -on: - pull_request: - branches: - - main - push: - branches: - - main -env: - UV_VERSION: "0.6.6" - -jobs: - - lint: - name: Lint - runs-on: ubuntu-24.04 - strategy: - matrix: - python-version: ['3.12'] - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - fetch-depth: '0' - - - name: Set up uv & venv - uses: astral-sh/setup-uv@v5 - with: - version: ${{ env.UV_VERSION }} - enable-cache: true - python-version: ${{ matrix.python-version }} - cache-dependency-glob: uv.lock - - - name: Setup just - uses: extractions/setup-just@v3 - - - name: Lint project - run: | - just lint - - test: - name: Test - runs-on: ubuntu-24.04 - strategy: - matrix: - python-version: ['3.12'] - - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - fetch-depth: '0' - - - name: Set up uv & venv - uses: astral-sh/setup-uv@v5 - with: - version: ${{ env.UV_VERSION }} - enable-cache: true - python-version: ${{ matrix.python-version }} - cache-dependency-glob: uv.lock - - - name: Setup just - uses: extractions/setup-just@v3 - - - name: Lint project - run: | - just test - - - name: Upload pytest test results - uses: actions/upload-artifact@master - with: - name: pytest-results-${{ matrix.python-version }} - path: htmlcov/ From 7c24cba2a8fa9c29d3f2f7c6163bd4e2b48bdad0 Mon Sep 17 00:00:00 2001 From: Matthew Burke Date: Fri, 12 Sep 2025 10:59:25 +0100 Subject: [PATCH 14/17] Revert "Delete ci.yml" This reverts commit 99c874701f279b05130b0bb32f7f1026ee2a7dd8. --- .github/workflows/ci.yml | 74 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..77e81fa55 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,74 @@ +name: Python package CI + +on: + pull_request: + branches: + - main + push: + branches: + - main +env: + UV_VERSION: "0.6.6" + +jobs: + + lint: + name: Lint + runs-on: ubuntu-24.04 + strategy: + matrix: + python-version: ['3.12'] + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: '0' + + - name: Set up uv & venv + uses: astral-sh/setup-uv@v5 + with: + version: ${{ env.UV_VERSION }} + enable-cache: true + python-version: ${{ matrix.python-version }} + cache-dependency-glob: uv.lock + + - name: Setup just + uses: extractions/setup-just@v3 + + - name: Lint project + run: | + just lint + + test: + name: Test + runs-on: ubuntu-24.04 + strategy: + matrix: + python-version: ['3.12'] + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: '0' + + - name: Set up uv & venv + uses: astral-sh/setup-uv@v5 + with: + version: ${{ env.UV_VERSION }} + enable-cache: true + python-version: ${{ matrix.python-version }} + cache-dependency-glob: uv.lock + + - name: Setup just + uses: extractions/setup-just@v3 + + - name: Lint project + run: | + just test + + - name: Upload pytest test results + uses: actions/upload-artifact@master + with: + name: pytest-results-${{ matrix.python-version }} + path: htmlcov/ From 10f2c8aa55fda083aa1df6ab7a5d01e271c23837 Mon Sep 17 00:00:00 2001 From: Matthew Burke Date: Fri, 12 Sep 2025 11:01:04 +0100 Subject: [PATCH 15/17] Try to get Github to understand --- .github/workflows/ci.yml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 77e81fa55..0f867a308 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,9 +1,6 @@ name: Python package CI on: - pull_request: - branches: - - main push: branches: - main @@ -11,18 +8,17 @@ env: UV_VERSION: "0.6.6" jobs: - lint: name: Lint runs-on: ubuntu-24.04 strategy: matrix: - python-version: ['3.12'] + python-version: ["3.12"] steps: - name: Checkout code uses: actions/checkout@v4 with: - fetch-depth: '0' + fetch-depth: "0" - name: Set up uv & venv uses: astral-sh/setup-uv@v5 @@ -44,13 +40,13 @@ jobs: runs-on: ubuntu-24.04 strategy: matrix: - python-version: ['3.12'] + python-version: ["3.12"] steps: - name: Checkout code uses: actions/checkout@v4 with: - fetch-depth: '0' + fetch-depth: "0" - name: Set up uv & venv uses: astral-sh/setup-uv@v5 From 8c6692809cbe4a5300e5c8125e011dccb7faeb41 Mon Sep 17 00:00:00 2001 From: Matthew Burke Date: Fri, 12 Sep 2025 11:01:35 +0100 Subject: [PATCH 16/17] Revert "Try to get Github to understand" This reverts commit 10f2c8aa55fda083aa1df6ab7a5d01e271c23837. --- .github/workflows/ci.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0f867a308..77e81fa55 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,6 +1,9 @@ name: Python package CI on: + pull_request: + branches: + - main push: branches: - main @@ -8,17 +11,18 @@ env: UV_VERSION: "0.6.6" jobs: + lint: name: Lint runs-on: ubuntu-24.04 strategy: matrix: - python-version: ["3.12"] + python-version: ['3.12'] steps: - name: Checkout code uses: actions/checkout@v4 with: - fetch-depth: "0" + fetch-depth: '0' - name: Set up uv & venv uses: astral-sh/setup-uv@v5 @@ -40,13 +44,13 @@ jobs: runs-on: ubuntu-24.04 strategy: matrix: - python-version: ["3.12"] + python-version: ['3.12'] steps: - name: Checkout code uses: actions/checkout@v4 with: - fetch-depth: "0" + fetch-depth: '0' - name: Set up uv & venv uses: astral-sh/setup-uv@v5 From 1b555e93ef0c033aa3ff8c8ea75fe36b90ab2b96 Mon Sep 17 00:00:00 2001 From: Matthew Burke Date: Fri, 12 Sep 2025 11:05:26 +0100 Subject: [PATCH 17/17] Bump executor timeouts --- tierkreis/tierkreis/controller/executor/shell_executor.py | 2 +- tierkreis/tierkreis/controller/executor/stdinout.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tierkreis/tierkreis/controller/executor/shell_executor.py b/tierkreis/tierkreis/controller/executor/shell_executor.py index 447c3d07b..f1e8993d0 100644 --- a/tierkreis/tierkreis/controller/executor/shell_executor.py +++ b/tierkreis/tierkreis/controller/executor/shell_executor.py @@ -60,7 +60,7 @@ def run( ) proc.communicate( f"{launcher_path} {worker_call_args_path} && touch {done_path}".encode(), - timeout=3, + timeout=10, ) def _create_env( diff --git a/tierkreis/tierkreis/controller/executor/stdinout.py b/tierkreis/tierkreis/controller/executor/stdinout.py index 3d63b34fa..55162dea4 100644 --- a/tierkreis/tierkreis/controller/executor/stdinout.py +++ b/tierkreis/tierkreis/controller/executor/stdinout.py @@ -51,5 +51,5 @@ def run(self, launcher_name: str, worker_call_args_path: Path) -> None: ) proc.communicate( f"{launcher_path} <{input_file} >{output_file} && touch {done_path}".encode(), - timeout=3, + timeout=10, )