Skip to main content

pd_proto (Peace Data Protocol)

All detailed technical specifications, internal byte structures, layout constraints, and type tags can be explored in the comprehensive Protocol Specification.

     

Introduction

Python has firmly established itself as the most popular and widely adopted programming language in the world. At the heart of virtually every Python application - ranging from microservices and web backends to data pipelines and machine learning infrastructure - lies the heavy utilization of standard built-in data types.

Because standard applications spend the vast majority of their CPU cycles manipulating and transmitting these exact primitives, pd_proto specializes exclusively in the ultra-fast serialization and deserialization of Python's native built-in types. By focusing on data structures rather than complex object graphs, class inheritance, or custom behavior, pd_proto bypasses the systemic overhead found in traditional serialization frameworks.

System Requirements:

  • OS: 64-bit Operating System (Windows, Linux, macOS)
  • Python: Version 3.8 or higher

Core Advantages

  • Zero Dependencies: Built entirely with native Python C-API bindings and a highly optimized Rust core, requiring no third-party libraries or external runtimes.
  • Platform & Runtime Independent: Fully decoupled from the underlying Operating System and specific Python version updates, ensuring absolute portability across 64-bit Linux, macOS, and Windows.
  • Minimal Binary Footprint: Generates compiled payloads that are significantly smaller than equivalent byte streams produced by native pickle or json.
  • Blazing Fast Performance: Drastically outperforms native CPython serializers by stripping away dynamic object reflection and memory allocation overhead.

Key Architectural Enhancements

Knowing the practical realities of data transmission, pd_proto introduces several architectural mechanics to maximize efficiency:

  • Varint Length Encoding: Length descriptors for collections, strings, and integers utilize variable-length integers (LEB128). Short data segments consume a single byte for length instead of being penalized by fixed 4-byte or 8-byte headers.
  • Optimized Floating-Point Structures: Primitives with up to 6 decimal places (such as 12.22 or 3.14) undergo an automated scaling routine that condenses standard 8-byte IEEE 754 floats into tightly packed Varints.
  • Intelligent Inline Tags: Highly recurrent constants (0, 1–13, 100, 1000) and standard short collection shapes (e.g., a tuple containing exactly 2 or 3 elements) utilize dedicated optimizing tags. This entirely removes the need to write separate size or value descriptors into the stream.
  • Localized String & Big Integers & Float Caching: The processing pipeline uses isolated, bounded in-memory caches during execution. By avoiding repeated memory allocation in the Python heap for highly recurrent strings or numeric primitives, the parser maintains an incredibly low execution profile that easily fits into the CPU's L1 cache.

Installation

Install the compiled library directly from PyPI using pip:

pip install pd_proto

Supported Types

The protocol strictly and natively processes the following built-in types: None | bool | int | float | str | bytes | list | tuple | dict | set | datetime

Note: User-defined subclasses or structures containing application-specific logic must be sanitized and converted into a standard native schema (such as a dictionary or tuple) prior to serialization.

Usage

Just like with pickle and json, use dumps to serialize data and loads to deserialize it.

from pd_proto import dumps, loads

data = {"text": "some text", "is_valid": True, "unique_tags": {"apple", "banana", "cherry"}}
bts = dumps(data)
print(bts)  # b'\x01\x11\x03,text1some text0is_valid\x013unique_tags\x10\x03.banana-apple.cherry'
parsed = loads(bts)
print(parsed)  # {'text': 'some text', 'is_valid': True, 'unique_tags': {'banana', 'apple', 'cherry'}}
assert data == parsed  # The protocol guarantees equality after deserialization

You can use any supported (built-in) types and collections composed of supported types. If an unsupported type is encountered in the data, you will receive a clear error message about it.

Parameters

You can configure certain serialization parameters to boost speed at the cost of the resulting byte array size. Since optimal defaults are already selected, tweaking these settings is generally not recommended.

