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

Uploaded CPython 3.8

rusty_rlp-0.1.7-cp37-cp37m-manylinux1_x86_64.whl (143.5 kB view details)

Uploaded CPython 3.7m

rusty_rlp-0.1.7-cp36-cp36m-manylinux1_x86_64.whl (143.7 kB view details)

Uploaded CPython 3.6m

rusty_rlp-0.1.7-cp35-cp35m-manylinux1_x86_64.whl (143.2 kB view details)

Uploaded CPython 3.5m

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.7-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 143.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.7-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a89405335de0d0c1e1d02e8b19bc7db941f215f6dc0ea43a681b33c4c90bee66
MD5 d1957614e2c7164b1e681da023531f6a
BLAKE2b-256 f36e66cc9767bc430fd8bc0e967cee4dd38cd7efb9f50b21bae373e4e572807d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.7-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 143.5 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.7-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 a6f54ca99a0d1a92e55a317591a4e6a3f9c69cb138d5e93c748576c5e87b6976
MD5 39596adeb04d71c4dddbfa7d92f9619f
BLAKE2b-256 8cd56e6a684804a64cf6d51939d075e27483e6b561900e563344dc7cb8cf0446

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.7-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 143.7 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.7-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 ca249db6f618bfa98bbf0986812bc73b90fe495f70bc1cc2cd1e3aae747ffdd5
MD5 231c2d98445c1e9f888c9edd83bd3a36
BLAKE2b-256 8fc3371f315b45c82552a231fa5d81b0e1db678dad0f0e47e76bf8a78a4804f8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.7-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 143.2 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.7-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 0291b621f5d1c070d553704c07e712f474132d9f36691393c7e1e1e976cefdcb
MD5 5e71ca6ec9a6d8e11eda5cf3568c2558
BLAKE2b-256 b50a4513648277edbbdf5734f36076b425550aa582a9609d28b410c38fa1d0f7

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