Skip to main content

Utilities for communicating time-series data across a network using gRPC.

Project description

tsercom

This library provides utilities for transmitting time-series data across a network, from client to server and back again (if needed) using gRPC.

WARNING: This library is still in alpha version. It works for my project use case, but has not yet been fully tested with unit tests. Use at your own risk!

This library operates on the principle that many data science libraries use a "blocking" model, in that calls are made, and then the thread sits and waits for a response to be available, while networking calls are expected to be high-performance and minimal overhead, so these operations should be isolated from one-another on different threads. At the same time, the user should not need to worry about the fact that different threads are being used, and can instead just look for new data as needed, without worrying about the underlying network connection.

Specifically, this library supports the following:

  • Creation of both synchronous and asynchronous gRPC Connections, and utilities for maintaining these connections.
  • Reconnections upon failure.
  • Time synchronization between client and server instances using NTP, as well as utilities to make use of this synchronization.
  • Identities for clients, as assigned by servers, and utlities to Time Series Communication Utilities for Data Science Applications
  • Utilities for serializing and deserializing common types to and from protobufs (for use with gRPC), as well as the proto files which must be imported in a gRPC Service definition to use these instances.
  • Threading utilities necessary to synchronize between a "main" thread and other "utility" threads.

Dependencies

NOTE: If the gRPC dependency here gets out-of-date, it is a 2 minute fix to update it! Just check out the repo, run scripts/generate_protos.py, and put up a pull request!

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

tsercom-0.0.1a5.tar.gz (45.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tsercom-0.0.1a5-py3-none-any.whl (65.8 kB view details)

Uploaded Python 3

File details

Details for the file tsercom-0.0.1a5.tar.gz.

File metadata

  • Download URL: tsercom-0.0.1a5.tar.gz
  • Upload date:
  • Size: 45.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for tsercom-0.0.1a5.tar.gz
Algorithm Hash digest
SHA256 50d31ab1d3797df952c6655a2f7659c0d0ba525df262c4048a0316997f036647
MD5 67dcbb2900cb73e2c8c9677a97426613
BLAKE2b-256 dcc8d395abd0d73a891b9ef24dc4783f49de27cb9af5e18b954f8344c4b3f9b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for tsercom-0.0.1a5.tar.gz:

Publisher: publish_to_pypi.yml on rwkeane/tsercom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tsercom-0.0.1a5-py3-none-any.whl.

File metadata

  • Download URL: tsercom-0.0.1a5-py3-none-any.whl
  • Upload date:
  • Size: 65.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for tsercom-0.0.1a5-py3-none-any.whl
Algorithm Hash digest
SHA256 2321ac760a1be0ec01b846d266481bebaf63c2118ffc88581452cb6d77eec660
MD5 fee6afa291188cba65520d1ee0babbcc
BLAKE2b-256 b38c9d80892de9ddb5a858c8115a025f5749f39340959d179d4c99a4fa5eee7a

See more details on using hashes here.

Provenance

The following attestation bundles were made for tsercom-0.0.1a5-py3-none-any.whl:

Publisher: publish_to_pypi.yml on rwkeane/tsercom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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