max_depth - Specifies the maximum allowed nesting depth for collections, throwing an exception if exceeded. Defaults to 1000. Setting it to a negative value or 0 disables the depth check, which may lead to stack overflow and application crashes.

float_limit - Specifies the threshold for float optimization. For details on how this optimization works, refer to the protocol specification. Defaults to 268_435_455.0. If set to a negative value or 0, no attempts will be made to optimize float sizes. This may boost performance but expands the result size since every float takes up 8 bytes.

string_length_limit - Specifies the string size threshold for compression. Strings larger than this value (in bytes) will be compressed. Defaults to 100 bytes. If set to a negative value or 0, no strings will be compressed - for instance, if you know the data is already incompressible.

Errors

Every error has a clear, self-explanatory name and includes a message describing the issue. If you are unsure which specific exception might be raised, you can catch the base exception for all protocol errors(PDProtoError).

from pd_proto import dumps, PDProtoError

data = frozenset([1, 2])
try:
    bts = dumps(data)
except PDProtoError:
    print("Cant use it")  # frozenset is not supported!

Note on frozenset: Despite being a built-in type, frozenset is seldom used and is identical to a standard set from a data perspective (ignoring behavior). If you need to serialize it, just use a regular set.

Files

The library works with file-like objects exactly like the standard pickle and json modules. Simply use the standard dump() and load() methods.

  • Efficient Buffered I/O: All operations utilize highly efficient buffered streaming under the hood.
  • Important for Reading: The load() method requires a real file present in the filesystem (with a valid OS descriptor/handle) to enable zero-copy memory mapping. In-memory streams like io.BytesIO or network sockets are not supported for reading for now.
from pd_proto import dump, load

data = {1: 1, "2": "2", 3: 3.14, 4: [1, 2, 3]}
# Note: The file must be opened in binary mode ('b') since the library works with bytes, not text.
with open("data.bin", "wb") as file_to_write:
    dump(file_to_write, data)  # Serializes the object and writes it directly to the file.

with open("data.bin", "rb") as file_to_read:
    parsed = load(file_to_read) # Deserializes the object from the file.

assert data == parsed  # The protocol guarantees full equality after deserialization.

Comparison with JSON

The primary benefit of JSON over pd_proto is human-readability. Otherwise, JSON produces larger payloads and performs slower.

For obvious architectural reasons, the binary payloads generated by pd_proto are significantly more compact - often reducing data size by up to 50% compared to standard JSON text strings. pd_proto delivers substantially faster execution speeds while simultaneously maintaining a much smaller byte footprint.

Furthermore, unlike JSON, pd_proto provides native, out-of-the-box support for complex types and states such as datetime, set, tuple, bytes as well as IEEE 754 special float values (NaN, Inf, and -Inf).

A notorious limitation of JSON is its inability to serialize bytes and dates, forcing developers to convert it into text strings. This introduces the systemic overhead of string parsing on the receiving end, which requires strict prior coordination of the exact date format or bytes encoding. pd_proto completely eliminates this friction, packing and restoring directly into standard Python datetime or bytes objects.

  • Important Notice on Naive Datetimes: Please note that naive datetime objects (those without an explicit timezone) are serialized as raw timestamps. If a naive datetime is packed on a machine in one geographic timezone and unpacked on a machine running in a different timezone, its absolute value will shift accordingly. This fully mirrors native CPython runtime behavior and must be accounted for during cross-region data transfers.

Comparison with Pickle

While pickle is highly optimized and executes rapidly (particularly within Linux environments), pd_proto delivers matching or superior processing speeds depending on the specific volume and composition of the dataset. Besides, pd_proto consistently yields a more compact serialized byte footprint.

A distinct advantage of pickle is its inherent capacity to serialize user-defined class instances and custom subclasses derived from built-in types - a capability explicitly omitted from pd_proto. Instead, pd_proto maintains a strict, uncompromised focus on data structures, ensuring maximum throughput and minimal storage footprint.

Furthermore, pd_proto is entirely decoupled from specific Python runtime versions and is uniformly optimized across all operating systems, whereas pickle exhibits a pronounced performance bias toward Linux environments.

