Skip to main content

Persistent Bitsets

This package provides immutable, sparse, persistent bitsets. That is to say, adding an extra item to a bitset, or unioning two bitsets, will make a new bitset, but the new bitset will re-use as much of the old bitset as possible. It's implemented in Rust.

For a bitset with n elements whose largest element is m, memory usage should be O(n log m), single insertions should be O(log m), and unions should be O(k log m) where k is the size of the smallest bitset being unioned.

Usage example:

from persistent_bitset import PersistentBitSet

set1 = PersistentBitSet(1, 2, 3, 4, 5)
assert list(set1) == [1, 2, 3, 4, 5]
set2 = set1.add(9)
assert list(set1) == [1, 2, 3, 4, 5]
assert list(set2) == [1, 2, 3, 4, 5, 9]

set3 = PersistentBitSet(1, 2, 3).union(PersistentBitSet(4, 5, 6))
assert list(set3) == [1, 2, 3, 4, 5, 6]
assert 1 in set3
assert 6 in set3

Metadata

Release files for persistent-bitset 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for persistent-bitset 0.1.1
File Size Uploaded
persistent_bitset-0.1.1.tar.gz 14.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for persistent-bitset 0.1.1
File
persistent_bitset-0.1.1-cp310-abi3-win_arm64.whl CPython 3.10 abi3 Windows ARM64 Details
persistent_bitset-0.1.1-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
persistent_bitset-0.1.1-cp310-abi3-win32.whl CPython 3.10 abi3 Windows x86-32 Details
persistent_bitset-0.1.1-cp310-abi3-musllinux_1_2_x86_64.whl CPython 3.10 abi3 Linux musl 1.2+ x86-64 Details
persistent_bitset-0.1.1-cp310-abi3-musllinux_1_2_i686.whl CPython 3.10 abi3 Linux musl 1.2+ x86-32 Details
persistent_bitset-0.1.1-cp310-abi3-musllinux_1_2_armv7l.whl CPython 3.10 abi3 Linux musl 1.2+ ARMv7l Details
persistent_bitset-0.1.1-cp310-abi3-musllinux_1_2_aarch64.whl CPython 3.10 abi3 Linux musl 1.2+ ARM64 Details
persistent_bitset-0.1.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details
persistent_bitset-0.1.1-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl CPython 3.10 abi3 Linux glibc 2.17+ IBM System/390x Details
persistent_bitset-0.1.1-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl CPython 3.10 abi3 Linux glibc 2.17+ PowerPC 64-le Details
persistent_bitset-0.1.1-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl CPython 3.10 abi3 Linux glibc 2.17+ ARMv7l Details
persistent_bitset-0.1.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details
persistent_bitset-0.1.1-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl CPython 3.10 abi3 Linux glibc 2.5+ x86-32 Details
persistent_bitset-0.1.1-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
persistent_bitset-0.1.1-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 4.8 MB

Release files / persistent_bitset-0.1.1.tar.gz

Download URL persistent_bitset-0.1.1.tar.gz
Size 14.5 kB
Tags Source
SHA-256 checksum
How to use checksums
0831b751e216724f9356c3bcf3eebcf12a02a504b52bba35c359e591c25d6a92
BLAKE2b-256 checksum
How to use checksums
40e328c8064fe37b1f876bbfea93d6735c1f9fa45a110ff1875f38acbadaa831
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / persistent_bitset-0.1.1-cp310-abi3-win_arm64.whl

Download URL persistent_bitset-0.1.1-cp310-abi3-win_arm64.whl
Size 138.1 kB
Tags CPython 3.10 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
fdc6c29094a10849838376652a1f69e56e3f2a9b01b3d55373d9be9045c5995f
BLAKE2b-256 checksum
How to use checksums
075a956fa57be704409cab5a319e18867f9f7794aae4813e85d456b1f7aac93b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / persistent_bitset-0.1.1-cp310-abi3-win_amd64.whl

Download URL persistent_bitset-0.1.1-cp310-abi3-win_amd64.whl
Size 140.2 kB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
880a5f074d321b81c2de999859b5d35a1fe7de9e258a45d3189193dc517da90a
BLAKE2b-256 checksum
How to use checksums
a6b1bab6175e6c6f1443a2197db654aa0125fee88e4577634c284088b26bdfa4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / persistent_bitset-0.1.1-cp310-abi3-win32.whl

Download URL persistent_bitset-0.1.1-cp310-abi3-win32.whl
Size 136.3 kB
Tags CPython 3.10 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
f2e598c9294c0012d418cff68a552649328330f7e9203249fd1b8273c0ecc301
BLAKE2b-256 checksum
How to use checksums
88e1a02cda05948278eb58552bb5be92df1be80d2203b736760568fe42a37175
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / persistent_bitset-0.1.1-cp310-abi3-musllinux_1_2_x86_64.whl

Download URL persistent_bitset-0.1.1-cp310-abi3-musllinux_1_2_x86_64.whl
Size 484.8 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
28d93ed72b2160a41333db874d23503e77c9da039f4ee0ab578e3b5df4ccde77
BLAKE2b-256 checksum
How to use checksums
cf257b87bc9bf40fe41d615ccf4e347494bf919ebc0aaa64ee2a06c2503a72c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / persistent_bitset-0.1.1-cp310-abi3-musllinux_1_2_i686.whl

