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

Uploaded CPython 3.8

rusty_rlp-0.1.9-cp37-cp37m-manylinux1_x86_64.whl (143.8 kB view details)

Uploaded CPython 3.7m

rusty_rlp-0.1.9-cp36-cp36m-manylinux1_x86_64.whl (144.0 kB view details)

Uploaded CPython 3.6m

rusty_rlp-0.1.9-cp35-cp35m-manylinux1_x86_64.whl (143.5 kB view details)

Uploaded CPython 3.5m

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.9-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 143.8 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.9-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 23d8d7ce016c59970218ae3dd42d63ea8e95be3dd68cb0801057568d7fd550f3
MD5 acbfde979ea7ec36935b366580706c6f
BLAKE2b-256 f311d47cf3317d2d66ae6cb49a6b610a2c01bf72ccdf9d6a333b57ce5736b894

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.9-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 143.8 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.9-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 1e5f6e80971e1d1031b939f9e700eed660fdfca9cc51c19b7e9525daa955eb8c
MD5 77a6a9b3237818dca8be37ea23ed04fd
BLAKE2b-256 391ea11054e74235d3ecffb9c485830f248a3df0e69b69c39fef04da6a9f0e18

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.9-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 144.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.9-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 43045676563c4b782555a3385027b8da46ff2810b05b25eb7205889f5e56b287
MD5 f110215dc6cfa23662bc56b849ff1e4e
BLAKE2b-256 830332592ec60df156fefd9bcca62cd6049de50ce377822d40fee53ae6b68ea5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.9-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 143.5 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.9-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 5d87a9e55899ec0485b30c7dd784cf0b4025f8ee3741116372f7342e777d73a2
MD5 7e5cd5b0274d2acb88879a5af80c914d
BLAKE2b-256 6ff5366d45204a7841b655f53813ba9540f031137bc8a11ba6e1b30e23827a7c

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