Benchmarks

The size of serialized data remains identical across different operating systems and Python versions. However, execution speed may vary depending on data volume, content, and the OS itself. For instance, pickle is faster on Linux but processes datetime slowly. Below are a few benchmarks on the simplest data across various operating systems.

If you add datetimes to this dataset, the performance gap with pickle becomes even more significant. As for JSON, you would have to convert datetimes to strings beforehand, since it does not support these data types natively.

Windows 10 (Python 3.13.1 [MSC v.1942 64 bit (AMD64)] on win32)

Python 3.13.1 >>> from pd_proto import dumps
Python 3.13.1 >>> import json, pickle
Python 3.13.1 >>> from timeit import timeit
Python 3.13.1 >>> data = {1:1, "2":"2", 3:3.14, 4:[1,2,3]}
Python 3.13.1 >>> dumps(data)
b'\x01\x11\x04==)2%\x00?\x16\xba\x02@S=>?'
Python 3.13.1 >>> json.dumps(data)
'{"1": 1, "2": "2", "3": 3.14, "4": [1, 2, 3]}'
Python 3.13.1 >>> pickle.dumps(data)
b'\x80\x04\x95&\x00\x00\x00\x00\x00\x00\x00}\x94(K\x01K\x01\x8c\x012\x94h\x01K\x03G@\t\x1e\xb8Q\xeb\x85\x1fK\x04]\x94(K\x01K\x02K\x03eu.'
Python 3.13.1 >>> timeit("dumps(data)", "from __main__ import data, dumps, pickle", number=1000_000)
0.6568191999976989
Python 3.13.1 >>> timeit("pickle.dumps(data)", "from __main__ import data, dumps, pickle", number=1000_000)
0.8377401000034297
Python 3.13.1 >>> timeit("json.dumps(data)", "from __main__ import data, dumps, pickle, json", number=1000_000)
1.9830707000000984

MacOS Tahoe (Python 3.13.1 [Clang 15.0.0 (clang-1500.3.9.4)] on darwin)

>>> data = {1:1, "2":"2", 3:3.14, 4:[1,2,3]}
>>> import pickle, json
>>> from pd_proto import dumps
>>> from timeit import timeit
>>> dumps(data)
b'\x01\x11\x04==)2%\x00?\x16\xba\x02@S=>?'
>>> json.dumps(data)
'{"1": 1, "2": "2", "3": 3.14, "4": [1, 2, 3]}'
>>> pickle.dumps(data)
b'\x80\x04\x95&\x00\x00\x00\x00\x00\x00\x00}\x94(K\x01K\x01\x8c\x012\x94h\x01K\x03G@\t\x1e\xb8Q\xeb\x85\x1fK\x04]\x94(K\x01K\x02K\x03eu.'
>>> timeit("dumps(data)", "from __main__ import dumps, data, pickle, json", number=1000_000)
0.7029794589616358
>>> timeit("pickle.dumps(data)", "from __main__ import dumps, data, pickle, json", number=1000_000)
0.7053574579767883
>>> timeit("json.dumps(data)", "from __main__ import dumps, data, pickle, json", number=1000_000)
1.838942875037901

Linux Ubuntu 26 (Python 3.14.4 [GCC 15.2.0] on linux)

>>> import pickle, json
... from pd_proto import dumps
... from timeit import timeit
...
>>> data = {1:1, "2":"2", 3:3.14, 4:[1,2,3]}
>>> dumps(data)
b'\x01\x11\x04==)2%\x00?\x16\xba\x02@S=>?'
>>> json.dumps(data)
'{"1": 1, "2": "2", "3": 3.14, "4": [1, 2, 3]}'
>>> pickle.dumps(data)
b'\x80\x05\x95&\x00\x00\x00\x00\x00\x00\x00}\x94(K\x01K\x01\x8c\x012\x94h\x01K\x03G@\t\x1e\xb8Q\xeb\x85\x1fK\x04]\x94(K\x01K\x02K\x03eu.'
>>> timeit("dumps(data)", "from __main__ import dumps, data, pickle, json", number=1000_000)
0.7428264559999889
>>> timeit("pickle.dumps(data)", "from __main__ import dumps, data, pickle, json", number=1000_000)
0.8976360610000143
>>> timeit("json.dumps(data)", "from __main__ import dumps, data, pickle, json", number=1000_000)
2.200423194999985

