cyscale
Cython SCALE Codec Library
Decision gist · record as of 2026-08-14
Yes, if you are working with Substrate-based blockchains and can accept that decode output is plain Python values rather than ScaleType objects. The performance gains are substantial for high-throughput indexing or metadata parsing. If your codebase relies on the object tree API or expects `.value` / `.value_object` wrappers, migration is required but the shapes of the returned data remain the same. No known vulnerabilities, active maintenance, and permissive licensing make it a sound choice.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later; pre-built wheels are available for common platforms but installation on unsupported architectures may require compilation.
- Medium install friction due to compiled wheels; however, wheels are pre-built for Python 3.10, 3.11, 3.12, 3.13, and 3.14 across macOS, Linux, and Windows, so installation is typically straightforward.
- Actively maintained with a recent release.
License · maintenance · safety
Apache-2.0 (permissive) — Licensed under Apache-2.0 (permissive), allowing use in most commercial and open-source projects without significant restriction.
last release 2026-08-09 (5 days) · last repo commit 2026-08-09
0 known vulnerabilities (OSV.dev, 2026-08-14) · 269,884 downloads/mo, #8,248 on PyPI
Alternatives
Verify before relying
pip install cyscale
from cyscale import Codec
codec = Codec('u32')
value = codec.decode(b'\x2a\x00\x00\x00')
print(value)- Whether the plain-value decode output is sufficient for all use cases that previously relied on ScaleType object trees.
- Performance gains on real-world metadata decoding workloads in production Substrate applications.
- Compatibility status with ecosystem tools that may expect the original py-scale-codec object API.
- Actual API surface and method names available in cyscale for encoding and decoding operations.
What it is and what it does
cyscale is a Cython-compiled SCALE codec library for Substrate-based blockchains. It keeps the same module name and most of the API surface as py-scale-codec but diverges in a key way: its optimized decode paths return plain Python values (int, str, bool, dict, list, tuple, None) directly rather than wrapping them in ScaleType objects. This makes it faster but breaks drop-in compatibility for code that expects the object tree structure.
The library supports encoding and decoding SCALE types used across Polkadot, Kusama, and Bittensor networks. It includes a batch_decode API for amortizing Python dispatch overhead across multiple decodes. The classic object API remains available as a fallback for types not covered by the optimized paths, so encode operations and exotic types behave as before. No external runtime dependencies.
Use it for
- Decode Polkadot or Kusama blockchain extrinsics, events, and calls at high throughput in indexers or monitoring tools.
- Parse large metadata payloads from Substrate chains during chain inspection or code generation.
- Batch-decode account IDs or other SCALE types in bulk operations, leveraging the batch_decode API.
- Encode and decode Bittensor network data and metadata in machine-learning pipelines that require fast serialization.
- Build Substrate chain explorers or wallets where decode latency directly impacts user-facing responsiveness.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are working with Substrate-based blockchains and can accept that decode output is plain Python values rather than ScaleType objects.
The performance gains are substantial for high-throughput indexing or metadata parsing. If your codebase relies on the object tree API or expects `.value` / `.value_object` wrappers, migration is required but the shapes of the returned data remain the same. No known vulnerabilities, active maintenance, and permissive licensing make it a sound choice.
Install
cyscale on PyPI
Before you install
Medium install friction due to compiled wheels; however, wheels are pre-built for Python 3.10, 3.11, 3.12, 3.13, and 3.14 across macOS, Linux, and Windows, so installation is typically straightforward. Actively maintained with a recent release.
Requires Python 3.10 or later; pre-built wheels are available for common platforms but installation on unsupported architectures may require compilation.
License in practice
Licensed under Apache-2.0 (permissive), allowing use in most commercial and open-source projects without significant restriction.
Quickstart
pip install cyscale
from cyscale import Codec
codec = Codec('u32')
value = codec.decode(b'\x2a\x00\x00\x00')
print(value)
Verify before relying
- Whether the plain-value decode output is sufficient for all use cases that previously relied on ScaleType object trees.
- Performance gains on real-world metadata decoding workloads in production Substrate applications.
- Compatibility status with ecosystem tools that may expect the original py-scale-codec object API.
- Actual API surface and method names available in cyscale for encoding and decoding operations.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 5 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 269,884 / month, #8,248 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersProgramming Language :: CythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: cyscale-0.8.0-cp310-cp310-macosx_10_9_x86_64.whl; cyscale-0.8.0-cp310-cp310-macosx_11_0_arm64.whl; cyscale-0.8.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; cyscale-0.8.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; cyscale-0.8.0-cp310-cp310-musllinux_1_2_aarch64.whl; cyscale-0.8.0-cp310-cp310-musllinux_1_2_x86_64.whl; cyscale-0.8.0-cp310-cp310-win32.whl; cyscale-0.8.0-cp310-cp310-win_amd64.whl; cyscale-0.8.0-cp310-cp310-win_arm64.whl; cyscale-0.8.0-cp311-cp311-macosx_10_9_x86_64.whl; cyscale-0.8.0-cp311-cp311-macosx_11_0_arm64.whl; cyscale-0.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; cyscale-0.8.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; cyscale-0.8.0-cp311-cp311-musllinux_1_2_aarch64.whl; cyscale-0.8.0-cp311-cp311-musllinux_1_2_x86_64.whl; cyscale-0.8.0-cp311-cp311-win32.whl; cyscale-0.8.0-cp311-cp311-win_amd64.whl; cyscale-0.8.0-cp311-cp311-win_arm64.whl; cyscale-0.8.0-cp312-cp312-macosx_10_13_x86_64.whl; cyscale-0.8.0-cp312-cp312-macosx_11_0_arm64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “cython fast codec”
- cyscaleCython-accelerated encoder and decoder for the SCALE codec used by…
- silk-pythonEncodes and decodes audio in SILK format, a codec optimized for…
- CythonCython is a source code translator that compiles Python code to C,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also async-substrate-interface · scalecodec · substrate-interface · pynvvideocodec · bittensor · bittensor-wallet · encodec · smoldot-light · nvidia-nvimgcodec-cu12 · cyseq