Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
bacc60e
Change to new proposed structure
philipp-seitz Mar 6, 2026
5869249
fixed typo
rossduncan Mar 9, 2026
6c34d5b
Simplify beginners tutorial
philipp-seitz Mar 9, 2026
4ca392f
Merge worker and graph
philipp-seitz Mar 9, 2026
f7f336d
Update executor example
philipp-seitz Mar 9, 2026
6242521
Update index
philipp-seitz Mar 9, 2026
67f316b
Move back further topics
philipp-seitz Mar 9, 2026
ec16a32
Reword titles
philipp-seitz Mar 9, 2026
2a30717
Fix errors and mistakes
philipp-seitz Mar 10, 2026
e22ee13
Reorganize structure
philipp-seitz Mar 11, 2026
6f6629d
Reword index
philipp-seitz Mar 11, 2026
d5e6706
Fix header
philipp-seitz Mar 11, 2026
329851f
Simplify executors
philipp-seitz Mar 11, 2026
f0150f3
Update worker docs
philipp-seitz Mar 11, 2026
ef30e6f
Changes to index, added "what next page" to tutorial, and homeless.md…
rossduncan Mar 12, 2026
2e4f9cb
Move docs to User Guide
philipp-seitz Mar 12, 2026
bb2da21
Fix typos and titles
philipp-seitz Mar 12, 2026
4cf9bc2
REsolve merge conflict
rossduncan Mar 12, 2026
5db7f88
Link to corresponding sections
philipp-seitz Mar 12, 2026
06d2ed4
Use multiple tocs
philipp-seitz Mar 12, 2026
848146f
Hide tocs
philipp-seitz Mar 12, 2026
973ada7
Clean up tocs
philipp-seitz Mar 12, 2026
d8ab2f6
Write cli docs
philipp-seitz Mar 12, 2026
e422206
Add pytket graph
philipp-seitz Mar 13, 2026
298b8ea
Fix stubs
philipp-seitz Mar 13, 2026
1b724c2
added correct package name for visualizer
rossduncan Mar 16, 2026
40bb70a
partial rewrite of firrst graph example
rossduncan Mar 16, 2026
518fcc9
Fix first graph example
philipp-seitz Mar 16, 2026
c143b51
Add noqa directive
philipp-seitz Mar 16, 2026
96d2076
Add screenshots
philipp-seitz Mar 16, 2026
3622e02
Fix import
philipp-seitz Mar 16, 2026
14236e6
Move opaquetype mention
philipp-seitz Mar 16, 2026
ac29322
Update lesson 3
philipp-seitz Mar 16, 2026
4e59c64
Update indexes
philipp-seitz Mar 17, 2026
6a239ce
Update hamiltonian example
philipp-seitz Mar 17, 2026
6c1f2ad
Remove worker not used in beginner tutorial
philipp-seitz Mar 17, 2026
34dd777
Update worker imports
philipp-seitz Mar 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added docs/source/_static/first_graph.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/_static/first_graph_overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
24 changes: 13 additions & 11 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,32 +12,33 @@

# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration

extensions = ["autodoc2", "myst_nb", "sphinx.ext.intersphinx"]
add_module_names = False
extensions = ["autodoc2", "myst_nb", "sphinx.ext.intersphinx", "sphinx.ext.mathjax"]
latex_engine = "xelatex"
autodoc2_packages = [
"../../tierkreis/tierkreis",
{
"path": "../../tierkreis_workers/aer_worker/src/impl/aer_worker_impl.py",
"path": "../../tierkreis_workers/aer_worker/tkr_aer_worker_impl/impl.py",
"module": "aer_worker",
},
{
"path": "../../tierkreis_workers/ibmq_worker/src/impl/ibmq_worker_impl.py",
"module": "ibmq_worker",
"path": "../../tierkreis_workers/ibmq_worker/tkr_ibmq_worker_impl/impl.py",
"module": "ibmq_worker.tkr_ibmq_worker_impl.impl",
},
{
"path": "../../tierkreis_workers/nexus_worker/src/impl/nexus_worker_impl.py",
"path": "../../tierkreis_workers/nexus_worker/tkr_nexus_worker_impl/impl.py",
"module": "nexus_worker",
},
{
"path": "../../tierkreis_workers/pytket_worker/src/impl/pytket_worker_impl.py",
"module": "pytket_worker",
"path": "../../tierkreis_workers/pytket_worker/tkr_pytket_worker_impl/impl.py",
"module": "pytket_worker.tkr_pytket_worker_impl.impl",
},
{
"path": "../../tierkreis_workers/quantinuum_worker/src/impl/quantinuum_worker_impl.py",
"module": "quantinuum_worker",
"path": "../../tierkreis_workers/quantinuum_worker/tkr_quantinuum_worker_impl/impl.py",
"module": "quantinuum_worker.tkr_quantinuum_worker_impl.impl",
},
{
"path": "../../tierkreis_workers/qulacs_worker/src/impl/qulacs_worker_impl.py",
"path": "../../tierkreis_workers/qulacs_worker/tkr_qulacs_worker_impl/impl.py",
"module": "qulacs_worker",
},
]
Expand All @@ -54,6 +55,7 @@
"storage_and_executors.ipynb",
"hpc.ipynb",
]
myst_enable_extensions = ["dollarmath", "amsmath"]