Linux Debian 13 (Python 3.13.5 [GCC 14.2.0] on linux)

>>> import pickle, json
... from pd_proto import dumps
... from timeit import timeit
...
>>> data = {1:1, "2":"2", 3:3.14, 4:[1,2,3]}
>>> dumps(data)
b'\x01\x11\x04==)2%\x00?\x16\xba\x02@S=>?'
>>> json.dumps(data)
'{"1": 1, "2": "2", "3": 3.14, "4": [1, 2, 3]}'
>>> pickle.dumps(data)
b'\x80\x04\x95&\x00\x00\x00\x00\x00\x00\x00}\x94(K\x01K\x01\x8c\x012\x94h\x01K\x03G@\t\x1e\xb8Q\xeb\x85\x1fK\x04]\x94(K\x01K\x02K\x03eu.'
>>> timeit("dumps(data)", "from __main__ import dumps, data, pickle, json", number=1000_000)
0.7543717089999973
>>> timeit("pickle.dumps(data)", "from __main__ import dumps, data, pickle, json", number=1000_000)
0.8993470230000185
>>> timeit("json.dumps(data)", "from __main__ import dumps, data, pickle, json", number=1000_000)
2.2170975030000477

Release files for pd-proto 1.0.2

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

Source distribution (sdist)

Source distribution for pd-proto 1.0.2
File Size Uploaded
pd_proto-1.0.2.tar.gz 162.0 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for pd-proto 1.0.2
File
pd_proto-1.0.2-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
pd_proto-1.0.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
pd_proto-1.0.2-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
pd_proto-1.0.2-cp314-cp314-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.12+ x86-64 Details
pd_proto-1.0.2-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
pd_proto-1.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
pd_proto-1.0.2-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
pd_proto-1.0.2-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details
pd_proto-1.0.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
pd_proto-1.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
pd_proto-1.0.2-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
pd_proto-1.0.2-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details
pd_proto-1.0.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
pd_proto-1.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
pd_proto-1.0.2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
pd_proto-1.0.2-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details
pd_proto-1.0.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
pd_proto-1.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
pd_proto-1.0.2-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
pd_proto-1.0.2-cp310-cp310-macosx_10_12_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.12+ x86-64 Details
pd_proto-1.0.2-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
pd_proto-1.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
pd_proto-1.0.2-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
pd_proto-1.0.2-cp39-cp39-macosx_10_12_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.12+ x86-64 Details
pd_proto-1.0.2-cp38-cp38-win_amd64.whl CPython 3.8 CPython 3.8 Windows x86-64 Details
pd_proto-1.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
pd_proto-1.0.2-cp38-cp38-macosx_11_0_arm64.whl CPython 3.8 CPython 3.8 macOS 11.0+ ARM64 Details
pd_proto-1.0.2-cp38-cp38-macosx_10_12_x86_64.whl CPython 3.8 CPython 3.8 macOS 10.12+ x86-64 Details

Total release size: 11.8 MB

Release files / pd_proto-1.0.2.tar.gz

Download URL pd_proto-1.0.2.tar.gz
Size 162.0 kB
Tags Source
SHA-256 checksum
How to use checksums
74e9ea169997cb6e0fd2c9ff19081b0201f4c71ab760a8533a1123a3d1aec023
BLAKE2b-256 checksum
How to use checksums
fa8f0179208abd073662c24d943aaf045f93650b2e18e79f71425ec9b39f6028
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp314-cp314-win_amd64.whl

