$npx skillfedfor your agent

canoser

A python implementation of the LCS(Libra Canonical Serialization) for the Libra network.

SkipPyPI CryptographyReleased Apr 202076.3K downloads / mopermissive licensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — canoser-0.8.2-py3-none-any.whl
v0.8.2 · released 2020-04-02 · Python >=3.6

No, unless you are maintaining legacy Libra integration code written before 2020. The package is abandoned with no active maintenance, no security updates, and no guarantee of compatibility with modern Python versions or current Libra ecosystem evolution. For new projects, seek an actively maintained canonical serialization library.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.6 or above; package is no longer maintained, so compatibility with Python versions released after 2020 is not guaranteed.
  • Installation is straightforward with no runtime dependencies.
  • However, the package is abandoned—last release was 2020-04-02 and the repository was archived.

License · maintenance · safety

permissive license (permissive) — Licensed under MIT (permissive), so you may use, modify, and distribute the package freely in commercial or private projects with minimal restrictions.

last release 2020-04-02 (2325 days) · last repo commit 2021-04-20 · 13 stars · archived

0 known vulnerabilities (OSV.dev, 2026-08-14) · 76,320 downloads/mo, #14,635 on PyPI

Verify before relying

from canoser import Struct, Uint8, Uint64

class MyData(Struct):
    _fields = [
        ('id', Uint64),
        ('bytes_field', [Uint8])
    ]

obj = MyData(id=1, bytes_field=[1, 2, 3])
serialized = obj.serialize()
deserialized = MyData.deserialize(serialized)
  • Whether the package works reliably with Python versions beyond those tested before 2020.
  • Whether serialized output remains compatible with current Libra network validators or if the spec has evolved since 2020.
Same gist for agents: .md · .json

What it is and what it does

Canoser is a Python library that implements canonical serialization (LCS) for the Libra blockchain network. It allows you to define data structures by inheriting from base classes like Struct, RustEnum, and RustOptional, then automatically serialize and deserialize them in a deterministic byte format. This is essential in blockchain consensus where independent validators need to compute identical hashes of the same logical data, even when running different implementations.

The library supports complex nested structures including arrays, maps, tuples, enums with variants, and optional types—all mirroring Rust/Libra semantics. Once you define a structure's fields, serialization and deserialization happen automatically without manual encoding logic. However, the package has been abandoned since 2020-04-02 and its repository is archived, meaning it receives no updates, security patches, or compatibility fixes for newer Python releases.

Use it for

  • Building Libra network clients or validators that need to serialize transaction arguments and account state in the canonical format.
  • Comparing data structures across independent Libra implementations by hashing their canonical serializations.
  • Defining and exchanging complex nested data types (enums, optional fields, arrays) that must serialize identically across different languages.
  • Testing or prototyping Libra consensus logic in Python where canonical byte representation must match reference implementations.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Skip

No, unless you are maintaining legacy Libra integration code written before 2020.

The package is abandoned with no active maintenance, no security updates, and no guarantee of compatibility with modern Python versions or current Libra ecosystem evolution. For new projects, seek an actively maintained canonical serialization library.

Install

canoser on PyPI

Before you install

Installation is straightforward with no runtime dependencies. However, the package is abandoned—last release was 2020-04-02 and the repository was archived. No active maintenance means no security updates or compatibility fixes for modern Python versions beyond what was last tested.

Requires Python 3.6 or above; package is no longer maintained, so compatibility with Python versions released after 2020 is not guaranteed.

License in practice

Licensed under MIT (permissive), so you may use, modify, and distribute the package freely in commercial or private projects with minimal restrictions.

Quickstart

from canoser import Struct, Uint8, Uint64

class MyData(Struct):
    _fields = [
        ('id', Uint64),
        ('bytes_field', [Uint8])
    ]

obj = MyData(id=1, bytes_field=[1, 2, 3])
serialized = obj.serialize()
deserialized = MyData.deserialize(serialized)

Verify before relying

  • Whether the package works reliably with Python versions beyond those tested before 2020.
  • Whether serialized output remains compatible with current Libra network validators or if the spec has evolved since 2020.

Package facts

Licensepermissive license permissive
Python supportSupports the current Python release >=3.6
Install frictionLow. Pure-Python wheel
Runtime dependenciesNone
MaintenanceAbandoned 2,325 days since the last release
Last repo commit repository archived
First released
Downloads76,320 / month, #14,635 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3

Evidence: canoser-0.8.2-py3-none-any.whl

Tags

Capabilities
libra canonical serializationdeterministic data structure encodingcross-validator data comparisonrust enum serialization pythonblockchain consensus serializationlcs libra serializationcanonical serialize deserialize
Topics
blockchainserializationlibra

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 › “libra canonical serialization”

  • canoserCanoser implements canonical serialization for Libra network data…
  • canonicaljsonEncodes Python objects to canonical JSON with sorted keys, minimal…
  • rfc8785Implements RFC 8785 (JSON Canonicalization Scheme) to produce…

Give your agent the search over MCP, or paste the wish link into any chat.

More Cryptography packages

certifi Worth it
PyPI · Cryptography · released Jul 2026

Certifi provides Mozilla's curated collection of root SSL certificates for Python applications to validate TLS hosts and verify certificate trustworthiness.

MPL-2.0pure Python · 3.7+
1.9Bdownloads / mo
cryptography Worth it
PyPI · Cryptography · released Jul 2026

cryptography provides cryptographic recipes and low-level primitives for symmetric encryption, message digests, key derivation, and other common cryptographic algorithms in Python.

Apache-2.0 OR BSD-3-Clausecompiled wheel
1.5Bdownloads / mo
rsa Skip
PyPI · Cryptography · released Apr 2025

Pure-Python RSA encryption, decryption, signing, and key generation following PKCS#1 v1.5, with command-line and library interfaces.

Apache-2.0pure Pythonabandoned
299.6Mdownloads / mo
pyOpenSSL With conditions
PyPI · Python Modules · released Aug 2026

pyOpenSSL wraps OpenSSL's SSL/TLS functionality for Python, providing high-level connection objects and certificate handling through a Python-friendly interface around OpenSSL's cryptographic operations.

Apache-2.0pure Python · 3.9+
294.2Mdownloads / mo
azure-identity Worth it
PyPI · Cryptography · released Mar 2026

Provides Microsoft Entra ID token-based authentication for Azure SDK clients through a set of TokenCredential implementations that handle OAuth flows and managed identity support.

license unclearpure Python · 3.9+
247.2Mdownloads / mo
PyNaCl Worth it
PyPI · Cryptography · released Jan 2026

PyNaCl provides Python bindings to libsodium for digital signatures, secret-key and public-key encryption, hashing, message authentication, and password-based key derivation.

Apache-2.0compiled wheel · 3.8+
246.6Mdownloads / mo

See also poly-eip712-structs · cbor2 · mikeshardmind-base2048 · jcs · cobs · canonicaljson · oslo.serialization · serpent · dissect.cstruct · rfc8785