{"categories":[{"label":"Build Tools","url":"https://skillfed.io/packages/category/software-development-build-tools/4"}],"enrichment":{"capability":"Converts binary data to and from Python dictionaries or objects using C-struct-like definitions, supporting structs, unions, bitfields, enums, and arrays with configurable byte order and alignment.","skillfed_tags":["binary-serialization","c-interop"],"use_cases":["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"],"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\u2014specifying fields with types like uint32, float32, bool8, and arrays\u2014then 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.\n\nTypical 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.","worth_installing":"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\u2014no active support or bug fixes should be expected."},"id":"pycstruct","links":{"html":"https://skillfed.io/packages/pycstruct","md":"https://skillfed.io/packages/pycstruct.md","pypi":"https://pypi.org/project/pycstruct/"},"maintenance":{"status":"dormant"},"meta":{"latest_release":"2024-03-24","license_spdx":null,"license_treatment":"permissive","name":"pycstruct","python_support":"unspecified","summary":"Binary data handling in Python using dictionaries"},"popularity":{"monthly_downloads":164380,"position":10549,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.12.2"}
