bitarray
efficient arrays of booleans -- C extension
3.10.1
24M downloads/mo
#933 most downloaded on PyPI
ilanschnell/bitarray
What this package is like to depend on
Last release 14 days ago
07 Aug 2026
Release timing varies
gaps range from 8 days to 5 months
This project publishes no release notes
the list below is its commits, not an announcement
Nothing withdrawn
no release was ever pulled
18 years old
124 releases · first in 2008
10 releases in the last 12 months
see the full history below
Release timeline
124 releases · Aug 2008 to Aug 2026Releases
latest 60 of 124-
3.10.107 Aug 2026Commits, not release notes
This project publishes no release notes. Between
3.10.0and3.10.1there were 39 commits, 37 of them substantive:- next release 3.10.1
- make binode_traverse() easier to read
- make binode_insert_symbol() easier to read
- add shared ambiguous_codes in tests - add sanity check
- add debug test for ._getnode() debug method
- add make_node_dict()
- add debug test
- add useful complementary coverage
- add recursive node counts debug test
- add debug test
- cover more edge cases - add comments
- reduce some test verbosity
- remove type checker instruction in hexadecimal.py example
- fix minor bug in test
- improve node debug tests
- move internal tests for util._Random class into devel/test_random.py
- remove stale comment
- improve internal tree tests and debug code
- simplify sc_stat() - add tests
- add comment
…and 17 more.
-
3.10.031 Jul 2026Commits, not release notes
This project publishes no release notes. Between
3.9.2and3.10.0there were 48 commits, 46 of them substantive:- next release 3.9.3
- make code more readable
- move adjust_slice() into header, remove adjust_step_positive()
- make getslice_lock_held() more cohesive
- minor cleanup
- add .skipbits() tests
- improve readability
- more consistent naming
- add separate ShiftTests
- fix free-threading bug, see comment
- add separate SysinfoTests
- add bitarray/test_free_threading.py
- add notes - update changelog
- typo
- add doc/free_threading.rst
- add missing changes
- skip doctesting free_threading.rst unless GIL is disabled
- remove unnecessary lambda expressions
- minor test simplifications
- silence uninitialized warning on some compilers
…and 26 more.
-
3.9.225 Jul 2026Commits, not release notes
This project publishes no release notes. Between
3.9.1and3.9.2there were 76 commits, 75 of them substantive:- next release 3.9.2
- add lock to byteswap()
- add locks in deserialize()
- add lock in ssqi()
- improve locks in ba2hex() and ba2base()
- lock exported input buffers in hex2ba() and base2ba()
- add ssqi_lock_held() to make code more readable
- add correspond_all_lock_held()
- small simplification in binary_function()
- minor simplifications
- simplify dev-test
- add note to .search()
- simplify test
- add dev-tests
- avoid internal tests for _ssqi() in main suite
- optimize dev-test
- add test - avoid duplicate code
- add lock in chdi_next()
- add bitarray_pop_lock_held()
- add lock in bitarray_reduce() and getslice()
…and 55 more.
-
3.9.119 Jul 2026Commits, not release notes
This project publishes no release notes. Between
3.9.0and3.9.1there were 69 commits, 65 of them substantive:- skip data descriptors when not present
- next release 3.9.1
- simplify write_reference_for_class()
- avoid duplicate code
- make code shorter and more readable
- remove ^ from condition
- use Py_RETURN_RICHCOMPARE macro and remove ssize_richcompare()
- improve RichCompareTests
- avoid calling memcmp() with zero length
- minor cleanup
- wording
- setup digit table during module import
- initialize tables at module import
- add devel-test
- remove caching imported Python objects (which are already caches)
- add common shortcut
- add tests for frozenbitarrays being created
- add sys.abiflags to output
- sys.abiflags only available on Unix
- add (a few) critical sections
…and 45 more.
-
3.9.010 Jul 2026Commits, not release notes
This project publishes no release notes. Between
3.8.2and3.9.0there were 53 commits, 48 of them substantive:- Add skipbits and index to decodeiterator
- next release 3.8.3
- split find_bit() into several function to make it more readable
- remove skipIf in favor of unittest.skipIf
- cleanup/improve testing
- cleanup tests
- use assertIs when appropriate
- use .assertIsNot()
- add tests
- add util.rotate() - rotate bitarray in-place by k positions
- allow integer-like objects in random_k() and rotate()
- add sanity check to example
- add note
- add new function to all - formatting
- improve rotate tests
- add test
- add comments
- remove redundant test
- add test
- minor simplifications/fixes in util.py
…and 28 more.
-
3.8.217 Jun 2026Commits, not release notes
This project publishes no release notes. Between
3.8.1and3.8.2there were 25 commits, 24 of them substantive:- next release 3.8.2
- drop Python 3.6 support
- update pythoncapi_compat.h
- wording
- wording
- simplify debug test
- debug test simplifications
- add example
- add test
- add examples to test
- simplify example
- use verbose regex - add comments
- add expand_str() with test
- wording
- remove str_stop from sc_write_indices()
- minor wording/typos in comments
- fix minor wording/typos in comments and docstrings
- add missing decref of state object - wording/typos
- wording/typos in header file
- add nodes
…and 4 more.
-
3.8.102 Apr 2026Commits, not release notes
This project publishes no release notes. Between
3.8.0and3.8.1there were 24 commits, 22 of them substantive:- next release 3.8.1
- allow testing any default endianness
- update license header
- update indexing documentation, fixes #248
- add comment
- imporove wording
- add test
- update comment
- fix reference counts in bitarray_encode()
- fix Py_DECREF(NULL) in extend_fread() - with test
- check for return value of Py_BuildValue() being NULL in bitarray_buffer_info()
- avoid corrupted bitarray state after realloc error in resize()
- fix NULL dereference in chdi_new error path
- add development tests which import _testcapi
- add missing Py_VISIT(it->sub) in searchiter_traverse
- add sanity checks in devel-test
- move PyObject_GC_UnTrack() to the top of decodeiter_dealloc(), to match other iterator deallocs
- improve error handling in bitarray_buffer_info() - see #250 finding 12
- fix memory leak in binode_to_dict() when resize fails - see #250 finding 11
- check PyLong_FromLong return values - see #250 finding 8
…and 2 more.
-
3.8.002 Nov 2025Commits, not release notes
This project publishes no release notes. Between
3.7.2and3.8.0there were 12 commits, 12 of them substantive:- next release 3.7.3
- add .bytes(), see #246
- remove _set_default_endian()
- add experimental support for free-threaded builds
- add Py_GIL_DISABLED to _sysinfo()
- next release 3.8.0 - update test output
- simplify example code
- also disable GIL in _util.c
- update pythoncapi_compat.h
- add test_gil_disabled and debug output
- update readme
- add release date - update docs
-
3.7.208 Oct 2025Commits, not release notes
This project publishes no release notes. Between
3.7.1and3.7.2there were 26 commits, 24 of them substantive:- next release 3.7.2
- improve seed tests
- improve error handling in example
- add note about util.byteswap()
- improve error handling when adding module constants
- add test to example - cleanup
- remove no longer needed future imports
- simplify tests using random.choices()
- simplify test_random_masks
- minor simplifications
- make code more readable
- wording
- avoid no longer necessary u string prefix
- enable util.random_k() for all Python versions
- skip test for Python version lower than 3.8
- update documentation
- fix wording
- wording
- add devel test for resize()
- simplify test
…and 4 more.
-
3.7.128 Aug 2025Nothing published for this version
-
3.7.024 Aug 2025Nothing published for this version
-
3.6.112 Aug 2025Nothing published for this version
-
3.6.029 Jul 2025Nothing published for this version
-
3.5.221 Jul 2025Nothing published for this version
-
3.5.114 Jul 2025Nothing published for this version
-
3.5.006 Jul 2025Nothing published for this version
-
3.4.323 Jun 2025Nothing published for this version
-
3.4.221 May 2025Nothing published for this version
-
3.4.115 May 2025Nothing published for this version
-
3.4.006 May 2025Nothing published for this version
-
3.3.202 May 2025Nothing published for this version
-
3.3.104 Apr 2025Nothing published for this version
-
3.3.030 Mar 2025Nothing published for this version
-
3.2.019 Mar 2025Nothing published for this version
-
3.1.106 Mar 2025Nothing published for this version
-
3.1.019 Feb 2025Nothing published for this version
-
3.0.015 Oct 2024Nothing published for this version
-
2.9.310 Oct 2024Nothing published for this version
-
2.9.201 Jan 2024Nothing published for this version
-
2.9.123 Dec 2023Nothing published for this version
-
2.9.017 Dec 2023Nothing published for this version
-
2.8.509 Dec 2023Nothing published for this version
-
2.8.404 Dec 2023Nothing published for this version
-
2.8.312 Nov 2023Nothing published for this version
-
2.8.203 Oct 2023Nothing published for this version
-
2.8.107 Aug 2023Nothing published for this version
-
2.8.022 Jul 2023Nothing published for this version
-
2.7.624 Jun 2023Nothing published for this version
-
2.7.510 Jun 2023Nothing published for this version
-
2.7.429 May 2023Nothing published for this version
-
2.7.321 Feb 2023Nothing published for this version
-
2.7.213 Feb 2023Nothing published for this version
-
2.7.110 Feb 2023Nothing published for this version
-
2.7.005 Feb 2023Nothing published for this version
-
2.6.202 Jan 2023Nothing published for this version
-
2.6.118 Dec 2022Nothing published for this version
-
2.6.019 Jul 2022Nothing published for this version
-
2.5.110 May 2022Nothing published for this version
-
2.5.004 May 2022Nothing published for this version
-
2.4.129 Mar 2022Nothing published for this version
-
2.4.002 Mar 2022Nothing published for this version
-
2.3.721 Feb 2022Nothing published for this version
-
2.3.607 Feb 2022Nothing published for this version
-
2.3.507 Jan 2022Nothing published for this version
-
2.3.412 Sep 2021Nothing published for this version
-
2.3.305 Sep 2021Nothing published for this version
-
2.3.223 Aug 2021Nothing published for this version
-
2.3.120 Aug 2021Nothing published for this version
-
2.3.015 Aug 2021Nothing published for this version
-
2.2.507 Aug 2021Nothing published for this version