Releases: CQCL/tierkreis
Releases · CQCL/tierkreis
Release v0.7.3
Release v0.7.2
Major features
- Docstrings on all public classes and methods. Published at https://cqcl.github.io/tierkreis/api-docs/index.html.
Minor features
- Pytket types are compressed when encoded opaquely.
Release v0.7.1
Fixes
- Worker logs print full traceback when errors are re-raised
Minor changes
- opentelemetry and protobuf dependencies simplified
Release v0.7.0
Minor Features
- Worker functions can request access to specific metadata fields in the
RunFunctionRequest
.
Breaking Changes
TierkreisValue
based annotations in builder functions (@graph
or@lazy_graph
) will no longer work. Annotate input arguments withValueSource
orNodePort
, and the return annotation should just beOutput
.
Release v0.6.1
Minor Features
- Worker dumps exception to stderr
Release v0.6.0
Features
- New builtin
sleep
operation. - New
TierkreisType.register_alternative
method to register
Tierkreis-compatible alternatives to types to use for
serialization/deserialization for arbitrary types. UnpackRow
base dataclass for defining rows that should be unpacked in Tierkreis
(e.g. multiple outputs in a worker function).
Fixes
- Fix example code in README
- Remove some vestigial authentication code
- Fix optional enum value conversions
- Fix Unions over instances of generic BaseModels
Release v0.5.3
Bug fixes
- Contains bug fixes and refactors to allow stable handling of generics and unions in type/value conversions.
Release v0.5.0
Features
- New
OpaqueModel
which derives from pydanticBaseModel
to defer Tierkreis
serialization to pydantic. - New
TierkreisType.register_alternative
method to register
Tierkreis-compatible alternatives to types to use for
serialization/deserialization for arbitrary types. UnpackRow
base dataclass for defining rows that should be unpacked in Tierkreis
(e.g. multiple outputs in a worker function).
Breaking changes
- Graph, Signature and Worker protos updated to v1alpha1 to add
FunctionNode
message to graph proto, with optionalretry_secs
field. Graphs serialized
with v1alpha would deserialize as containing functions with empty names. ServerRuntime
simplified to only offerrun_graph
for execution, all "task"
related methods removed.runtime.proto
updated to v1alpha1 to match.TierkreisValue.from_python
uses python type to guide conversion - takes an
optional annotation or usestype(value)
as default.
Subclasses of supported types will no longer converted as the supported super type.
Release v0.4.0
Features
- Support Pydantic
BaseModel
automated conversion to
StructType
/StructValue
. UnpackRow
base dataclass for defining rows that should be unpacked in Tierkreis
(e.g. multiple outputs in a worker function).
Breaking changes
TierkreisStruct
andregister_struct_convertible
are removed. Now automated
conversion will be attempted on any dataclass or PydanticBaseModel
.ServerRuntime
simplified to only offerrun_graph
for execution, all "task"
related methods removed.runtime.proto
updated to v1alpha1 to match.
Minor changes
CircStruct
simplified to just contain the JSON string of a Pytket Circuit
(essentially acts as an opaque newtype).
Release 0.3.0
Support wider range of python types automatically:
Union
handled by converting toVariant
with tags autogenerated from type names. If unique names for all the variants cannot be generated, will fail.Tuple
handled as specialStruct
with numbered fields,PairType
is deprecated.- Literals
- Enums, mapped to variants tagged by enum name, with empty struct values.
- Pydantic wrapped dataclasses
- Pydantic constrained numeric types and string
- Pydantic discriminated unions - mapped to Variant with discriminant set as tag
Full changelog: v0.2.1...v0.3.0