Skip to main content

Python RLP serialization/deserialization based on a rapid fast Rust implementation.

Project description

Rusty-RLP

Rapid fast RLP serialization / deserialization for Python.

As the name suggest, rusty-rlp is written in Rust and based on the battle-tested, MIT-licensed rlp implementation that is also used by OpenEthereum.

Usage

from rusty_rlp import decode_raw, encode_raw

encoded = encode_raw(b'some_string')
decoded = decode_raw(encoded)

Running the tests

The library exposes a pure Python API and all tests are implemented in python_tests.py

Run the tests:

make test

Note: There do exists some tests implemented in Rust that can be run with cargo tests but those do not test this library but the underlying rlp library instead. They exist merely to prove some assumptions about the underlying library.

Benchmarks

We provide some benchmarks against pyrlp.

Encoding (msec/loop) Decoding (msec/loop)
PyRLP 0.016 0.014
rusty-rlp 0.00173 (~9x) 0.00595 (~2.35x)

Running the benchmarks

make benchmark

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

rusty_rlp-0.1.3-cp38-cp38-manylinux1_x86_64.whl (147.0 kB view details)

Uploaded CPython 3.8

rusty_rlp-0.1.3-cp37-cp37m-manylinux1_x86_64.whl (147.0 kB view details)

Uploaded CPython 3.7m

rusty_rlp-0.1.3-cp36-cp36m-manylinux1_x86_64.whl (147.2 kB view details)

Uploaded CPython 3.6m

rusty_rlp-0.1.3-cp35-cp35m-manylinux1_x86_64.whl (146.7 kB view details)

Uploaded CPython 3.5m

File details

Details for the file rusty_rlp-0.1.3-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: rusty_rlp-0.1.3-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 147.0 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.2

File hashes

Hashes for rusty_rlp-0.1.3-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 eb71a124229efc1371a81030f03b7a4a471906d5a2cb92d49a846261ee7970c2
MD5 0a01d2dbe9c2cc435c553abc781414f5
BLAKE2b-256 e7fac54f175c8a0e215f187552e51b99847c617d74c0b969b61f81b3290f280d

See more details on using hashes here.

File details

Details for the file rusty_rlp-0.1.3-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: rusty_rlp-0.1.3-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 147.0 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.2

File hashes

Hashes for rusty_rlp-0.1.3-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 16b7d72ac7658f095bac49a42053398141691f3b1f2ab27fc2888dcac79ac9cf
MD5 7531bbe14134592e8b01b0eab684ae74
BLAKE2b-256 c7b2a41e60fa5ec950b12ab196050962df96d064bc02c72b01cc4e925203d6f0

See more details on using hashes here.

File details

Details for the file rusty_rlp-0.1.3-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: rusty_rlp-0.1.3-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 147.2 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.2

File hashes

Hashes for rusty_rlp-0.1.3-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 90aa15ead70bf6f9edb5b012600847ffa8309701276cac188e3b2023b9bd782d
MD5 7fd48241b8a95f2bc6228b4555c6b7da
BLAKE2b-256 38c0ccc4051623ceb318074a6189e0067a5c7a71a2e45423b237961b933e897e

See more details on using hashes here.

File details

Details for the file rusty_rlp-0.1.3-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: rusty_rlp-0.1.3-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 146.7 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.2

File hashes

Hashes for rusty_rlp-0.1.3-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 1ddfa61ae87e04d3819896a1f4a62c6e166c966d7551c8faa376313bb4364df3
MD5 f507ab2071d0ef99239b77689d5c4c79
BLAKE2b-256 60a877c5940f15c2485136843d1123ef506061bffb7bd82b56a9ca88bd38470b

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