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)
| File | Size | Uploaded | |
|---|---|---|---|
| persistent_bitset-0.1.1.tar.gz | 14.5 kB | Details |
Built distributions (wheels)
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}
|