Skip to main content

Renity Pure Python Protocol Buffer

Project description

Renity Protocol Buffer

PyPI Status Python Version License

Read the documentation at https://Renity.readthedocs.io/ Tests Codecov

pre-commit Black

There are many ways to optimize data transimission over the wire, but one of the biggest impacts can be made from simply not sending data you don't need. Renity provides an Interface for rapidly defining the serialization format for Network Traffic solely in Python. Using Schema's that closely resemble an Object Relational Mapping(ORM) we are able to generate simple class definitions that contain fields and methods to serlialze/parse to and from raw bytes.

Advantages

  • Extendable
  • Backward Compatible Schema(s)
  • Fast Parsing
  • strict enforcement at the application level(optional)
  • Optimize size of transmissions

Example

    class CustomMessage(Message):
        hello=StringField(default="World")
        sentence=ListField(StringField(required=True),IntField())

    example = CustomMessage({"sentence": ["Number of Apples:", 2]})

    print(example.message)

    Output:
        {"hello": "World", "sentence": ["Number of Apples:", 2]}

Features

  • TODO

Requirements

  • TODO

Installation

You can install Renity via pip from PyPI:

$ pip install renity

Usage

Please see the Command-line Reference for details.

Contributing

Contributions are very welcome. To learn more, see the Contributor Guide.

License

Distributed under the terms of the Apache license, Renity is free and open source software.

Issues

If you encounter any problems, please file an issue along with a detailed description.

Credits

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

renity-2.0.6.tar.gz (21.5 kB view details)

Uploaded Source

Built Distribution

renity-2.0.6-py3-none-any.whl (27.4 kB view details)

Uploaded Python 3

File details

Details for the file renity-2.0.6.tar.gz.

File metadata

  • Download URL: renity-2.0.6.tar.gz
  • Upload date:
  • Size: 21.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for renity-2.0.6.tar.gz
Algorithm Hash digest
SHA256 83ecfb0a13f17bcf09d209ba3b44f4a55e4d3a29f366e63185befaefb9dc0c28
MD5 b556603c5a51482f1958fa9112fffa25
BLAKE2b-256 d8c5c000098aaa0b5b56acf0267648bc574a14ae141218f2411c05eee5936667

See more details on using hashes here.

File details

Details for the file renity-2.0.6-py3-none-any.whl.

File metadata

  • Download URL: renity-2.0.6-py3-none-any.whl
  • Upload date:
  • Size: 27.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for renity-2.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 e33d2ce010bc9bdd6e4b723fa135ffbbfa0e37830594045eccd23e94419d4fd2
MD5 7886dae66c2055a17274e1c9f837936e
BLAKE2b-256 d5f1e8b3853cacbd9adc97680eb3670f2066e0ec8436346cae43600f3f87a3d5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page