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.2a1.tar.gz (46.4 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.2a1-py3-none-any.whl (66.4 kB view details)

Uploaded Python 3

File details

Details for the file tsercom-0.0.2a1.tar.gz.

File metadata

  • Download URL: tsercom-0.0.2a1.tar.gz
  • Upload date:
  • Size: 46.4 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.2a1.tar.gz
Algorithm Hash digest
SHA256 9faf120023ccec9d4c99a9d18db9a568654c9ee16883b0d7b5124984f24385d9
MD5 2cf3ba250a6b7d22d4ed8251945c638a
BLAKE2b-256 94c23846091631c22931d68b85d806c15eeae62725c101b5023547a1f7760087

See more details on using hashes here.

Provenance

The following attestation bundles were made for tsercom-0.0.2a1.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.2a1-py3-none-any.whl.

File metadata

  • Download URL: tsercom-0.0.2a1-py3-none-any.whl
  • Upload date:
  • Size: 66.4 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.2a1-py3-none-any.whl
Algorithm Hash digest
SHA256 df6ec2d26a6fdd3cf24d039aeb7c5ed4169a9ba4fd23f8fdbb110a8496518607
MD5 f1fa242a261957a96e1e1f68272a4538
BLAKE2b-256 1e14a8b8a92836d7d9b0ee31852204b9b4b5db24f48b879f6a89f893c87911cc

See more details on using hashes here.

Provenance

The following attestation bundles were made for tsercom-0.0.2a1-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