Download URL pd_proto-1.0.2-cp314-cp314-win_amd64.whl
Size 342.5 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
be55f4954c2d1d32bc1c62e43c80bde507413ab034894bc3ea05f965e19152c5
BLAKE2b-256 checksum
How to use checksums
2963b80ad0cf1c1500de4633728b4c6d5c20365fa72c695b4cf160346b22080b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pd_proto-1.0.2-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 472.6 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a247c7985b3ad98627b5f18f427850773342364e4d1a872dd48079b14fa638db
BLAKE2b-256 checksum
How to use checksums
c3ef51f4b6bd8218af2f961d8d4c88d6fe9f316dcc9f23636a5b75b23f580592
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp314-cp314-macosx_11_0_arm64.whl

Download URL pd_proto-1.0.2-cp314-cp314-macosx_11_0_arm64.whl
Size 401.4 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f2ea42a763827e08d42ab69142da5bfcacd7ea2896cc664c0727acbc774a6193
BLAKE2b-256 checksum
How to use checksums
4d85aa80b7c5857e0319236e76684dde06930859a9dd9edcb04bd120e6529f33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp314-cp314-macosx_10_12_x86_64.whl

Download URL pd_proto-1.0.2-cp314-cp314-macosx_10_12_x86_64.whl
Size 433.4 kB
Tags CPython 3.14 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
e6a3871187432193ee4566d9023da2cbeaf21225b878a78337caf6fd7b8b847f
BLAKE2b-256 checksum
How to use checksums
42ab8244b9cbb0719c0799c989efa2a0a47a8171206019864ecd7b00735f36dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp313-cp313-win_amd64.whl

Download URL pd_proto-1.0.2-cp313-cp313-win_amd64.whl
Size 340.9 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
e6d13f130dcde51cbf602fd86b7294dca0ceb9af7ec6f9fae343cac66691d745
BLAKE2b-256 checksum
How to use checksums
d0ab7d441f52f47aabb5b17af7a5d8c663fdea45d81efe1b9fe3e5602b4fb892
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pd_proto-1.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 472.0 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
9b1aea6a3fbd926ebddfd949d4ff3763abfbc9b5465919a899bf2bfb1e0b16bd
BLAKE2b-256 checksum
How to use checksums
767429966732e5a714248b59616114e116412e2004a585a471affffe25c81407
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp313-cp313-macosx_11_0_arm64.whl

Download URL pd_proto-1.0.2-cp313-cp313-macosx_11_0_arm64.whl
Size 400.3 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
129d9dc0ef633e6fc8d55eb9b9aa5158b203b9533ba406a95d2d15a7c84661a7
BLAKE2b-256 checksum
How to use checksums
88e75a8a05c11dd3f3dcbfdb340bc4c22fb029dbde6b86e6bb2f76257838bbd5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp313-cp313-macosx_10_12_x86_64.whl

Download URL pd_proto-1.0.2-cp313-cp313-macosx_10_12_x86_64.whl
Size 431.8 kB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
4cf818009a1b2de00a74651dc688eb9053e438d0bc4b5945974d75f02cd1e90f
BLAKE2b-256 checksum
How to use checksums
6ddb77ce5ab9ddd12115723847589d08693c319f890cff47e251943e7f488975
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp312-cp312-win_amd64.whl

Download URL pd_proto-1.0.2-cp312-cp312-win_amd64.whl
Size 342.1 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
fe68df307992fc4b81ec2cf5e2994eb25c31d45f4c7f91bb6b090a4ae150d114
BLAKE2b-256 checksum
How to use checksums
2fad71da55d21c61d21b98b7e532efb414f3e11d7315740a73d1e64d2f2644fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pd_proto-1.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 472.3 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
fdf304047369e2fc01446a1e467620233ad775a6ef05dc7259b4ff187a9e828d
BLAKE2b-256 checksum
How to use checksums
3bc68736a7865c53505d00f0fbfb4dcb4ac7776d2599d56c13d7992a523cdcf4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp312-cp312-macosx_11_0_arm64.whl

