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.5-cp38-cp38-manylinux1_x86_64.whl (147.1 kB view details)

Uploaded CPython 3.8

rusty_rlp-0.1.5-cp37-cp37m-manylinux1_x86_64.whl (147.1 kB view details)

Uploaded CPython 3.7m

rusty_rlp-0.1.5-cp36-cp36m-manylinux1_x86_64.whl (147.3 kB view details)

Uploaded CPython 3.6m

rusty_rlp-0.1.5-cp35-cp35m-manylinux1_x86_64.whl (146.9 kB view details)

Uploaded CPython 3.5m

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.5-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 147.1 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.5-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 2b936bc5ef6941148da71b92d40f9e38d5a5263ca832792367c18e4fe7f689d3
MD5 659776fbcb8fdb4800ab91116a7db984
BLAKE2b-256 7329b0f8f28b48ddb8b4970ee9c26a08c9d9accd989550706d47db6f6b032e64

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.5-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 147.1 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.5-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 cf8df134e7346b83a42abe19f7cf4796f54c640631a37c70fd83ee5d9476497c
MD5 480c361f3252d949dbc6cf278875dabb
BLAKE2b-256 dddcf858c6ea5c2038769d345503a0f4dba1c225045d7404c4a1ea453c0dc508

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.5-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 147.3 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.5-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 628341463482e1b2464710ddd57146f8a79cdd1e10b6e55c64db19222508d30f
MD5 7ecfed1fe6c652e86367426b201c4e8b
BLAKE2b-256 b03022e4d31ea96701f8b53b5e88c0ed428213974295cea142009db8432ce90d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.5-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 146.9 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.5-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 5516fc36464478c7f1518082046677b6c1c3e2ed1aa22fbdcdf62d6a937079b8
MD5 74e0ced7df680026769f33105bf272e7
BLAKE2b-256 fe0efe4951950568cbce5f05fce7859a801fd7c51fbf02df9c1b8c5e6c431865

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