Download URL persistent_bitset-0.1.1-cp310-abi3-musllinux_1_2_i686.whl
Size 522.6 kB
Tags CPython 3.10 Linux musl 1.2+ x86-32 abi3
SHA-256 checksum
How to use checksums
47465972e970f2ef53274cca0514720cb2cde191cc842e5b22d2cad706fa3dce
BLAKE2b-256 checksum
How to use checksums
c5ac6bb108fc2e2f02e818e190142165171e135422bbeeb46a7ec1ec790bae5b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / persistent_bitset-0.1.1-cp310-abi3-musllinux_1_2_armv7l.whl

Download URL persistent_bitset-0.1.1-cp310-abi3-musllinux_1_2_armv7l.whl
Size 566.6 kB
Tags CPython 3.10 Linux musl 1.2+ ARMv7l abi3
SHA-256 checksum
How to use checksums
232f618748f9572ed974a16c8fcb29ae89c7e2aa3ba5408c836771936ffc6001
BLAKE2b-256 checksum
How to use checksums
36defd7a6e788bea7fa1b9e785dfb7c4b85e0c8e7a352d5d6b1f8cb7e81d80e6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / persistent_bitset-0.1.1-cp310-abi3-musllinux_1_2_aarch64.whl

Download URL persistent_bitset-0.1.1-cp310-abi3-musllinux_1_2_aarch64.whl
Size 455.8 kB
Tags CPython 3.10 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
fe114122b183a232e2106154846bac9a20ca6ffec60a0656c1ced55ea2fb664f
BLAKE2b-256 checksum
How to use checksums
05973f087e8379f0aa3b7f144ff6a8d61ce7f426a487f67dec33d7371a6e470a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / persistent_bitset-0.1.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL persistent_bitset-0.1.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 281.4 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
f31740964e9f0db95e2d31ea2e4ebec464a7972d7309755ee4c626072e6c6081
BLAKE2b-256 checksum
How to use checksums
428340d2f6d1df00dd81b0056e6f034e60203dff88d1451292659c14ae1812c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / persistent_bitset-0.1.1-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL persistent_bitset-0.1.1-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 300.6 kB
Tags CPython 3.10 Linux glibc 2.17+ IBM System/390x abi3
SHA-256 checksum
How to use checksums
f77c4b265e0c33d3c745c0a7163a390ea4b4d11e07d0b487c9bbe2c2ba51f189
BLAKE2b-256 checksum
How to use checksums
42342cd4dc37779b04f232a7e317a185cc292ba33f9f6bac59a06a7818c8b8fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / persistent_bitset-0.1.1-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL persistent_bitset-0.1.1-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 399.5 kB
Tags CPython 3.10 Linux glibc 2.17+ PowerPC 64-le abi3
SHA-256 checksum
How to use checksums
b7bb1a98996c797915841b50dda5018c20d73144567889a40f44781c3fe62991
BLAKE2b-256 checksum
How to use checksums
cb60f47cd13ffe2577228bf144fee062eeb452b8c7a6bcf952ac40b4fa803ff9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / persistent_bitset-0.1.1-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL persistent_bitset-0.1.1-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 291.1 kB
Tags CPython 3.10 Linux glibc 2.17+ ARMv7l abi3
SHA-256 checksum
How to use checksums
484af98a595e98186247b0c3ce31fa596a04b7300b4c7040a29caa30c67c9e06
BLAKE2b-256 checksum
How to use checksums
104b2e91a6bbb307b6b6657efc91673b5b1b3b14473abda0a2462ed9a6889db3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / persistent_bitset-0.1.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL persistent_bitset-0.1.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 279.9 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
61c95a6d210ba6d95c50aa3b47f80a696918b6f775803ed5cb982e7004a53def
BLAKE2b-256 checksum
How to use checksums
02a026a31e1fe6f1c2267bb1f67b21cf37c181fee4d608baa505ac97033cd0ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / persistent_bitset-0.1.1-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl

Download URL persistent_bitset-0.1.1-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Size 303.9 kB
Tags CPython 3.10 Linux glibc 2.5+ x86-32 abi3
SHA-256 checksum
How to use checksums
54016a0f1f46ccaa342821c2ac494ba64bd135d24c518807c5634bb604ca60b9
BLAKE2b-256 checksum
How to use checksums
1564fbcf0340fb0cf75f208a1c76162f7b6e10230e9a36720f6070814fa29853
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / persistent_bitset-0.1.1-cp310-abi3-macosx_11_0_arm64.whl

Download URL persistent_bitset-0.1.1-cp310-abi3-macosx_11_0_arm64.whl
Size 245.1 kB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7bc88fc7587c36b4c752bbc5983e2642928706529fd8c5edbcbd5f74790182cf
BLAKE2b-256 checksum
How to use checksums
26f1417d78ac8d69017c0af6edc5cb8e9afaf2038d0df6cc5fa3257f2f16bd0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / persistent_bitset-0.1.1-cp310-abi3-macosx_10_12_x86_64.whl

Download URL persistent_bitset-0.1.1-cp310-abi3-macosx_10_12_x86_64.whl
Size 246.7 kB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
e32a4f40e6429bf3f844f8621c05768d7e424d7bfe004c29e4647c79550ab2d2
BLAKE2b-256 checksum
How to use checksums
3069a633e2d1d0b0d6a873b70196b762ddf3aff701b98e94a8c67347c613baf2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.1.1 This release

16 release files

0.1.0

16 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page