Skip to main content

Python SCALE Codec Library

Project description

Python SCALE Codec

Travis CI Build Status Latest Version Supported Python versions License

Python SCALE Codec Library

Description

Most of the data that the Substrate RPCs output is encoded with the SCALE Codec. This codec is used by the Substrate nodes' internal runtime. In order to get to meaningful data this data will need to be decoded. The Python SCALE Codec Library will specialize in this task.

Documentation

https://polkascan.github.io/py-scale-codec/

Installation

pip install scalecodec

Examples

Decode a SCALE-encoded Compact<Balance>

RuntimeConfiguration().update_type_registry(load_type_registry_preset("default"))
RuntimeConfiguration().update_type_registry(load_type_registry_preset("kusama"))
obj = ScaleDecoder.get_decoder_class('Compact<Balance>', ScaleBytes("0x130080cd103d71bc22"))
obj.decode()
print(obj.value)

Add custom types to type registry

RuntimeConfiguration().update_type_registry(load_type_registry_preset("default"))

custom_types = {
    "types": {
        "MyCustomType": "u32",
        "CustomNextAuthority": {
          "type": "struct",
          "type_mapping": [
             ["AuthorityId", "AuthorityId"],
             ["weight", "AuthorityWeight"]
          ]
        }
    }   
}

RuntimeConfiguration().update_type_registry(custom_types)

Or from a custom JSON file

RuntimeConfiguration().update_type_registry(load_type_registry_preset("default"))
RuntimeConfiguration().update_type_registry(load_type_registry_file("/path/to/type_registry.json"))

License

https://github.com/polkascan/py-scale-codec/blob/master/LICENSE

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

scalecodec-0.9.43.tar.gz (213.3 kB view details)

Uploaded Source

Built Distribution

scalecodec-0.9.43-py3-none-any.whl (50.5 kB view details)

Uploaded Python 3

File details

Details for the file scalecodec-0.9.43.tar.gz.

File metadata

  • Download URL: scalecodec-0.9.43.tar.gz
  • Upload date:
  • Size: 213.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for scalecodec-0.9.43.tar.gz
Algorithm Hash digest
SHA256 920a37e30d44e1fb66e6f95eda55df709d10f5487767f4c295d853864602d694
MD5 958c1e8014df24109aca8b3de93b3b89
BLAKE2b-256 9846564d6ea77885656c9511a7651094f9e42fb8d945d239d12b47a01bd0cbb0

See more details on using hashes here.

File details

Details for the file scalecodec-0.9.43-py3-none-any.whl.

File metadata

  • Download URL: scalecodec-0.9.43-py3-none-any.whl
  • Upload date:
  • Size: 50.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for scalecodec-0.9.43-py3-none-any.whl
Algorithm Hash digest
SHA256 a05d97c1b0b9da3288828ae4ccc00e0b62134fef2b1df885375e8fa13c53d33c
MD5 6480dda99c452e58a98a0d083a9540c2
BLAKE2b-256 3fac96ce8b2a6d0f9367ae7e21c802b0cd9bf2115f27569c9e77a78b580fca5c

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