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

Uploaded CPython 3.8

rusty_rlp-0.1.2-cp37-cp37m-manylinux1_x86_64.whl (146.8 kB view details)

Uploaded CPython 3.7m

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

Uploaded CPython 3.6m

rusty_rlp-0.1.2-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.2-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: rusty_rlp-0.1.2-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 146.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.2-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 33644871ff249f1b617f6ff45d9d8ff4e825cacb71e372bc88ef90bfd1759f17
MD5 76552aee8f715ba15cd0351f617959e5
BLAKE2b-256 68a1e0d148d116e2a3a0124abfda09cffb2e0d20eb38e27d0d7777e37410afa0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.2-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 146.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.2-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 88b72ff4f49397b42ab2d745f9a72583dcfe73a3ebb3f39299abdf4cbbc3e348
MD5 41e76ec59452c08fc99cabbdf90a8400
BLAKE2b-256 a8262a64eec7bb4b810a7e1aac167b4bca6655d4d5a9079d872019076462e5ef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.2-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.2-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c8d1e66606b613b023877d552d0bc67a080c2a49e9d4efea659dbc318eb48d0b
MD5 040029499ce7a564467d9940dd445880
BLAKE2b-256 8fe311a6646d2ffeb9e5cac7b77b838637371199b645579ede3fd83a5a9ccd2d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusty_rlp-0.1.2-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.2-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 22728df29e82965273de250c062b0870d91aa64581c3ac001c94db4949145fd3
MD5 a499bff6ffa8eccae8fbf14f59014c24
BLAKE2b-256 3d5dd4bd0bf08242010eee14f9b1ee3a1d131f74c2d9d350c80b6373d94a155d

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