Skip to content
Scott Griffiths edited this page Aug 23, 2024 · 9 revisions

Roadmap

All dates and features are very subject to change!

Minimal Viable Product

Version 0.1 - Perhaps July / August 2024

  • New immutable Bits class.
  • Dtype class.
  • Array class. Mutable, but with proxy to underlying Bits.
  • Field, Format classes.
  • float, int, uint, hex, oct, bin, bytes, bool dtypes.
  • Remove unneeded exception types.
  • pack and unpack methods for Bits.

Possible new features:

  • Allow a new dtype to be specified in Array.unpack. Keep the Array's current dtype as the default.
  • Array.zeros(dtype, n) method, to match Bits.zeros. Don't think we really need Array.ones.
  • Array.pack(dtype, list) method. This is essentially just the __init__ method, but nice symmetry with Bits.
  • FieldType.parse should take a **kwargs. Not useful until expressions are available.

Stretch targets

Version 0.1 / 0.2 - Later in 2024.

  • Repeat class. Perhaps should be part of MVP, but still not sure of best implementation.
  • Find class.
  • Endianness modifiers for dtypes.

Later additions

  • Exotic float types.
  • Bit reading class / methods.
  • Bit reverse modifier for dtypes?
  • User defined types?

Not planned

  • Exponential Golomb types.
  • Explicit file support.
Clone this wiki locally