I am pleased to announce the availability of beta release 0.5.0 of
the "plum-py" package. While this release contains many breaking changes,
the API should now remain relatively stable until the anticipated 1.0.0
release expected later this year.

This pure Python package provides classes and utility functions to
transform byte sequences into Python objects and back. While similar
in purpose to Python's standard library ``struct`` module, this
package provides a larger set of format specifiers and is extensible,
allowing you to easily create complex ones of your own.

Docs: https://plum-py.readthedocs.io/en/latest/index.html
PyPi: https://pypi.org/project/plum-py/
Repo: https://gitlab.com/dangass/plum

License: MIT

With Regards,
Dan Gass
(dan.gass at gmail)

Change List
=========

    - This beta release contains many breaking changes! This release note
      entry attempts to summarize most breaking changes. Please read the
      extensively rewritten documentation to assess in detail what has
changed.

    - Python 3.6 support dropped.

    - Changed most plum constructs (e.g. `Int`, `Float`, etc.) from being
      a data store type (with transform properties) into a simple
      transform type (e.g. `IntX`, `FloatX`, etc.). Instead of subclassing
      to obtain a custom transform, now instantiate the transform.

    - `ByteArray` data store eliminated and replaced with `BytesX`
transform.

    - Added `ItemsX` transform for specifying dict, list, tuple formats.

    - Structure & BitFields changes
        - Bitfield members `cls` argument name changed to `typ`.
        - Member `cls` argument name changed to `fmt`.
        - Type annotations no longer used for the member format transform
          (previously if `cls` was unspecified, the annotation was used).
        - Pack operations no longer accept dictionaries.
        - Reduced number of member definition classes (same abilities exist,
          but features were added to standard `Member` to accomodate them).
        - `pack()` now only usable as a class method. `ipack()` introduced
          for usage on instances.

    - Pack operations now return `bytes` instead of `bytearray`.

    - Unpack operations no longer support File I/O as input buffer.

    - `pack()` and `unpack()` functions/methods offer more flexibility for
      specifying data transform format.

    - `pack_into()` eliminated.

    - `unpack_from()` eliminated (use `Buffer` construct instead).
_______________________________________________
Python-announce-list mailing list -- python-announce-list@python.org
To unsubscribe send an email to python-announce-list-le...@python.org
https://mail.python.org/mailman3/lists/python-announce-list.python.org/
Member address: arch...@mail-archive.com

Reply via email to