Skip to main content

micropython-bitstring is a stripped-down version of the Bitstring package by Scott Griffiths that works with MicroPython. It defines a single class Bits for the creation of binary strings. Binary strings created with this module are compatible with the original Bitstring module.

Example:

from ubitstring import Bits
s = Bits(float=3.1415, length=32) + Bits(uint=15, length=4) + Bits(bool=True)
assert len(s) == 32 + 4 + 1

The Bits class

The Bits class is a simplified version of the Bits class of the same name of the original Bitstring package. The focus is on the creation of binary strings, for instance in IoT devices.

The auto and filename keyword arguments have been removed and only the functionality shown in the example below is supported:

a = Bits(int=-31111, length=32)
b = Bits(int=-31111, length=32)

assert a.len == 32

assert a.int == -31111
assert a.hex == 'ffff8679'
assert a.bin == '11111111111111111000011001111001'
assert a.bytes == b'\xff\xff\x86y'

assert a.all(True, [1,2,3,4]) is True
assert a.all(True, [30]) is False

assert a.any(True, [0,30]) is True
assert a.any(True, [29,30]) is False

assert a.count(1) == 24
assert a.count(0) == 8

assert a.tobytes() == b'\xff\xff\x86y'
assert a[-4:].bin == '1001'

assert a == b

c = a + b
assert c.hex == 'ffff8679ffff8679'

The bitstring module has been released as open source under the MIT License. Copyright (c) 2016 Scott Griffiths

For more information see the project’s homepage on GitHub: <https://github.com/scott-griffiths/bitstring>

The MicroPython version has been created by Markus Juenemann: <https://github.com/mjuenema/micropython-bitstring>

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

micropython-bitstring-0.1.2.tar.gz (22.8 kB view details)

Uploaded Source

File details

Details for the file micropython-bitstring-0.1.2.tar.gz.

File metadata

File hashes

Hashes for micropython-bitstring-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b19dec653c2f0bce42ff52817423433146f37d0712575e3a96b88473836e3269
MD5 567fb4c8c8b0701f195dcba58a586615
BLAKE2b-256 44087823cd89a5d4ced8f57a4e5c8f6ec6950ee5e62308783bb182b51d70808d

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.2 This release

1 file

0.1.1

1 file

0.1.0

1 file

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