intbitset

raw JSON →
4.1.2 verified Fri May 01 auth: no python

C-based extension implementing fast integer bit sets. Provides a set-like object for non-negative integers optimized for memory and speed. Latest version 4.1.2 (2025). Development is active with periodic releases.

pip install intbitset
error ModuleNotFoundError: No module named 'intbitset'
cause Installed the wrong package (e.g., 'bitarray' or forgot to install).
fix
Run 'pip install intbitset'
error ImportError: cannot import name 'intbitset' from 'intbitset'
cause Wrong import path.
fix
Use 'from intbitset import intbitset'
error ValueError: intbitset() argument must be a sequence of non-negative integers
cause Tried to initialize with negative numbers or non-integers.
fix
Ensure all elements are integers >= 0.
breaking In version 4.0.0, the C buffer protocol was reworked. Python 2 support dropped. Code relying on buffer protocol details may break.
fix Upgrade to 4.x and use standard Python buffer protocol interfaces if needed.
deprecated Python 3.7 support was dropped in v3.1.0. Python 3.8 and older may be dropped in future releases.
fix Use Python 3.9 or later.
gotcha intbitset only supports non-negative integers. Adding negative numbers raises ValueError.
fix Ensure all values are >= 0 before adding to intbitset.
gotcha intbitset is not hashable. Cannot be used as a dictionary key or in a set of sets.
fix Convert to a tuple or use frozenset if hashing is required.

Create an intbitset from a list, add elements, check membership, and print.

from intbitset import intbitset

s = intbitset([1, 2, 3, 1000])
s.add(4)
print(2 in s)  # True
print(len(s))  # 5
print(s)       # intbitset([1, 2, 3, 4, 1000])