./devel/py-bitstring, Simple construction, analysis and modification of binary data

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 4.3.1, Package name: py313-bitstring-4.3.1, Maintainer: pkgsrc-users

bitstring is a pure Python module that makes the creation, manipulation
and analysis of binary data as simple and natural as possible.


Master sites:

Filesize: 245.533 KB

Version history: (Expand)


CVS history: (Expand)


   2025-04-12 11:31:52 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-bitstring: updated to 4.3.1

4.3.1
* Updated bitarray dependency to allow for v3.x.
   2025-02-04 07:35:41 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-bitstring: updated to 4.3.0

4.3.0

* Upgraded bitarray dependency to >= 3.0.0.
* Explicit support for Python 3.13.
* Removed the 'experimental feature' label from the new exotic floating point types.
* Fix for LSB0 slicing issue.
   2024-11-11 08:29:31 by Thomas Klausner | Files touched by this commit (862)
Log message:
py-*: remove unused tool dependency

py-setuptools includes the py-wheel functionality nowadays
   2024-05-27 07:05:48 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-bitstring: updated to 4.2.3

4.2.3

More small bug fixes related to some of the new (beta) float formats.

* Some codes representing exotic float negative zero converted to positive zero.
* Auto-scaling rounding the wrong way on occasion.
   2024-05-11 07:06:04 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-bitstring: updated to 4.2.2

4.2.2

A couple more minor bug fixes.

* Sometimes a ValueError was being raised instead of a ReadError.
* Initialising a bitstring from None now raises a TypeError rather than generating
  an empty bitstring.
* Fixed performance regression for find/findall in some situations.
* Fix for AttributeError bug when combining Bits with BitStream.
   2024-05-08 14:00:21 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
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.
   2023-12-07 13:37:38 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-bitstring: updated to 4.1.4

version 4.1.4
Fixing a regression introduced in 4.1.3
* 'bytes' token can't be used without explicit length.
   2023-11-23 09:56:51 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-bitstring: updated to 4.1.3

version 4.1.3
A maintenance release, with some changes to the beta features introduced in 4.1.

* Removed a couple of files that accidentally got included in the previous release.
* The 8-bit float formats have been renamed 'e4m3float' and 'e5m2float'.
* Some refactoring and performance optimizations.