Properties

Properties are user defined key-value pairs used to label resources such as tket:pytket.circuit.Circuit, jobs and tket:pytket.backends.backendresult.BackendResult. This enables users to search through their resources using this custom defined metadata. There are four property value types:

Property Type

Description

String

Text value such as “Carbon”

Boolean

True or False

Float

Floating point number i.e. 0.237

Int

Integer value i.e. 56, 1024

Most nexus API endpoints offer the ability to filter resources by property value.

Note

Properties are currently scoped to projects and must be created before they are used. They can be created in the Nexus UI under the ‘resource properties’ tab within a project.

Auto Labelling

If a job creates a resource, Nexus will set the same property from the job onto the resource it creates. For example, if an execute job was created with the property parameter1: 0.5, the result would also have it.

../../_images/property_inheritance.png

Required Properties

Properties can be made non-optional (required) which ensures all project collaborators label their resources. If a user fails to set a value for a required property, the API will return with an error.