duct.protocol¶
duct.protocol.elasticsearch¶
duct.protocol.i2c¶
- class duct.protocol.i2c.I2CTransaction(bus: int, device: int)[source]¶
Bases:
objectMPL115 temperature and pressure sensor
Arguments: :param smbus: Bus number (default 1) :type smbus: int. :param device: I2C device address :type device: int.
duct.protocol.icmp¶
- class duct.protocol.icmp.EchoPacket(seq=0, eid=None, data=None, packet=None)[source]¶
Bases:
objectICMP Echo packet encoder and decoder
duct.protocol.influxdb3¶
- class duct.protocol.influxdb3.InfluxDB3Client(url='http://localhost:8086', database='duct', token=None, precision='nanosecond')[source]¶
Bases:
objectInfluxDB 3 HTTP write client
- duct.protocol.influxdb3.to_line_protocol(measurement, tags, fields, timestamp_ns)[source]¶
Encode a single point in InfluxDB line protocol.
- Parameters:
measurement – Measurement name
tags – Dict of tag key/value pairs
fields – Dict of field key/value pairs
timestamp_ns – Timestamp in nanoseconds
- Returns:
Line protocol string (no trailing newline)
duct.protocol.opentsdb¶
duct.protocol.riemann¶
- class duct.protocol.riemann.RiemannProtobufMixin[source]¶
Bases:
objectClass mix-in for protocol buffer encoding/decoding
- class duct.protocol.riemann.RiemannTCPClient(host, port, failover=False)[source]¶
Bases:
RiemannProtobufMixinAsyncio TCP Riemann client with automatic reconnection.
- Parameters:
host – Riemann server hostname or list of hostnames for failover
port – Riemann server port
failover – Enable round-robin failover across host list
- class duct.protocol.riemann.RiemannUDPProtocol(host, port, on_ready=None)[source]¶
Bases:
RiemannProtobufMixin,DatagramProtocolAsyncio UDP datagram protocol for Riemann
- connection_lost(exc)[source]¶
Called when the connection is lost or closed.
The argument is an exception object or None (the latter meaning a regular EOF is received or the connection was aborted or closed).
- connection_made(transport)[source]¶
Called when a connection is made.
The argument is the transport representing the pipe connection. To receive data, wait for data_received() calls. When the connection is closed, connection_lost() is called.
duct.protocol.senml¶
- duct.protocol.senml.event_to_json(event: Event) bytes[source]¶
Serialise a Duct Event to plain JSON bytes using the native event dict.
- duct.protocol.senml.event_to_senml(event: Event) bytes[source]¶
Serialise a Duct Event to SenML-JSON bytes.
- duct.protocol.senml.event_to_senml_cbor(event: Event) bytes[source]¶
Serialise a Duct Event to SenML-CBOR bytes.
- duct.protocol.senml.event_to_senml_pack(event: Event) list[source]¶
Convert a Duct Event to a SenML record pack (list of dicts).
- duct.protocol.senml.json_to_event(data: bytes | str, default_ttl: float = 60.0) Event[source]¶
Deserialise a plain JSON event dict to a Duct Event.
- duct.protocol.senml.senml_cbor_to_event(data: bytes, default_ttl: float = 60.0) Event[source]¶
Deserialise SenML-CBOR bytes to a Duct Event.
duct.protocol.sflow.protocol.counters¶
- class duct.protocol.sflow.protocol.counters.DiskIOCounters(u)[source]¶
Bases:
objectCounters for disk IO
- class duct.protocol.sflow.protocol.counters.EthernetCounters(u)[source]¶
Bases:
objectCounters for ethernet frames
- class duct.protocol.sflow.protocol.counters.HostAdapters(u)[source]¶
Bases:
objectCounters for HBAs
- class duct.protocol.sflow.protocol.counters.HostCPUCounters(u)[source]¶
Bases:
objectCounters for host CPU stats
- class duct.protocol.sflow.protocol.counters.HostCounters(u)[source]¶
Bases:
objectCounters for host endpoints
- class duct.protocol.sflow.protocol.counters.HostMemoryCounters(u)[source]¶
Bases:
objectCounters for host memory
- class duct.protocol.sflow.protocol.counters.InterfaceCounters(u)[source]¶
Bases:
objectCounters for network interfaces
- class duct.protocol.sflow.protocol.counters.NetIOCounters(u)[source]¶
Bases:
objectCounters for network interface IO
- class duct.protocol.sflow.protocol.counters.SocketIPv4Counters(u)[source]¶
Bases:
objectCounters for IPv4 sockets
- class duct.protocol.sflow.protocol.counters.SocketIPv6Counters(u)[source]¶
Bases:
objectCounters for IPv6 sockets
- class duct.protocol.sflow.protocol.counters.TokenringCounters(u)[source]¶
Bases:
objectCounters for Token ring networks
- class duct.protocol.sflow.protocol.counters.VGCounters(u)[source]¶
Bases:
objectCounters for AnyLan frames
- class duct.protocol.sflow.protocol.counters.VLANCounters(u)[source]¶
Bases:
objectCounters for VLANs
- class duct.protocol.sflow.protocol.counters.VirtDiskIOCounters(u)[source]¶
Bases:
objectCounters for virtual disk IO
- class duct.protocol.sflow.protocol.counters.VirtMemoryCounters(u)[source]¶
Bases:
objectCounters for virtual memory
duct.protocol.sflow.protocol.flows¶
- class duct.protocol.sflow.protocol.flows.EthernetSample(u)[source]¶
Bases:
objectEthernet sample data
- class duct.protocol.sflow.protocol.flows.IEEE80211MACHeader(u)[source]¶
Bases:
objectEthernet MAC header decoder Not implemented yet
- class duct.protocol.sflow.protocol.flows.IPv6Header(u)[source]¶
Bases:
objectIPv6 header decoder object
- class duct.protocol.sflow.protocol.flows.ISO8023Header(data)[source]¶
Bases:
objectISO8023 header object
- class duct.protocol.sflow.protocol.flows.MPLSLDPFECSample(u)[source]¶
Bases:
objectMPLS LDP FECS sample
- class duct.protocol.sflow.protocol.flows.MPLSTunnelSample(u)[source]¶
Bases:
objectMPLS Tunnel sample
- class duct.protocol.sflow.protocol.flows.PPPHeader(u)[source]¶
Bases:
objectPPP header decoder Not implemented yet
- class duct.protocol.sflow.protocol.flows.SwitchSample(u)[source]¶
Bases:
objectEthernet switch sample data
duct.protocol.sflow.protocol.protocol¶
duct.protocol.sflow.protocol.utils¶
duct.protocol.sflow.protocol.xdr¶
Minimal XDR Unpacker replacing the deprecated xdrlib module.
duct.protocol.sflow.server¶
- class duct.protocol.sflow.server.DatagramReceiver[source]¶
Bases:
DatagramProtocolasyncio DatagramProtocol for receiving sFlow packets
- connection_made(transport)[source]¶
Called when a connection is made.
The argument is the transport representing the pipe connection. To receive data, wait for data_received() calls. When the connection is closed, connection_lost() is called.
duct.protocol.ssh¶
- class duct.protocol.ssh.SSHClient(hostname, username, port, password=None, knownhosts=None)[source]¶
Bases:
objectCreate an SSH connection and tunnel commands over it.
- Parameters:
hostname – Hostname to connect to
username – Username to authenticate with
port – Port to connect to (default: 22)
password – Optional password for authentication
knownhosts – Known hosts file path