caproto.server.PvpropertyData

Inheritance diagram of PvpropertyData
class caproto.server.PvpropertyData(*, pvname: str, group: PVGroup, pvspec: PVSpec, doc: str | None = None, record: str | Type[T_RecordFields] | None = None, logger: Logger | None = 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

field_inst

fields

getter

group

log

name

putter

pvname

pvspec

record_type

scan

shutdown

startup

max_subscription_backlog