$npx skillfedfor your agent

pycstruct

Binary data handling in Python using dictionaries

With conditionsPyPI Build ToolsReleased Mar 2024164.4K downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — pycstruct-0.12.2-py3-none-any.whl
v0.12.2 · released 2024-03-24

Yes, if you need to work with binary data or C-compatible struct layouts. The package is stable, has no dependencies, and carries permissive MIT licensing. However, dormant maintenance (873 days since last release) means you should verify it handles your specific use case before committing to it in production—no active support or bug fixes should be expected.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Low install friction with no runtime dependencies.
  • Dormant maintenance status—last release was 873 days ago, though the repository remains active with a recent commit on 2024-03-24.

License · maintenance · safety

MIT (permissive) — MIT license permits commercial and private use with minimal restrictions, requiring only attribution and inclusion of the license notice.

last release 2024-03-24 (873 days) · last repo commit 2024-03-24 · 26 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 164,380 downloads/mo, #10,549 on PyPI

Verify before relying

import pycstruct

person = pycstruct.StructDef()
person.add('utf-8', 'name', length=50)
person.add('uint32', 'age')
person.add('float32', 'height')

with open('data.bin', 'rb') as f:
    result = person.deserialize(f.read())
  • Whether the package is actively maintained or if dormant status signals abandonment risk
  • Compatibility with Python versions beyond 3.11 (classifiers list 3.4–3.11 but no explicit upper bound)
Same gist for agents: .md · .json

What it is and what it does

pycstruct is a Python library for bidirectional conversion between binary data and Python dictionaries or objects. It lets you define binary layouts using a C-struct-like syntax—specifying fields with types like uint32, float32, bool8, and arrays—then serialize Python data into binary form or deserialize binary files back into Python objects. The library handles complex nested structures, unions, bitfields, and enums, with full control over byte order and field alignment.

Typical use cases are reading and writing binary file formats or parsing binary protocols transmitted over networks. The package also includes a C source code parser that can automatically generate pycstruct definitions from existing C struct declarations, eliminating manual definition work when you already have C headers.

Use it for

  • Parse binary file formats (e.g., image headers, audio metadata) by defining the layout once and deserializing file contents into dictionaries
  • Serialize Python objects into binary protocol messages for network transmission with precise byte-order and alignment control
  • Automatically generate pycstruct definitions from C source code to avoid manual transcription of struct layouts
  • Handle embedded C structs, unions, and bitfields in Python without writing custom pack/unpack logic
  • Read and write binary data with variable-length arrays and nested structures at any nesting depth

Worth the install?

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

With conditions

Yes, if you need to work with binary data or C-compatible struct layouts.

The package is stable, has no dependencies, and carries permissive MIT licensing. However, dormant maintenance (873 days since last release) means you should verify it handles your specific use case before committing to it in production—no active support or bug fixes should be expected.

Install

pycstruct on PyPI

Before you install

Low install friction with no runtime dependencies. Dormant maintenance status—last release was 873 days ago, though the repository remains active with a recent commit on 2024-03-24.

License in practice

MIT license permits commercial and private use with minimal restrictions, requiring only attribution and inclusion of the license notice.

Quickstart

import pycstruct

person = pycstruct.StructDef()
person.add('utf-8', 'name', length=50)
person.add('uint32', 'age')
person.add('float32', 'height')

with open('data.bin', 'rb') as f:
    result = person.deserialize(f.read())

Verify before relying

  • Whether the package is actively maintained or if dormant status signals abandonment risk
  • Compatibility with Python versions beyond 3.11 (classifiers list 3.4–3.11 but no explicit upper bound)

Package facts

LicenseMIT permissive
Python supportNot specified
Install frictionLow. Pure-Python wheel
Runtime dependenciesNone
MaintenanceDormant 873 days since the last release
Last repo commit
First released
Downloads164,380 / month, #10,549 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 3 - AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Software Development :: Build Tools

Evidence: pycstruct-0.12.2-py3-none-any.whl

Tags

Capabilities
binary data serializationC struct to Pythonbinary protocol parsingstruct deserializationbinary file handlingnetwork protocol databitfield parsing
Topics
binary-serializationc-interop
PyPI keywords
structenumbitfieldbinaryprotocoldictdictionary

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 › “binary protocol parsing”

  • pycstructConverts binary data to and from Python dictionaries or objects using…
  • tls-parserParses TLS records from binary data, extracting protocol-level…
  • construct-classesParses binary data into Python dataclasses and packs dataclasses back…

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

More Build Tools packages

packaging Worth it
PyPI · Build Tools · released Aug 2026

Provides reusable utilities for Python packaging interoperability, including version handling, specifiers, markers, requirements, tags, and metadata parsing according to standards like PEP 440 and PEP 425.

Apache-2.0 OR BSD-2-Clausepure Python · 3.9+
2.2Bdownloads / mo
tqdm Worth it
PyPI · Libraries · released Jul 2026

Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.

copyleftpure Python · 3.8+
648.6Mdownloads / mo
pip Worth it
PyPI · Build Tools · released Aug 2026

pip is the standard installer for Python packages, enabling you to download and install packages from the Python Package Index and other indexes into your Python environment.

MITpure Python · 3.10+
617.5Mdownloads / mo
hatchling Worth it
PyPI · Python Modules · released Aug 2026

Hatchling is a standards-compliant Python build backend that handles packaging, metadata, and distribution of Python projects when configured in a project's pyproject.toml file.

MITpure Python · 3.10+
484.2Mdownloads / mo
grpcio-tools Worth it
PyPI · Build Tools · released Jul 2026

Generates Python gRPC service stubs and message classes from Protocol Buffer definitions, enabling developers to build gRPC clients and servers.

Apache-2.0compiled wheel · 3.10+
278.2Mdownloads / mo
pre-commit Worth it
PyPI · Build Tools · released Aug 2026

pre-commit is a framework for installing and running git hooks written in any language before commits are made, automating code quality and validation checks across multi-language projects.

Install it if your team needs consistent, automated validation at commit time.

permissive licensepure Python · 3.10+
179.9Mdownloads / mo

See also dissect.cstruct · poly-eip712-structs · construct-classes · cbitstruct · construct · plum-py · pyclibrary · cobs · bitstruct · http-sf