PackageTrack Sign in Track my project

kaitaistruct

Kaitai Struct declarative parser generator for binary data: runtime library for Python

0.11 8.5M downloads/mo #1621 most downloaded on PyPI kaitai-io/kaitai_struct_python_runtime

What this package is like to depend on

Last release 11 months ago

08 Sep 2025

Release timing varies

gaps range from 2 months to 3.2 years

This project publishes no release notes

the list below is its commits, not an announcement

Nothing withdrawn

no release was ever pulled

10 years old

9 releases · first in 2016

1 release in the last 12 months

see the full history below

Release timeline

9 releases · Nov 2016 to Sep 2025
2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 9
  1. 0.11 08 Sep 2025
    Commits, not release notes

    This project publishes no release notes. Between 0.10 and v0.11 there were 49 commits, 44 of them substantive:

    • Remove redundant wheel dep
    • setup.cfg: add metadata.project_urls (#71)
    • Convert section title comments to code-folding regions
    • Add write methods and classes (bit ints not implemented yet)
    • Add write_bits_int_{be,le}() and write_align_to_byte()
    • Invoke {,write_}align_to_byte() in all byte-aligned operations
    • Emulate fixed-length stream when writing
    • close(): flush unwritten bits before closing
    • Update pos() and is_eof() for {read,write}bits_int*() parity
    • LICENSE: bump copyright year
    • Bump package version and API version to 0.11
    • Bump package version to 0.11.dev1
    • Add Python 3.11 tag to setup.cfg (#74)
    • size(): fix returning None in Python 2 for 'file' objects
    • Support writing to 'file' objects in Python 2
    • is_eof(): fix for write-only streams
    • write_bits_int_{be,le}(): raise EOF errors proactively
    • write_align_to_byte(): clear bit buffer even if the write fails
    • _write_bytes_not_aligned(): use self._io.tell() in EOF check
    • Validation*Error: only include "at pos X: " if io is not None

    …and 24 more.

  2. 0.10 09 Jul 2022
    Commits, not release notes

    This project publishes no release notes. Between 0.9 and 0.10 there were 30 commits, 28 of them substantive:

    • Simplify bytes_strip_right and bytes_terminate implementations
    • Fix pycodestyle violation
    • Extend user-defined exception from Exception instead of BaseException to follow Python oficial docummentation and make it possible to catch it using a generic Exception
    • Convert README markup to Markdown
    • Rename README.{rst => md}
    • Add PyPI package version badge
    • Add more PyPI badges
    • Delete badges "format", "wheel" and "implementation"
    • README: cancel link of the "Python versions" badge
    • Readme: remove "downloads", "python versions" link
    • Minor improvements of int_from_byte() and byte_from_int()
    • Rewrite read_bits_int_{be,le}()
    • Fix "pycodestyle" violations from previous commit 427ea191
    • Add Python 3.8 through 3.10 classifiers to metadata
    • Deleted MANIFEST.in (#66)
    • read_bytes(): check if the request is satisfiable, change error msg
    • Add API_VERSION constant storing the runtime version as a tuple of ints (#49)
    • Fix read_bytes() in Python 2 on 'file' objects
    • read_bytes(): suppress PyCharm "Unbound local variable" inspection
    • Fixed pylint warnings (#56)

    …and 8 more.

  3. 0.9 15 Oct 2020
    Commits, not release notes

    This project publishes no release notes. Between 0.8 and 0.9 there were 36 commits, 24 of them substantive:

    • pypi manifesto, adds Construct to keywords for mutual promotion
    • replaced struct.unpack with struct.Struct().unpack
    • Added .editorconfig
    • Fix whitespace
    • Now we store the metadata in setup.cfg.
    • Remove unused import (struct.unpack)
    • relative seek(-1,CUR) instead of seek(tell()-1)
    • Added resolve_enum, akin to Ruby implementation
    • Fix EOF check to ensure that we have no bits left in temporary storage too; bumped version and copyright year
    • Added system of exception
    • Add LICENSE file
    • Added ValidationLessThanError/ValidationGreaterThanError
    • Use io.open() instead of open() for consistency
    • Fix byte array operations
    • Added pycodestyle check using GH Actions
    • Fix style violations
    • Installation and usage instructions now live only in Python notes
    • Restrict compatible Python versions, as per https://github.com/kaitai-io/kaitai_struct/issues/695
    • Add ValidationNotAnyOfError
    • Add method read_bits_int_le

    …and 4 more.

  4. 0.8 07 Feb 2018
    Commits, not release notes

    This project publishes no release notes. Between 0.7 and 0.8 there were 16 commits, 10 of them substantive:

    • Note explicit support for Python 3.6
    • Fix blatant out-of-range iteration
    • More helper methods - from_bytes and from_io
    • cStringIO is ancient, modern python hides it
    • raising errors cleanup
    • read_bytes min amount is 0
    • KaitaiStream code cleanup (#18)
    • README converted into reST and updated
    • Bump copyright year
    • Reverting change that broken ~13 tests
  5. 0.7 22 Mar 2017
    Commits, not release notes

    This project publishes no release notes. Between 0.6 and 0.7 there were 8 commits, 8 of them substantive:

    • Removed string handling methods, added readBytesTerm
    • Implemented bytes_strip_right and bytes_terminate
    • Stop redefining built-in "bytes" thing
    • Added PEP-0396-style version
    • Fix code style: extra blank line required here
    • Pumped year
    • Derive version programmatically from kaitaistruct.py using version const
    • Refreshed links to point to actual resources
  6. 0.6 04 Feb 2017
    Commits, not release notes

    This project publishes no release notes. Between 0.5 and 0.6 there were 9 commits, 7 of them substantive:

    • ensure_fixed_contents: removed unnecessary len, we would use expected length now
    • Explicitly inherit object (Py2 compat)
    • Fixed string formatting in exception messages
    • Added simple implementation of read_bits_int
    • Style fix: use isinstance() instead of type() for type check
    • Implemented align_to_byte
    • Pumped version
  7. 0.5 09 Nov 2016

    Nothing published for this version

  8. 0.4.11 03 Nov 2016

    Nothing published for this version

  9. 0.4.10 03 Nov 2016

    Nothing published for this version

Stop reading changelogs one package at a time.

Point PackageTrack at your project and get told which of your dependencies moved, which of those matter, and what to do about it.

Track my project