Download URL pd_proto-1.0.2-cp312-cp312-macosx_11_0_arm64.whl
Size 400.9 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1c137dd4c15b6968c88ab5cdfbb00453bc228cfb28a9d18f1e21716ecbbd743c
BLAKE2b-256 checksum
How to use checksums
3e1b5da8b5a2465153f1a0e0b114c21dd2ba97460107aab6f21b957593f7378b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp312-cp312-macosx_10_12_x86_64.whl

Download URL pd_proto-1.0.2-cp312-cp312-macosx_10_12_x86_64.whl
Size 432.3 kB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
33ae89be7cff81a7aa41e0304d267befaff5dd5520234394e287ac758e80b735
BLAKE2b-256 checksum
How to use checksums
2d47573818891be5740c36f7ebab068f6ba1f1dea524d01b3ce576a2c84de01e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp311-cp311-win_amd64.whl

Download URL pd_proto-1.0.2-cp311-cp311-win_amd64.whl
Size 345.3 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
559dc2d8df6f0f9acab496611c583e52c7a586cee3464418a02e8709901ceedb
BLAKE2b-256 checksum
How to use checksums
390a3833ebcc93af499385fafeb5ed7980fce32f1daf079d5a9b1f320046ad0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pd_proto-1.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 476.4 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
02e62d755bbb0cc6f2bda3cb0ad62a9dac10f680f70b8cfdb06c0297527dd6ac
BLAKE2b-256 checksum
How to use checksums
f385539fdc3fafb621669b7e8e29c5014f51e6023dc5a9641a7d5a44db2fa981
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp311-cp311-macosx_11_0_arm64.whl

Download URL pd_proto-1.0.2-cp311-cp311-macosx_11_0_arm64.whl
Size 406.1 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b58a3e0ef78647b8327728cc868b0768a55f00396d8a149b90151f2f5dc0eaac
BLAKE2b-256 checksum
How to use checksums
f77e1bfb1e735ebd0c7cab5467037c70a9de191d63c3734d9c641683df98e650
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp311-cp311-macosx_10_12_x86_64.whl

Download URL pd_proto-1.0.2-cp311-cp311-macosx_10_12_x86_64.whl
Size 432.6 kB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
c9deccebeff515f30ccdd91958d8560b0b9ad70ad6793115a73ab1233e46919f
BLAKE2b-256 checksum
How to use checksums
206b9c65bbdc379a821d9973e0e843177fd457dc4d62c57a5fbe4ecbc0a52306
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp310-cp310-win_amd64.whl

Download URL pd_proto-1.0.2-cp310-cp310-win_amd64.whl
Size 345.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
ade73d838d067d39ec8190f7280d9a393d4e866fbc62a01e5fbb0398f324c22d
BLAKE2b-256 checksum
How to use checksums
b357ad70871447496e8588cd996fe3195ad8620309a46d63e464bdee5dc09a71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pd_proto-1.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 476.7 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
5852fe5262d68cbe3fda95e79fdc9664c649a67a0e1ac9fc75c63876e64c984d
BLAKE2b-256 checksum
How to use checksums
4ce68f10e17279fccb08fd8e8fcc51c992f437e71b9d10d8d1e3216ab3d780f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp310-cp310-macosx_11_0_arm64.whl

Download URL pd_proto-1.0.2-cp310-cp310-macosx_11_0_arm64.whl
Size 406.7 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
481c76a5a4a37385f7677667f6b4f506d06e83a7d70e6891790e8585ffbfbf14
BLAKE2b-256 checksum
How to use checksums
2c12771761e5863470d504631ea1853750cf3f80c6414a24f99a98236a092c27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp310-cp310-macosx_10_12_x86_64.whl

Download URL pd_proto-1.0.2-cp310-cp310-macosx_10_12_x86_64.whl
Size 433.1 kB
Tags CPython 3.10 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
a5734f7f85606dafac5aa48cfb6f98f5787a5a59ab05641c9b83b4c024cdf811
BLAKE2b-256 checksum
How to use checksums
1a9b1489e6ac20c7a10013fd17fd5ce44d8aa45d1f05b9cf47d3de4a0f259ec7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp39-cp39-win_amd64.whl

