Skip to content
This repository has been archived by the owner on May 20, 2024. It is now read-only.
/ cstructs Public archive

Powerful decorator allowing the parsing of binary data into a dataclass and serializing back into raw data.

License

Notifications You must be signed in to change notification settings

yntha/cstructs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cstructs

Think struct, but on steroids.

PyPI - Version PyPI - Python Version PyPI - License status


Note: I have now abandoned this project in favor of construct.

Note: This version supercedes the original cstruct package. This is my first attempt at a test driven development cycle, so I apologize in advance if the things that I do don't make sense. If you have any opinions, feature requests, bugs, or questions, please feel free to open an issue.

Table of Contents

Installation

python -m pip install --user -U cstructs

Features

  • Serializing
  • Deserializing
  • Inheritance between datastructs
  • Sequences
  • Allow other datastructs to be members
  • Callbacks for reading/writing
  • Individual class metadata
  • Variable length data by depending on the value of another member
  • String decoding using specified encoding format
  • Lazy sequence loading
  • Fallback(default) value for missing values
  • Handling of various types of data alignment
  • Is type checker friendly

License

cstructs is distributed under the terms of the GNU GPL v3 license.

About

Powerful decorator allowing the parsing of binary data into a dataclass and serializing back into raw data.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages