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

This version

0.9.3

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.3.tar.gz (206.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

scalecodec-0.9.3-py3-none-any.whl (46.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: scalecodec-0.9.3.tar.gz
  • Upload date:
  • Size: 206.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.7.5

File hashes

Hashes for scalecodec-0.9.3.tar.gz
Algorithm Hash digest
SHA256 6a72a4e9e6cd3114bb7ed8c1320b5be9446e96d51c562107bb37951e6a6b8419
MD5 bb197a2d6aefe336c92abf7679ca3c2d
BLAKE2b-256 f0707d67317c3db0ac55722c741b37e95c2ca313f05956de02d9fe05577cf9d9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: scalecodec-0.9.3-py3-none-any.whl
  • Upload date:
  • Size: 46.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.7.5

File hashes

Hashes for scalecodec-0.9.3-py3-none-any.whl
Algorithm Hash digest
SHA256 cc081b3a247033bb573996346c2765042d40d94ae1054dccc53624ce26f4def7
MD5 4757bfbff4463843942e8a8a325fb689
BLAKE2b-256 d5bd301a4a359071dbc0b58f46de6d35634b691896882e3b37500d0a9fd5d6e2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page