Link [ pkgsrc | NetBSD | pkgsrc git mirror | PR fulltext-search | netbsd commit viewer ]


   
        usage: [branch:branch] [user:user] [path[@revision]] keyword [... [-excludekeyword [...]]] (e.g. branch:MAIN pkgtools/pkg)




switch to index mode

recent branches: MAIN (3m)  pkgsrc-2024Q1 (8d)  pkgsrc-2023Q4 (55d)  pkgsrc-2023Q2 (88d)  pkgsrc-2023Q3 (167d) 

2024-05-26 10:22:32 UTC Now

2024-05-08 12:00:21 UTC MAIN commitmail json YAML

py-bitstring: updated to 4.2.1

April 2024: version 4.2.1
-------------------------
Fixing a few regressions introduced in 4.2.0.

* Module crashes on import with 32-bit Python.
* Lists of integers not converted to bytes when using the bytes constructor.
* Empty comma separated tokens not handled correctly.
* Crash on import when docstrings not present due to optimize flag.

April 2024: version 4.2.0
-------------------------

This release contains a fairly large refactor of how different types are managed. This
shouldn't affect the end user, and the main noticeable change should be the new Dtype
class, which is optional to use.

Support for 8-bit and smaller floats has been reworked and expanded. These are still
a 'beta' feature.

Backwardly incompatible changes:

* Dropped support for Python 3.7. Minimum version is now 3.8.
* For tokens that use a non-numeric length, a ':' is now compulsory rather than
  recommended. For example use 'uint:foo' instead of 'uintfoo'.
* The previous e4m3float and e5m2float formats have become the slightly modified
  p4binary8 and p3binary8 formats.
* Some parameters are now enforced as positional only, such as `auto` in constructors.

Other changes:

* The Array class is no longer 'beta'.

* A new Dtype class can be optionally used to specify types.

* The bitstring.options object is now the preferred method for changing module options.
  The `bitstring.lsb0` and `bitstring.bytealigned` variables are now deprecated, use
  `bitstring.options.lsb0` and `bitstring.options.bytealigned` instead.

* New fromstring method as another way to create bitstrings from formatted strings.
  Instead of relying on the `auto` parameter you can now optionally use `fromstring`.
  >>> s1 = BitArray('u24=1000')  # This is still fine
  >>> s2 = BitArray.fromstring('u24=1000')  # This may be clearer and more efficient.

* More types can now be pretty printed. For example integer and float formats can be used.
  >>> s.pp('u15, bin')

* Pretty printing is now prettier - optional terminal colours added.

* A range of 8-bit, 6-bit and even 4-bit float formats added (beta):
  p3binary8: IEEE 8-bit floating point with 3 bit precision.
  p4binary8: IEEE 8-bit floating point with 4 bit precision.
  e5m2mxfp: OCP 8-bit floating point with 3 bit precision.
  e4m3mxfp: OCP 8-bit floating point with 4 bit precision.
  e2m3mxfp: OCP 6-bit floating point with 4 bit precision.
  e3m2mxfp: OCP 6-bit floating point with 3 bit precision.
  e2m1mxfp: OCP 4-bit floating point with 2 bit precision.
  e8m0mxfp: OCP 8-bit unsigned floating point designed to scale the other formats.
  mxint: OCP 8-bit floating point that is a scaled integer representation.

* Performance improvements.

(adam)