nitpicky = True
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store", "examples/**/.venv/**"]
Expand Down
17 changes: 17 additions & 0 deletions docs/source/examples/api/stubs.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
"""Code generated from hello_world_worker namespace. Please do not edit."""

from typing import NamedTuple
from tierkreis.controller.data.models import TKR


class greet(NamedTuple):
greeting: TKR[str] # noqa: F821 # fmt: skip
subject: TKR[str] # noqa: F821 # fmt: skip

@staticmethod
def out() -> type[TKR[str]]: # noqa: F821 # fmt: skip
return TKR[str] # noqa: F821 # fmt: skip

@property
def namespace(self) -> str:
return "hello_world_worker"
2 changes: 1 addition & 1 deletion docs/source/examples/errors_and_debugging.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@
"\n",
"The first avenue for debugging is enabling fine grained logging.\n",
"The tierkreis logging inherits properties from the root logger so it suffices to set a `basicConfig` which changes **only** the logger of the controller.\n",
"When running a python worker, Tierkreis will check the environment variables `$TKR_LOG_LEVEL`, `$TKR_LOG_FORMAT` and `$TKR_DATE_FORMAT` for logger information as detailed [here](../logging_and_errors.md)."
"When running a python worker, Tierkreis will check the environment variables `$TKR_LOG_LEVEL`, `$TKR_LOG_FORMAT` and `$TKR_DATE_FORMAT` for logger information as detailed [here](../tutorial/logging_and_errors.md)."
]
},
{
Expand Down
Empty file.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
[project]
name = "tkr-multiple-outputs-worker"
version = "0.1.0"
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
"tierkreis",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
name = "tkr-multiple-outputs-worker-impl"
version = "0.2.0"
description = "A tierkreis worker implementation."
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
"tierkreis",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
"""Code generated from pytket_example_worker namespace. Please do not edit."""

from typing import NamedTuple
from tierkreis.controller.data.models import TKR, OpaqueType


class substitute(NamedTuple):
circuit: TKR[OpaqueType["pytket._tket.circuit.Circuit"]] # noqa: F821 # fmt: skip
a: TKR[float] # noqa: F821 # fmt: skip
b: TKR[float] # noqa: F821 # fmt: skip
c: TKR[float] # noqa: F821 # fmt: skip

@staticmethod
def out() -> type[TKR[OpaqueType["pytket._tket.circuit.Circuit"]]]: # noqa: F821 # fmt: skip
return TKR[OpaqueType["pytket._tket.circuit.Circuit"]] # noqa: F821 # fmt: skip

@property
def namespace(self) -> str:
return "pytket_example_worker"


class simulate(NamedTuple):
circuit: TKR[OpaqueType["pytket._tket.circuit.Circuit"]] # noqa: F821 # fmt: skip

@staticmethod
def out() -> type[TKR[OpaqueType["pytket.backends.backendresult.BackendResult"]]]: # noqa: F821 # fmt: skip
return TKR[OpaqueType["pytket.backends.backendresult.BackendResult"]] # noqa: F821 # fmt: skip

@property
def namespace(self) -> str:
return "pytket_example_worker"


class optimise(NamedTuple):
circuit: TKR[OpaqueType["pytket._tket.circuit.Circuit"]] # noqa: F821 # fmt: skip

@staticmethod
def out() -> type[TKR[OpaqueType["pytket._tket.circuit.Circuit"]]]: # noqa: F821 # fmt: skip
return TKR[OpaqueType["pytket._tket.circuit.Circuit"]] # noqa: F821 # fmt: skip

@property
def namespace(self) -> str:
return "pytket_example_worker"
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
[project]
name = "tkr-pytket-example-worker"
version = "0.2.0"
requires-python = ">=3.12"
dependencies = [
"tierkreis",
]

[tool.uv.sources]
tierkreis = { path = "../../../../../../tierkreis", editable = true }

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel.force-include]
"api.py" = "pytket_example_worker.py"
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[project]
name = "tkr-pytket-example-worker-impl"
version = "0.1.0"
requires-python = ">=3.12"
dependencies = [
"pydantic>=2.11.7",
"pytket>=2.9.3",
"tierkreis",
"ruff",
"sympy",
"pytket-qiskit",
"tkr-pytket-example-worker",
]

[tool.uv.sources]
tierkreis = { workspace = true }
tkr-pytket-example-worker = { workspace = true }

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"



[project.scripts]
tkr-pytket-example-worker = "tkr_pytket_example_worker_impl.main:main"
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from .impl import worker

__all__ = ["worker"]
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import logging

from pytket._tket.circuit import Circuit
from pytket.backends.backendresult import BackendResult
from pytket.extensions.qiskit.backends.aer import AerBackend
from pytket.transform import Transform
from sympy import Symbol

from tierkreis import Worker

logger = logging.getLogger(__name__)

worker = Worker("pytket_example_worker")


@worker.task()
def substitute(circuit: Circuit, a: float, b: float, c: float) -> Circuit:
circuit.symbol_substitution({Symbol("a"): a, Symbol("b"): b, Symbol("c"): c})
return circuit


@worker.task()
def simulate(circuit: Circuit) -> BackendResult:
backend = AerBackend()
return backend.run_circuit(circuit, n_shots=1000)


@worker.task()
def optimise(circuit: Circuit) -> Circuit:
Transform.OptimisePhaseGadgets().apply(circuit)
return circuit
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from sys import argv

from tkr_pytket_example_worker_impl import worker


def main():
worker.app(argv)


if __name__ == "__main__":
main()
Loading
Loading