Skip to main content

Library for working with RedVox files.

Project description

### RedVox Python SDK

This repository contains code for reading and working with the RedVox API 900 data format.

See: https://bitbucket.org/redvoxhi/redvox-api900-python-reader/src/master/docs/v2.7.1/redvox-api900-docs.md for SDK documentation.

![Bitbucket Pipelines branch](https://img.shields.io/bitbucket/pipelines/redvoxhi/redvox-api900-python-reader/master)

### Changelog

### 2.8.6 (2020-05-12)

  • Add small HTTP interface to upcoming RedVox cloud API

  • Added new sub-command to CLI data_req_report which takes a report ID and will download the report data for authenticated users

### 2.8.5 (2020-05-11)

  • The auth_token CLI field for the data_req CLI command has been renamed to secret_auth to better reflect the fact that it is a shared secrete.

  • CLI for data req now makes the shared secret auth key optional dependent on the settings of the remote server.

### 2.8.4 (2020-05-07)

  • Add –protocol option to redvox-cli when making data request. This allows the data client to optionally connect over HTTP (mainly only useful for local testing)

### 2.8.3 (2020-05-06)

  • Add mach_time_zero to TimeSyncData class

  • Add best_tri_msg_indices to TimeSyncData class to identify which tri-message exchange indicated the best latency and offset

  • Add validation checks to ensure that there is no change in sample rate or mach_time_zero in the analyzed packets

  • Add check for change in mach_time_zero when identifying gaps

### 2.8.2 (2020-04-27)

  • Add workaround for accessing mach_time_zero in incorrectly constructed Android packets

### 2.8.1 (2020-04-02)

  • TriMessageStats will now append empty arrays in a tuple to tri_message_coeffs when the time sync sensor is empty or doesn’t exist.

  • Functions compute_barometric_height and compute _barometric_height_array take additional optional arguments: surface temperature in K, molar mass of air in kg/mol, acceleration of gravity in m/s2 and the universal gas constant in (kg * m2)/(K * mol * s2)

### 2.8.0 (2020-03-31)

  • Added a migration module that allows users to slowly begin migrating API 900 data towards API 1000. A flag can be set either through the API or by setting an environment variable ENABLE_MIGRATIONS=”1”. When enabled, all getters for numeric types will return floating point values (the only numeric type in API 1000).

### 2.7.9 (2020-03-25)

  • Added properties: server_acquisition_times, packet_duration and mach_time_zero to redvox/api900/timesync/api900_timesync.py to assist with analyzing time sync data

### 2.7.8 (2020-03-23)

  • Added a property: tri_message_coeffs to redvox/api900/timesync/api900_timesync.py to allow access to the tri-message coefficients

  • Allowed access to the function evaluate_latencies_and_offsets in redvox/api900/timesync/api900_timesync.py

### 2.7.7 (2020-03-19)

  • Added unit tests for redvox/common/stats_helper.py

  • The functions mean_of_means, variance_of_means and mean_of_variance in redvox/common/stats_helper.py will not fail when sum(counts) is 0.

### 2.7.6 (2020-03-19)

  • Added validation function that removes duplicated timestamps to redvox/api900/timesync/tri_message_stats.py

  • Added get_latency_mean, get_latency_std_dev, get_offset_mean and get_offset_std_dev functions to redvox/api900/timesync/api900_timesync.py

  • Updated unit tests

### 2.7.5 (2020-03-13)

  • Expose new package redvox/api900/qa

  • Expose new gap detection module redvox/api900/qa/gap_detection.py

  • Provide a public identify_time_gaps method

### 2.7.1 (2020-03-03)

  • Add and define useful constants to redvox/common/constants.py

  • Add cross-correlation functions to redvox/common/cross_stats.py

  • Add date time utilities to redvox/common/date_time_utils.py

  • Add rdvxz file statistics functions to redvox/common/file_statistics.py

  • Add statistical helper functions to redvox/common/stats_helper.py

  • Add new time synchronization package at redvox/api900/timesync

  • Add a location analyzer to redvox/api900/location_analyzer.py

  • Updated unit tests and documentation

  • Updated dependencies to latest versions

  • Added additional code QA (pylint, mypy, coverage)

### 2.6.1 (2020-01-28)

  • Update bulk data download client to utilize a RedVox provided authentication token

### 2.6.0 (2019-12-11)

  • Update the redvox-cli
    • The CLI is now installed when this SDK is installed and available to the user as `redvox-cli`

    • Added improved logging and error handling

    • Added ability to download bulk RedVox data sets

### 2.5.1 (2019-10-23)

  • Add top level setter for mach_time_zero
    • WrappedRedvoxPacket.set_mach_time_zero(self, mach_time_zero: int) -> ‘WrappedRedvoxPacket’

### 2.5.0 (2019-10-17)

  • Add top level getters and setters for accessing time synchronization metrics stored in RedVox Packet metadata.
    • WrappedRedvoxPacket.best_latency(self) -> typing.Optional[float]

    • WrappedRedvoxPacket.set_best_latency(self, best_latency: float) -> ‘WrappedRedvoxPacket’

    • WrappedRedvoxPacket.best_offset(self) -> typing.Optional[float]

    • WrappedRedvoxPacket.set_best_offset(self, best_offset: float) -> ‘WrappedRedvoxPacket’

    • WrappedRedvoxPacket.is_synch_corrected(self) -> bool

    • WrappedRedvoxPacket.set_is_synch_corrected(self, is_synch_corrected: bool) -> ‘WrappedRedvoxPacket’

  • Add shortcut for adding metadata to a RedVox Packet (previously the entire metadata needed to be set at a time)
    • WrappedRedvoxPacket.add_metadata(self, key: str, value: str) -> ‘WrappedRedvoxPacket’

### 2.4.0 (2019-10-8)

  • Add mach_time_zero accessor to WrappedRedvoxPackets.
    • WrappedRedvoxPacket.mach_time_zero(self) -> typing.Optional[int]

### 2.3.0 (2019-9-25)

  • concat._identify_gaps now only checks for dropped data from sensors. It checks for timing continuity by ensuring that the gap between packets is no larger than a configurable amount for a given sample rate.

  • concat._identify_sensor_changes was added to identify sensor changes such as change in sample rate, change in sensor name, change in data type, or missing sensor data

### 2.2.1 (2019-5-14)

  • Added stat utils tests and updated function

  • Edited documentation typos; 2.2.0 documentation still valid for 2.2.1

### 2.2.0 (2019-4-26)

  • Add sensor timing correction

  • Update documentation

  • Fix more cyclic dependency issues

#### 2.1.1 (2019-4-24)

  • Start and end timestamps are now optional when reading .rdvxz files from a range. For timestamps that are not supplied, the timestamps are parsed from the data file names to find the earliest and latest timestamp.

  • Fixed a bug that created a cyclic dependency between the reader and concat modules.

### 2.0.0 (2019-4-12)

### 1.5.0 (2019-3-20)

  • Add setters for all fields

  • Add the ability to easily create sensor channels and RedVox packets

  • Add CLI that * Converts .rdvxz files to .json files * Displays the contents of .rdvxz files

  • Add ability to compare files and sensor channels

  • Update documentation and API documentation

  • Add more examples

### 1.4.1 (2019-2-15)

  • Update required libraries

  • Add ability to get original compressed buffer from WrappedRedvoxPacket

  • Add utility functions for LZ4 compression

### v1.4.0 (2018-12-5)

  • Added support for serializing to/from JSON

  • Fixed bug where has_time_synchronization_channel() would return true even if the payload was empty

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

redvox-2.8.6.tar.gz (78.4 kB view hashes)

Uploaded Source

Built Distribution

redvox-2.8.6-py3-none-any.whl (93.8 kB view hashes)

Uploaded Python 3

Supported by

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