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

Uploaded CPython 3.8

rusty_rlp-0.1.1-cp37-cp37m-manylinux1_x86_64.whl (146.9 kB view details)

Uploaded CPython 3.7m

rusty_rlp-0.1.1-cp36-cp36m-manylinux1_x86_64.whl (147.1 kB view details)

Uploaded CPython 3.6m

rusty_rlp-0.1.1-cp35-cp35m-manylinux1_x86_64.whl (146.6 kB view details)

Uploaded CPython 3.5m

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.1-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 146.9 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.1-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 dd242ca36c184e141ded39154835fa7169b02added622cb71ab20ca190ebdac0
MD5 1a6b2245801f04863bb616baf42f14af
BLAKE2b-256 7c6a7087ff1c3581971c78c667c29ed97b6bf4e9c03a4ca010aea18f144a43bc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.1-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 146.9 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.1-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 18a2b5e5aa0028f3dfa6c8fe4ee5686352405736379338e410ebc3b143de95e7
MD5 99bc16d3b82f8f2929ee003113e6bdee
BLAKE2b-256 2e2bdfbcca53b5c5bba804ec9333134d2bdc3c6c6b9e322d164614a12b663677

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.1-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 147.1 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.1-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 d44329974b1fec52c7a85f0b18b47e65afc777c7e3d4e2fe60ddbd4e91b7f49a
MD5 338bafd64e175630518229db71387dfc
BLAKE2b-256 a75f3b8f1b05bfc4d2e32dd62015c5bcafda794e17576e1b2a3077687eb81625

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.1-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 146.6 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.1-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 e901cad593216e73432f991c3c934aeb0b7268bf44e4c7d19286820998809eef
MD5 2a53c83a2e80822b7965e9a7423ccfeb
BLAKE2b-256 c44ea5ff3e00d1e47f23fd7d0fff518574d57a3dcbe00ebf25c11fdbb933b268

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