Skip to main content

A low-level interface for loading binary Harp protocol data

Project description

harp-python

A low-level interface to data collected with the Harp binary protocol.

How to install

The source code is currently hosted on GitHub.

Binary installers for the latest released version are available at the Python Package Index (PyPI) and can be installed using pip.

pip install harp-python

The list of changes between each release can be found here.

Data model

The interface makes use of a Pydantic data model generated from Harp device schema definitions. The schema data classes are used to automatically generate binary readers for each device.

All binary data files from a single device need to be stored in the same folder alongside the device meta-schema, named device.yml. Each register file should have the following naming convention <deviceName>_<registerAddress>.bin.

For example, for a dataset collected with a Behavior device, you might have:

📦device.harp
 ┣ 📜Behavior_0.bin
 ┣ 📜Behavior_1.bin
...
 ┗ 📜device.yml

How to use

Create device reader object from schema

import harp
reader = harp.create_reader("device.harp")

Read data from named register

reader.OperationControl.read()

Access register metadata

reader.OperationControl.register.address

Create device reader object with UTC datetime format

reader = harp.create_reader("device.harp", epoch=harp.REFERENCE_EPOCH)

Read data with message type information

reader.OperationControl.read(keep_type=True)

Read data from a specific file

reader.OperationControl.read("data/Behavior_10.bin")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

harp_python-0.4.1.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

harp_python-0.4.1-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file harp_python-0.4.1.tar.gz.

File metadata

  • Download URL: harp_python-0.4.1.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.4

File hashes

Hashes for harp_python-0.4.1.tar.gz
Algorithm Hash digest
SHA256 232c38c3dbcc714ff0d7bb18423f5c4a843062442f4b27f77571c7071e606eff
MD5 f27f8d3dc8abb687ed848483b2024b38
BLAKE2b-256 ae78c894fe30960d7df9737bc0e15390b45844c857192787ea3f02666161da86

See more details on using hashes here.

File details

Details for the file harp_python-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for harp_python-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0a91396ec19b76a71019b7ed2d9d550aa5c22148095759f706c70b8d808f69dd
MD5 3c137a938b03e6daad37a63a786118ed
BLAKE2b-256 74588a5d1c27b50544957c51bf2a2d5342bedd4ce5cf891bc2e412ce43dd4640

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page