./devel/py-bitarray, Efficient arrays of booleans

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


Branch: CURRENT, Version: 3.0.0, Package name: py312-bitarray-3.0.0, Maintainer: pkgsrc-users

This module provides an object type which efficiently represents an array of
booleans. Bitarrays are sequence types and behave very much like usual lists.
Eight bits are represented by one byte in a contiguous block of memory. The
user can select between two representations: little-endian and big-endian. All
of the functionality is implemented in C. Methods for accessing the machine
representation are provided. This can be useful when bit level access to binary
files is required, such as portable bitmap image files (.pbm). Also, when
dealing with compressed data which uses variable bit length encoding, you may
find this module useful.


Master sites:

Filesize: 123.659 KB

Version history: (Expand)


CVS history: (Expand)


   2025-02-04 07:34:23 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-bitarray: updated to 3.0.0

3.0.0

* see [Bitarray 3 transition](bitarray3.rst)
* remove Python 2.7 support
* `.decode()` now returns iterator (equivalent to past `.iterdecode()`)
* `.search()` now returns iterator (equivalent to past `.itersearch()`)
* remove `.iterdecode()` and `.itersearch()`
* remove `util.rindex()`, use `.index(..., right=1)` instead,
  deprecated since 2.9
* remove `util.make_endian()`, use `bitarray(..., endian=...)` instead,
  deprecated since 2.9
* remove hackish support for `bitarray()` handling unpickling
   2025-02-02 11:38:04 by Havard Eidnes | Files touched by this commit (28)
Log message:
lang/python and a number of python packages: re-do atomic64.mk issue.

Evidently, python 3.13 brought in the need to support 64-bit atomics.
This means that python extension packages built with C needs to
use mk/atomic64.mk to make -latomic available on the required 32-bit
ports.  Sadly, there is no reliable way to detect in the .mk files
whether the package is using C (or C++), so this change adds an
unconditional include of mk/atomic64.mk when the python version is
equal to or larger than 3.13 for packages using egg.mk or wheel.mk.

This undoes the individual package Makefile inclusions of mk/atomic64.mk
that I've added over the last few days.
   2025-01-22 14:30:04 by Havard Eidnes | Files touched by this commit (1)
Log message:
devel/py-bitarray: use atomic64.mk to fix build on macppc w/python3.13.
   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-10-11 14:56:53 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-bitarray: updated to 2.9.3

2.9.3:
* add official Python 3.13 support
* update cibuildwheel to 2.21.3
* minor simplifications
* fix some typos
   2024-01-22 20:50:30 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
py-bitarray: updated to 2.9.2

2024-01-01   2.9.2:
-------------------
* optimize initialization from strings by not constantly resizing buffer
* optimize `util.hex2ba()` and `util.base2ba()` by avoiding unnecessary
  copies
* optimize `util.base2ba()` and `util.ba2base()` for `n=16` (hexadecimal)

2023-12-23   2.9.1:
-------------------
* avoid buffer being unnecessarily initialized with 0s in several
  functions of the `bitarray.util` module
* fix `.count()` type hint in pyi-file
* improve testing

2023-12-17   2.9.0:
-------------------
* deprecate support for Python 2 - Python 2.7 support will be removed
  in bitarray version 3.0,
* `bitarray(n)` for integer initializer `n` will always return a bitarray
  of length `n` with all items initialized to `0`
* allow sub-bitarray in `.count()`
* add `util.ones()`
* `.find()` and `.index()`: add keyword argument `right` for rightmost index
* `.itersearch()`: add start and stop argument, and keyword
  argument `right` (for descending order - starting with rightmost match)
* deprecate `util.rindex()` (will be removed in 3.0 release),
  use `.index(..., right=True)` instead
* deprecate `util.make_endian()` (will be removed in 3.0 release),
  use `bitarray(..., endian=...)` instead
   2023-12-11 10:43:08 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
py-bitarray: update to 2.8.5.

2023-12-09   2.8.5:
-------------------
  * speedup unaligned copies by always using word shifts (in combination
    with builtin byte swap 64 when available) when bit-endianness and
    machine byte-order are opposite
  * add `HAVE_BUILTIN_BSWAP64` to header
  * avoid misaligned pointers when casting to `(uint64_t *)`
  * add tests
   2023-12-04 18:31:34 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
py-bitarray: updated to 2.8.4

2.8.4 (2023-12-04):

simplify copy_n() (remove special cases)
add word shift example C program, and simplify shift_r8()
improve documentation and testing
add roadmap