Skip to content

Releases: CQCL/tierkreis

Release v0.7.3

16 Dec 17:37
edfe95d
Compare
Choose a tag to compare

Adds controller protos and simplifies dependencies.

Release v0.7.2

26 Jun 12:49
Compare
Choose a tag to compare

Major features

Minor features

  • Pytket types are compressed when encoded opaquely.

Release v0.7.1

26 Apr 14:13
Compare
Choose a tag to compare

Fixes

  • Worker logs print full traceback when errors are re-raised

Minor changes

  • opentelemetry and protobuf dependencies simplified

Release v0.7.0

15 Apr 13:05
Compare
Choose a tag to compare

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 with ValueSource or NodePort, and the return annotation should just be Output.

Release v0.6.1

15 Apr 13:05
Compare
Choose a tag to compare

Minor Features

  • Worker dumps exception to stderr

Release v0.6.0

15 Apr 13:05
Compare
Choose a tag to compare

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

08 Mar 12:05
Compare
Choose a tag to compare

Bug fixes

  • Contains bug fixes and refactors to allow stable handling of generics and unions in type/value conversions.

Release v0.5.0

22 Feb 09:43
Compare
Choose a tag to compare

Features

  • New OpaqueModel which derives from pydantic BaseModel 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 optional retry_secs field. Graphs serialized
    with v1alpha would deserialize as containing functions with empty names.
  • ServerRuntime simplified to only offer run_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 uses type(value) as default.
    Subclasses of supported types will no longer converted as the supported super type.

Release v0.4.0

02 Feb 17:01
Compare
Choose a tag to compare

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 and register_struct_convertible are removed. Now automated
    conversion will be attempted on any dataclass or Pydantic BaseModel.
  • ServerRuntime simplified to only offer run_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

19 Dec 15:26
Compare
Choose a tag to compare

Support wider range of python types automatically:

  • Union handled by converting to Variant with tags autogenerated from type names. If unique names for all the variants cannot be generated, will fail.
  • Tuple handled as special Struct 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