IO Properties#

This page presents all APIs and classes related to properties in PyAgentSpec.

Classes for the IO system properties#

class pyagentspec.property.Property(*, json_schema=<factory>, title='property', description=None, default=<class 'pyagentspec.property._empty_default'>, type=None)#

Bases: BaseModel

Properties are the values that Components expose as inputs and outputs.

Property encapsulates all the information about a Property.

Parameters:
  • json_schema (dict[str, Any]) –

  • title (str) –

  • description (str | None) –

  • default (Any | None) –

  • type (str | List[str] | None) –

empty_default#

alias of _empty_default

classmethod json_schema_is_valid(schema)#

Check if the given JSON schema is valid according to Draft 202012.

In case of an invalid schema, an exception is raised.

Parameters:

schema (dict[str, Any]) – the JSON schema to validate

Returns:

The input JSON schema

Return type:

JsonSchemaValue

class pyagentspec.property.StringProperty(*, json_schema=<factory>, title='property', description=None, default=<class 'pyagentspec.property._empty_default'>, type=None)#

Bases: Property

Property object to represent a string property.

Parameters:
  • json_schema (dict[str, Any]) –

  • title (str) –

  • description (str | None) –

  • default (Any | None) –

  • type (str | List[str] | None) –

class pyagentspec.property.BooleanProperty(*, json_schema=<factory>, title='property', description=None, default=<class 'pyagentspec.property._empty_default'>, type=None)#

Bases: Property

Property object to represent a boolean property.

Parameters:
  • json_schema (dict[str, Any]) –

  • title (str) –

  • description (str | None) –

  • default (Any | None) –

  • type (str | List[str] | None) –

class pyagentspec.property.IntegerProperty(*, json_schema=<factory>, title='property', description=None, default=<class 'pyagentspec.property._empty_default'>, type=None)#

Bases: Property

Property object to represent an integer property.

Parameters:
  • json_schema (dict[str, Any]) –

  • title (str) –

  • description (str | None) –

  • default (Any | None) –

  • type (str | List[str] | None) –

class pyagentspec.property.NumberProperty(*, json_schema=<factory>, title='property', description=None, default=<class 'pyagentspec.property._empty_default'>, type=None)#

Bases: Property

Property object to represent a number property.

Parameters:
  • json_schema (dict[str, Any]) –

  • title (str) –

  • description (str | None) –

  • default (Any | None) –

  • type (str | List[str] | None) –

class pyagentspec.property.FloatProperty(*, json_schema=<factory>, title='property', description=None, default=<class 'pyagentspec.property._empty_default'>, type=None)#

Bases: NumberProperty

Equivalent of a number property.

Parameters:
  • json_schema (dict[str, Any]) –

  • title (str) –

  • description (str | None) –

  • default (Any | None) –

  • type (str | List[str] | None) –

class pyagentspec.property.NullProperty(*, json_schema=<factory>, title='property', description=None, default=<class 'pyagentspec.property._empty_default'>, type=None)#

Bases: Property

Property object to represent a null property.

Parameters:
  • json_schema (dict[str, Any]) –

  • title (str) –

  • description (str | None) –

  • default (Any | None) –

  • type (str | List[str] | None) –

class pyagentspec.property.UnionProperty(*, json_schema=<factory>, title='property', description=None, default=<class 'pyagentspec.property._empty_default'>, type=None, any_of)#

Bases: Property

Property object to represent a union property.

Parameters:
  • json_schema (dict[str, Any]) –

  • title (str) –

  • description (str | None) –

  • default (Any | None) –

  • type (str | List[str] | None) –

  • any_of (List[Property]) –

any_of: List[Property]#
class pyagentspec.property.ListProperty(*, json_schema=<factory>, title='property', description=None, default=<class 'pyagentspec.property._empty_default'>, type=None, item_type)#

Bases: Property

Property object to represent a list property.

Parameters:
  • json_schema (dict[str, Any]) –

  • title (str) –

  • description (str | None) –

  • default (Any | None) –

  • type (str | List[str] | None) –

  • item_type (Property) –

item_type: Property#
class pyagentspec.property.DictProperty(*, json_schema=<factory>, title='property', description=None, default=<class 'pyagentspec.property._empty_default'>, type=None, value_type)#

Bases: Property

Property object to represent a dict property.

Parameters:
  • json_schema (dict[str, Any]) –

  • title (str) –

  • description (str | None) –

  • default (Any | None) –

  • type (str | List[str] | None) –

  • value_type (Property) –

value_type: Property#
class pyagentspec.property.ObjectProperty(*, json_schema=<factory>, title='property', description=None, default=<class 'pyagentspec.property._empty_default'>, type=None, properties)#

Bases: Property

Property object to represent an object property.

Parameters:
  • json_schema (dict[str, Any]) –

  • title (str) –

  • description (str | None) –

  • default (Any | None) –

  • type (str | List[str] | None) –

  • properties (Dict[str, Property]) –

properties: Dict[str, Property]#