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

Uploaded CPython 3.8

rusty_rlp-0.1.4-cp37-cp37m-manylinux1_x86_64.whl (147.2 kB view details)

Uploaded CPython 3.7m

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

Uploaded CPython 3.6m

rusty_rlp-0.1.4-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.4-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: rusty_rlp-0.1.4-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 147.2 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.4-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c339ecd4ed63efd16b11bff3d82b88aedba5a7474a22f5c82c66b25c520957a9
MD5 97f1f52ba8ea172dd28646dcfd3de67c
BLAKE2b-256 52f1b7154b9b282dffd69f717ede7e2e162d7f36fb5b90d0836713c6f25ae7a7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.4-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 147.2 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.4-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 d9ff0d7ba662ef69c086b6de3ee51e9591aaccec05e4ebde71f35d682eebfcd7
MD5 0b4a49202449d0c5127c19d406ce51cb
BLAKE2b-256 95f29c1ade87c4f16ed46effc6d8bced5d90b9b1b7ad82b96f0b23eccfd2e7e3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.4-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.4-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 73042c1bda72be787c1d63def24bfde3d86576e7ab54edc3cc00f8c35f1dce33
MD5 74ed6f3cddb94c4c0e735c94c6004804
BLAKE2b-256 4298d5aed5a8dd0209a3180fa59e0f8bf401abecee8da717c3eed081dad5920f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.4-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.4-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 68a064fdc8f1ce09bdfea99d549f6dc832c65cb01362d9aa8a65b0e5568ff65d
MD5 34f229de14a81743aea6194f5fe10933
BLAKE2b-256 3c72a1094acb93940527d7e8fc135a723d4fad36474cfe32636ea42692a87321

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