prophy
prophy: fast serialization protocol
What it is and what it does
Prophy is a statically typed, binary serialization protocol designed for efficient cross-language communication. You define message schemas in a custom IDL language, use the prophyc compiler to generate language-specific codecs (Python and C++), and then use those codecs to serialize and deserialize structured data to and from compact binary format. The protocol is tag-free and unpacked, meaning it relies on schema knowledge rather than embedded type information, which reduces overhead but requires both sides to know the schema in advance.
The package includes both a Python runtime library and a code generator. For Python, you instantiate message objects, populate fields, and call encode() to serialize or decode() to deserialize. The same schema can be compiled to C++ for high-performance use cases. However, the project has been abandoned since 2022-09-01 with no recent maintenance, so it is not receiving updates for newer Python versions or dependency changes.
Use it for:
- Embedded systems and telecommunications applications requiring compact binary protocols with minimal overhead.
- Cross-language services where Python frontends need to communicate with C++ backends using a shared binary format.
- Real-time data streaming where message size and serialization speed are critical performance factors.
- Protocol definition and code generation workflows where schema-driven development is preferred.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Prophy is a binary serialization protocol with a code generator that produces Python and C++ codecs from a schema definition language, enabling efficient cross-language message encoding and decoding.
No—unless you are maintaining legacy code already using Prophy. The package is abandoned (last release 2022-09-01, no commits since), so it will not receive security updates, bug fixes, or compatibility patches for newer Python versions. For new projects, use actively maintained alternatives. The low install friction and permissive license do not offset the maintenance risk.
Install
prophy on PyPI
pip
pip install prophyuv
uv add prophypoetry
poetry add prophyInstalling prophy
Before you install
Low install friction with a pure-Python wheel distribution. However, the package is abandoned—last release was 2022-09-01 and no commits since then—so expect no maintenance, bug fixes, or support for newer Python or dependency versions.
License in practice
MIT license permits commercial and private use with minimal restrictions, requiring only attribution and inclusion of the license text in distributions.
Quickstart
pip install prophy
# Define schema in a .prophy file, then generate Python codec using prophyc
# prophyc --python_out . myschema.prophy
# Import generated module and use it
msg = MyMsg()
msg.x[:] = [1, 2, 3]
encoded = msg.encode('<')
Requires the prophyc compiler to be installed and available in PATH to generate Python codecs from .prophy schema files; schema definition and code generation are prerequisites to using the package.
Verify before relying
- Whether ply and renew dependencies are actively maintained and compatible with modern Python versions.
- Whether the generated codecs remain compatible with current Python 3.10+ releases despite the package being abandoned.
- Performance characteristics and memory overhead compared to modern serialization alternatives.
Package facts
| License | MIT license (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — ply, renew |
| Maintenance | abandoned — 1,443 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 141,125/month — #11,250 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: prophy-1.2.5-py2.py3-none-any.whl
Keywords: idl, codec, binary, data, protocol, compiler
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
pyros-genmsgGenerates ROS message and service data…
permissive · top 15,000 on PyPI
constructConstruct is a declarative parser and builder…
permissive · top 5,000 on PyPI
betterproto-rust-codecProvides fast Rust-based conversion between…
permissive · top 15,000 on PyPI
eth-rlpProvides RLP (Recursive Length Prefix) encoding…
permissive · top 5,000 on PyPI
scalecodecEncodes and decodes data using the SCALE codec,…
permissive · top 15,000 on PyPI
dataclasses-avroschemaGenerates Avro schemas from Python dataclasses,…
permissive · top 5,000 on PyPI
msgspecmsgspec encodes and decodes JSON, MessagePack,…
permissive · top 1,000 on PyPI
rlpEncodes and decodes data using Recursive Length…
permissive · top 5,000 on PyPI
avroApache Avro is a data serialization system that…
permissive · top 5,000 on PyPI
protobuf-pyGenerates well-typed, readable Python code from…
permissive · top 15,000 on PyPI