Skip to main content

This is a highly experimental project in a pre-alpha state. Use at your own risk.

Domain Type System

The Domain Type System (DTS) is the first draft and implementation of the concept of a flexible "decentralized type system."

Goal

The goal of the project is to allow data structures to be shared across the network by their type instead of server endpoints. DTS receives a data structure and sends it to any interested parties subscribed to the data structure's type.

It's currently used by and developed for a tiny sake brewing operation. It has been created solely for this purpose but will hopefully be extended over time.

The development of this project has enabled us to plug in new hardware sensors and data logging devices without the need to reconfigure multiple projects across a variety of hardware.

Limitations

Currently the project only works over local multicast (with a different multicast group per type). The plan is to support pluggable transport implementations over other networks: TCP, HTTP, Web Sockets, and potentially other message passing implementations such as MQTT, ZeroMQ, nanomsg, Amazon SQS, etc.

It's also tied to the capnproto data interchage format, though there's nothing keeping it from being data interchange agnostic in the future. There's no reason it can't support the likes of JSON, CBOR, Ion, MessagePack, Protocol Buffers, XML, Python Pickles, or even raw bytes, for example.

Only small data structures can be sent right now (anything that fits into a typical <1500 byte packet, minus DTS overhead). This is only because large amounts of data weren't needed for our purposes during development, but this will change in the future.

Running in Docker

As this project currently requires multicast, you either need to route multicast traffic to the appropriate docker interface or run the docker container with --net=host.

The following command enables routing of the multicast CIDR block DTS will use to the default docker interface:

# ip route add 239.255.0.0/16 dev docker0

Without additional setup, this will affect the container's routing to other networks (including the internet). If this is problematic, check out pipework for many well-tested use-cases.

pimd, a multicast router, may also be of interest.

Metadata

Release files for domaintypesystem 0.1.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for domaintypesystem 0.1.9
File Interpreter ABI Platform Actions
domaintypesystem-0.1.9-py3-none-any.whl Python 3 none any Details for domaintypesystem-0.1.9-py3-none-any.whl

Release files / domaintypesystem-0.1.9-py3-none-any.whl

Download URL domaintypesystem-0.1.9-py3-none-any.whl
Size 21.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a4da30e6b5048cd59aaff87b45ee3ce6ca623f0ad3d97634880277c41984ffd4
BLAKE2b-256 checksum
How to use checksums
e84259d6b746461c6bff6b8e3d504f408f30cff925ea468a6a8f5c6898b9a585
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.34.0 CPython/3.7.4

Security for domaintypesystem 0.1.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page