Download URL pd_proto-1.0.2-cp39-cp39-win_amd64.whl
Size 344.5 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
bb9bb07a2b3616c7b5e4ce1e400d1d2f12d5bae7f9bbec75f5f91a5cd66b631c
BLAKE2b-256 checksum
How to use checksums
4863c910871e4f107e8d3e41d81bd662812877dfeeca98f2c59d531b8c89488c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pd_proto-1.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 477.5 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
fe816c0249a0dbd3dea2a4dfba2aa4800a5945879dbea7a6bfa9de344ba1c1b6
BLAKE2b-256 checksum
How to use checksums
bf5094b01f0ce2654ddc71bdf91060ddfbb219c25e2dc0090722ce1f7e62b704
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp39-cp39-macosx_11_0_arm64.whl

Download URL pd_proto-1.0.2-cp39-cp39-macosx_11_0_arm64.whl
Size 406.8 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
918afb0f96eea9f13668dadc979e5ae0a9f7aa55c9ad18db7601ef7800174a91
BLAKE2b-256 checksum
How to use checksums
c506f2c30f62159db3e5a54db8ab9313467a5722f6421ae634cfbf030472a13a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp39-cp39-macosx_10_12_x86_64.whl

Download URL pd_proto-1.0.2-cp39-cp39-macosx_10_12_x86_64.whl
Size 433.3 kB
Tags CPython 3.9 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
92f734c3f0f6c0f8bd98017fc20aa3bdeef931129f6a689934f46706c9e29aa2
BLAKE2b-256 checksum
How to use checksums
32408e3b26d60d8ddeea44e34429871f12ce41660d1f7f145fb12611edcbc227
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp38-cp38-win_amd64.whl

Download URL pd_proto-1.0.2-cp38-cp38-win_amd64.whl
Size 347.7 kB
Tags CPython 3.8 Windows x86-64
SHA-256 checksum
How to use checksums
7049966b65368162ad11057dd30106e87c7cf3985a882b2852de6e87dd6599e0
BLAKE2b-256 checksum
How to use checksums
d0d455ca10834ea7498260f9fe025699815955b06df87b53d55169bd82eeed78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL pd_proto-1.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 478.5 kB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
32ea735646ee2878971940bcdc30290207377061e3a50ab08ef9ed49152d5e90
BLAKE2b-256 checksum
How to use checksums
e83f31de0fb5365bc107b7e78d7148e02597199a59a7c4ed8de24d84434d93a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp38-cp38-macosx_11_0_arm64.whl

Download URL pd_proto-1.0.2-cp38-cp38-macosx_11_0_arm64.whl
Size 407.4 kB
Tags CPython 3.8 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c1101bc27353fe9afda7cee83304416b9cc3f061e1b8a4f61323ea4560185b7b
BLAKE2b-256 checksum
How to use checksums
25035274b972c091fae9a8586ce82e8f96b3951b915504bdcf6a6e2a781c81ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release files / pd_proto-1.0.2-cp38-cp38-macosx_10_12_x86_64.whl

Download URL pd_proto-1.0.2-cp38-cp38-macosx_10_12_x86_64.whl
Size 434.3 kB
Tags CPython 3.8 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
74fc625d38392857c402dd228c3a6171c77fcb3133996257cdacdd7899b35768
BLAKE2b-256 checksum
How to use checksums
bb6d415200a8b5a07c6bfb33b34b5014197520fa152b2048c92f49be0b71db88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 16, 2026.

Transparency log

Release history Release notifications | RSS feed

1.1.1

29 release files

1.1.0

29 release files

This release

1.0.2 This release

29 release files

1.0.1

29 release files

1.0.0

29 release files

0.9.2

25 release files

0.9.1

9 release files

0.9.0

1 release file

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