skillfed

prophy

prophy: fast serialization protocol

prophy v1.2.5 141.1K downloads/30d#11,250 on PyPI13
Permissive license MIT license Abandoned released

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 prophy

uv

uv add prophy

poetry

poetry add prophy

Installing 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Telecommunications IndustryLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: C++Programming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Scientific/Engineering :: Interface Engine/Protocol TranslatorTopic :: Software Development :: Code GeneratorsTopic :: Software Development :: CompilersTopic :: Software Development :: Embedded SystemsTopic :: Software Development :: LibrariesTopic :: Software Development :: TestingTopic :: Utilities

Tags

binary serialization protocolschema-based codec generatorcross-language message encodingIDL compilerefficient binary protocolstatically typed serializationcode generation from schema
serializationcode-generationbinary-protocol

More Libraries packages