# caproto.server.PvpropertyData¶

class caproto.server.PvpropertyData(*, pvname: str, group: caproto.server.server.PVGroup, pvspec: caproto.server.server.PVSpec, doc: Optional[str] = None, record: Optional[Union[str, Type[T_RecordFields]]] = None, logger: Optional[logging.Logger] = None, **kwargs)[source]

A top-level class for mixing in with ChannelData subclasses.

Takes in a fully-expanded pvname, PVSpec, and group instance.

Parameters
pvnamestr

The fully expanded process variable name.

groupPVGroup

The PVGroup instance to which this pvproperty belongs.

pvspecPVSpec

The associated PVSpec instance, containing detailed information about the pvproperty.

docstr, optional

Docstring / documentation information.

recordstr, optional

The record type to report over channel access. This can be queried by way of caproto-get record.RTYP or caproto-get -d 38 --format "{response.metadata.value}" record

**kwargs

Passed to the superclass, along with reported_record_type.

Methods

 auth_read(hostname, username, data_type, *) Get DBR data and native data, converted to a specific type auth_write(hostname, username, data, …[, …]) Data write hook for clients. calculate_length(value) Calculate the number of elements given a value check_access(hostname, username) This always returns AccessRights.READ|AccessRights.WRITE. get_field(field) Get a field by name. is_compatible_array(value) Check if the provided value is a compatible array. post_state_change(state, new_value) This is called by the server when it exits its StateUpdateContext. pre_state_change(state, new_value) This is called by the server when it enters its StateUpdateContext. preprocess_value(value) Pre-process values destined for verify_value and write publish(flags) Publish data to appropriate queues matching the SubscriptionSpec. read(data_type) The top-level read method, with a specific requested data type. subscribe(queue, sub_spec, sub) Subscribe a queue for the given subscription specification. unsubscribe(queue, sub_spec) Unsubscribe a queue for the given subscription specification. update_fields(value) This is a hook to update field instance data. verify_value(value) The top-level dbr-facing “write” method. write(value, *[, flags, verify_value, …]) Write data from native Python types. write_from_dbr(data, data_type, metadata, *) Write data from a provided DBR data type. write_metadata([publish, units, precision, …]) Write metadata, optionally publishing information to clients.

Attributes

 alarm The ChannelAlarm associated with this data data_type default_value epics_timestamp EPICS timestamp as (seconds, nanoseconds) since EPICS epoch. length The number of elements (length) of the current value max_length The maximum number of elements (length) this channel can hold severity Alarm severity status Alarm status timestamp UNIX timestamp in seconds. value Read-only access to value data