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

Uploaded CPython 3.8

rusty_rlp-0.1.6-cp37-cp37m-manylinux1_x86_64.whl (147.6 kB view details)

Uploaded CPython 3.7m

rusty_rlp-0.1.6-cp36-cp36m-manylinux1_x86_64.whl (148.0 kB view details)

Uploaded CPython 3.6m

rusty_rlp-0.1.6-cp35-cp35m-manylinux1_x86_64.whl (147.3 kB view details)

Uploaded CPython 3.5m

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.6-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 147.5 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.6-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 0a3dce95fea30d88f0c33ef4dcbadbc2fc08dc492def80ccacc855f2f4046dc7
MD5 2c3e99c77a1e9060bafe5f81340b0658
BLAKE2b-256 58090045635c6e521e559dac55742447e82c4882220912259d2e9d35b2df5d7a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.6-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 147.6 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.6-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 0858bb156a6e3f121c5ee68714c18ca67f88cbd810a134321eee22b77d47fc5a
MD5 01aa1b9458b58b9f68142f893845ba96
BLAKE2b-256 cf704ac07ddd87bca19f12166231c9ce8979e6a6ec8fa8e9e19c43e21a10e57f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.6-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 148.0 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.6-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 f16f4d1a2a554be6a60eccca09d4c818c27c87767bdb3f7e6ce69c35a210c452
MD5 0110f6cb8a76e188bae5e79e0f174468
BLAKE2b-256 32611cf879213a4094653fd375471196c00543144a223018d7d4d97aafc67577

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.6-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 147.3 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.6-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 4973add0566b4df33c385be66bfd189a5cfef51b2cdd624577cd6b4d2cb631a2
MD5 eb137d619f3131973647ad9052a5919d
BLAKE2b-256 35fa4d71343417984ecfb6e312ea418ce3612d95dcb8f8c9dd86fa5f8944b02b

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