Skip to main content

efficient arrays of booleans -- C extension

Project description

[![Build Status](https://dev.azure.com/hardbyte/bitarray/_apis/build/status/hardbyte.bitarray?branchName=master)](https://dev.azure.com/hardbyte/bitarray/_build/latest?definitionId=1&branchName=master)

This is a fork of [ilanschnell/bitarray](https://github.com/ilanschnell/bitarray) with CI testing and pre-built wheels.

bitarray: efficient arrays of booleans

This module provides an object type which efficiently represents an array of booleans. Bitarrays are sequence types and behave very much like usual lists. Eight bits are represented by one byte in a contiguous block of memory. The user can select between two representations: little-endian and big-endian. All of the functionality is implemented in C. Methods for accessing the machine representation are provided. This can be useful when bit level access to binary files is required, such as portable bitmap image files (.pbm). Also, when dealing with compressed data which uses variable bit length encoding, you may find this module useful.

Key features

  • All functionality implemented in C.

  • Bitarray objects behave very much like a list object, in particular slicing (including slice assignment and deletion) is supported.

  • The bit endianness can be specified for each bitarray object, see below.

  • Packing and unpacking to other binary data formats, e.g. numpy.ndarray is possible.

  • Fast methods for encoding and decoding variable bit length prefix codes

  • Bitwise operations: &, |, ^, &=, |=, ^=, ~

  • Sequential search

  • Pickling and unpickling of bitarray objects.

  • Bitarray objects support the buffer protocol

  • On 32-bit systems, a bitarray object can contain up to 2 Gbits.

Installation

bitarray can be installed from PyPi:

pip install bitarray-hardbyte

Alternatively bitarray can be installed from source:

$ tar xzf bitarray-1.6.1.tar.gz $ cd bitarray-1.6.1 $ python setup.py install

On Unix systems, the latter command may have to be executed with root privileges. You can also pip install bitarray. Please note that you need a working C compiler to run the python setup.py install command. If you rather want to use precompiled binaries, you can:

  • pip install bitarray-hardbyte (this PyPI package contains Python wheels for Linux, MaxOSX and Windows and all common Python versions)

  • conda install bitarray (both the default Anaconda repository as well as conda-forge support bitarray)

  • download Windows wheels from [Chris Gohlke](https://www.lfd.uci.edu/~gohlke/pythonlibs/#bitarray)

Once you have installed the package, you may want to test it:

$ python -c ‘import bitarray; bitarray.test()’ bitarray is installed in: /usr/local/lib/python2.7/site-packages/bitarray bitarray version: 1.6.1 3.7.4 (r271:86832, Dec 29 2018) [GCC 4.2.1 (SUSE Linux)] ………………………………………………………………. ………………………………………………………………. ………………………… ———————————————————————- Ran 257 tests in 0.921s

OK

You can always import the function test, and test().wasSuccessful() will return True when the test went well.

Using the module

As mentioned above, bitarray objects behave very much like lists, so there is not too much to learn. The biggest difference from list objects (except that bitarray are obviously homogeneous) is the ability to access the machine representation of the object. When doing so, the bit endianness is of importance; this issue is explained in detail in the section below. Here, we demonstrate the basic usage of bitarray objects:

>>> from bitarray import bitarray
>>> a = bitarray()            # create empty bitarray
>>> a.append(True)
>>> a.extend([False, True, True])
>>> a
bitarray('1011')

Bitarray objects can be instantiated in different ways:

>>> a = bitarray(2**20)       # bitarray of length 1048576 (uninitialized)
>>> bitarray('1001011')       # from a string
bitarray('1001011')
>>> lst = [True, False, False, True, False, True, True]
>>> bitarray(lst)             # from list, tuple, iterable
bitarray('1001011')

Bits can be assigned from any Python object, if the value can be interpreted as a truth value. You can think of this as Python’s built-in function bool() being applied, whenever casting an object:

>>> a = bitarray([42, '', True, {}, 'foo', None])
>>> a
bitarray('101010')
>>> a.append(a)      # note that bool(a) is True
>>> a.count(42)      # counts occurrences of True (not 42)
4
>>> a.remove('')     # removes first occurrence of False
>>> a
bitarray('110101')

Like lists, bitarray objects support slice assignment and deletion:

>>> a = bitarray(50)
>>> a.setall(False)
>>> a[11:37:3] = 9 * bitarray([True])
>>> a
bitarray('00000000000100100100100100100100100100000000000000')
>>> del a[12::3]
>>> a
bitarray('0000000000010101010101010101000000000')
>>> a[-6:] = bitarray('10011')
>>> a
bitarray('000000000001010101010101010100010011')
>>> a += bitarray('000111')
>>> a[9:]
bitarray('001010101010101010100010011000111')

In addition, slices can be assigned to booleans, which is easier (and faster) than assigning to a bitarray in which all values are the same:

>>> a = 20 * bitarray('0')
>>> a[1:15:3] = True
>>> a
bitarray('01001001001001000000')

This is easier and faster than:

>>> a = 20 * bitarray('0')
>>> a[1:15:3] = 5 * bitarray('1')
>>> a
bitarray('01001001001001000000')

Note that in the latter we have to create a temporary bitarray whose length must be known or calculated.

Bit endianness

Since a bitarray allows addressing of individual bits, where the machine represents 8 bits in one byte, there are two obvious choices for this mapping: little- and big-endian. When creating a new bitarray object, the endianness can always be specified explicitly:

>>> a = bitarray(endian='little')
>>> a.frombytes(b'A')
>>> a
bitarray('10000010')
>>> b = bitarray('11000010', endian='little')
>>> b.tobytes()
b'C'

Here, the low-bit comes first because little-endian means that increasing numeric significance corresponds to an increasing address (index). So a[0] is the lowest and least significant bit, and a[7] is the highest and most significant bit.

>>> a = bitarray(endian='big')
>>> a.frombytes(b'A')
>>> a
bitarray('01000001')
>>> a[6] = 1
>>> a.tobytes()
b'C'

Here, the high-bit comes first because big-endian means “most-significant first”. So a[0] is now the lowest and most significant bit, and a[7] is the highest and least significant bit.

The bit endianness is a property attached to each bitarray object. When comparing bitarray objects, the endianness (and hence the machine representation) is irrelevant; what matters is the mapping from indices to bits:

>>> bitarray('11001', endian='big') == bitarray('11001', endian='little')
True

Bitwise operations (&, |, ^, &=, |=, ^=, ~) are implemented efficiently using the corresponding byte operations in C, i.e. the operators act on the machine representation of the bitarray objects. Therefore, one has to be cautious when applying the operation to bitarrays with different endianness.

When converting to and from machine representation, using the tobytes, frombytes, tofile and fromfile methods, the endianness matters:

>>> a = bitarray(endian='little')
>>> a.frombytes(b'\x01')
>>> a
bitarray('10000000')
>>> b = bitarray(endian='big')
>>> b.frombytes(b'\x80')
>>> b
bitarray('10000000')
>>> a == b
True
>>> a.tobytes() == b.tobytes()
False

The endianness can not be changed once an object is created. However, since creating a bitarray from another bitarray just copies the memory representing the data, you can create a new bitarray with different endianness:

>>> a = bitarray('11100000', endian='little')
>>> a
bitarray('11100000')
>>> b = bitarray(a, endian='big')
>>> b
bitarray('00000111')
>>> a == b
False
>>> a.tobytes() == b.tobytes()
True

The default bit endianness is currently big-endian, however this may change in the future, and when dealing with the machine representation of bitarray objects, it is recommended to always explicitly specify the endianness.

Unless explicitly converting to machine representation, using the tobytes, frombytes, tofile and fromfile methods, the bit endianness will have no effect on any computation, and one can safely ignore setting the endianness, and other details of this section.

Buffer protocol

Python 2.7 provides memoryview objects, which allow Python code to access the internal data of an object that supports the buffer protocol without copying. Bitarray objects support this protocol, with the memory being interpreted as simple bytes.

>>> a = bitarray('01000001' '01000010' '01000011', endian='big')
>>> v = memoryview(a)
>>> len(v)
3
>>> v[-1]
67
>>> v[:2].tobytes()
b'AB'
>>> v.readonly  # changing a bitarray's memory is also possible
False
>>> v[1] = 111
>>> a
bitarray('010000010110111101000011')

Variable bit length prefix codes

The method encode takes a dictionary mapping symbols to bitarrays and an iterable, and extends the bitarray object with the encoded symbols found while iterating. For example:

>>> d = {'H':bitarray('111'), 'e':bitarray('0'),
...      'l':bitarray('110'), 'o':bitarray('10')}
...
>>> a = bitarray()
>>> a.encode(d, 'Hello')
>>> a
bitarray('111011011010')

Note that the string ‘Hello’ is an iterable, but the symbols are not limited to characters, in fact any immutable Python object can be a symbol. Taking the same dictionary, we can apply the decode method which will return a list of the symbols:

>>> a.decode(d)
['H', 'e', 'l', 'l', 'o']
>>> ''.join(a.decode(d))
'Hello'

Since symbols are not limited to being characters, it is necessary to return them as elements of a list, rather than simply returning the joined string.

When the codes are large, and you have many decode calls, most time will be spent creating the (same) internal decode tree objects. In this case, it will be much faster to create a decodetree object (which is initialized with a prefix code dictionary), and can be passed to bitarray’s .decode() and .iterdecode() methods, instead of passing the prefix code dictionary to those methods itself.

The above dictionary d can be efficiently constructed using the function bitarray.util.huffman_code(). I also wrote [Huffman coding in Python using bitarray](http://ilan.schnell-web.net/prog/huffman/) for more background information.

Reference

The bitarray object:

bitarray(initializer=0, /, endian=’big’) -> bitarray

Return a new bitarray object whose items are bits initialized from the optional initial object, and endianness. The initializer may be of the following types:

int: Create a bitarray of given integer length. The initial values are arbitrary. If you want all values to be set, use the .setall() method.

str: Create bitarray from a string of 0 and 1.

list, tuple, iterable: Create bitarray from a sequence, each element in the sequence is converted to a bit using its truth value.

bitarray: Create bitarray from another bitarray. This is done by copying the buffer holding the bitarray data, and is hence very fast.

The optional keyword arguments endian specifies the bit endianness of the created bitarray object. Allowed values are the strings big and little (default is big).

Note that setting the bit endianness only has an effect when accessing the machine representation of the bitarray, i.e. when using the methods: tofile, fromfile, tobytes, frombytes.

A bitarray object supports the following methods:

all() -> bool

Returns True when all bits in the array are True.

any() -> bool

Returns True when any bit in the array is True.

append(item, /)

Append the truth value bool(item) to the end of the bitarray.

buffer_info() -> tuple

Return a tuple (address, size, endianness, unused, allocated) giving the memory address of the bitarray’s buffer, the buffer size (in bytes), the bit endianness as a string, the number of unused bits within the last byte, and the allocated memory for the buffer (in bytes).

bytereverse()

For all bytes representing the bitarray, reverse the bit order (in-place). Note: This method changes the actual machine values representing the bitarray; it does not change the endianness of the bitarray object.

clear()

Remove all items from the bitarray.

copy() -> bitarray

Return a copy of the bitarray.

count(value=True, start=0, stop=<end of array>, /) -> int

Count the number of occurrences of bool(value) in the bitarray.

decode(code, /) -> list

Given a prefix code (a dict mapping symbols to bitarrays, or decodetree object), decode the content of the bitarray and return it as a list of symbols.

encode(code, iterable, /)

Given a prefix code (a dict mapping symbols to bitarrays), iterate over the iterable object with symbols, and extend the bitarray with the corresponding bitarray for each symbol.

endian() -> str

Return the bit endianness of the bitarray as a string (little or big).

extend(iterable or string, /)

Extend bitarray by appending the truth value of each element given by iterable. If a string is provided, each 0 and 1 are appended as bits.

fill() -> int

Adds zeros to the end of the bitarray, such that the length of the bitarray will be a multiple of 8. Returns the number of bits added (0..7).

frombytes(bytes, /)

Extend bitarray with raw bytes. That is, each append byte will add eight bits to the bitarray.

fromfile(f, n=-1, /)

Extend bitarray with up to n bytes read from the file object f. When n is omitted or negative, reads all data until EOF. When n is provided and positions but exceeds the data available, EOFError is raised (but the available data is still read and appended.

index(value, start=0, stop=<end of array>, /) -> int

Return index of the first occurrence of bool(value) in the bitarray. Raises ValueError if the value is not present.

insert(index, value, /)

Insert bool(value) into the bitarray before index.

invert(index=<all bits>)

Invert all bits in the array (in-place). When the optional index is given, only invert the single bit at index.

iterdecode(code, /) -> iterator

Given a prefix code (a dict mapping symbols to bitarrays, or decodetree object), decode the content of the bitarray and return an iterator over the symbols.

itersearch(bitarray, /) -> iterator

Searches for the given a bitarray in self, and return an iterator over the start positions where bitarray matches self.

length() -> int

Return the length - a.length() is the same as len(a). Deprecated since 1.5.1, use len().

pack(bytes, /)

Extend the bitarray from bytes, where each byte corresponds to a single bit. The byte b’x00’ maps to bit 0 and all other characters map to bit 1. This method, as well as the unpack method, are meant for efficient transfer of data between bitarray objects to other python objects (for example NumPy’s ndarray object) which have a different memory view.

pop(index=-1, /) -> item

Return the i-th (default last) element and delete it from the bitarray. Raises IndexError if bitarray is empty or index is out of range.

remove(value, /)

Remove the first occurrence of bool(value) in the bitarray. Raises ValueError if item is not present.

reverse()

Reverse the order of bits in the array (in-place).

search(bitarray, limit=<none>, /) -> list

Searches for the given bitarray in self, and return the list of start positions. The optional argument limits the number of search results to the integer specified. By default, all search results are returned.

setall(value, /)

Set all bits in the bitarray to bool(value).

sort(reverse=False)

Sort the bits in the array (in-place).

to01() -> str

Return a string containing ‘0’s and ‘1’s, representing the bits in the bitarray object.

tobytes() -> bytes

Return the byte representation of the bitarray. When the length of the bitarray is not a multiple of 8, the few remaining bits (1..7) are considered to be 0.

tofile(f, /)

Write the byte representation of the bitarray to the file object f. When the length of the bitarray is not a multiple of 8, the remaining bits (1..7) are set to 0.

tolist(as_ints=False, /) -> list

Return a list with the items (False or True) in the bitarray. The optional parameter, changes the items in the list to integers (0 or 1). Note that the list object being created will require 32 or 64 times more memory (depending on the machine architecture) than the bitarray object, which may cause a memory error if the bitarray is very large.

unpack(zero=b’x00’, one=b’xff’) -> bytes

Return bytes containing one character for each bit in the bitarray, using the specified mapping.

The frozenbitarray object:

This object is very similar to the bitarray object. The difference is that this a frozenbitarray is immutable, and hashable:

>>> from bitarray import frozenbitarray
>>> a = frozenbitarray('1100011')
>>> a[3] = 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "bitarray/__init__.py", line 40, in __delitem__
    raise TypeError("'frozenbitarray' is immutable")
TypeError: 'frozenbitarray' is immutable
>>> {a: 'some value'}
{frozenbitarray('1100011'): 'some value'}

frozenbitarray(initializer=0, /, endian=’big’) -> frozenbitarray

Return a frozenbitarray object, which is initialized the same way a bitarray object is initialized. A frozenbitarray is immutable and hashable. Its contents cannot be altered after it is created; however, it can be used as a dictionary key.

The decodetree object:

This (immutable and unhashable) object stores a binary tree initialized from a prefix code dictionary. It’s sole purpose is to be passed to bitarray’s .decode() and .iterdecode() methods, instead of passing the prefix code dictionary to those methods directly:

>>> from bitarray import bitarray, decodetree
>>> t = decodetree({'a': bitarray('0'), 'b': bitarray('1')})
>>> a = bitarray('0110')
>>> a.decode(t)
['a', 'b', 'b', 'a']
>>> ''.join(a.iterdecode(t))
'abba'

decodetree(code, /) -> decodetree

Given a prefix code (a dict mapping symbols to bitarrays), create a binary tree object to be passed to .decode() or .iterdecode().

Functions defined in the bitarray module:

test(verbosity=1, repeat=1) -> TextTestResult

Run self-test, and return unittest.runner.TextTestResult object.

bits2bytes(n, /) -> int

Return the number of bytes necessary to store n bits.

get_default_endian() -> string

Return the default endianness for new bitarray objects being created. Under normal circumstances, the return value is big.

Functions defined in bitarray.util module:

zeros(length, /, endian=None) -> bitarray

Create a bitarray of length, with all values 0, and optional endianness, which may be ‘big’, ‘little’.

make_endian(bitarray, endian, /) -> bitarray

When the endianness of the given bitarray is different from endian, return a new bitarray, with endianness endian and the same elements as the original bitarray, i.e. even though the binary representation of the new bitarray will be different, the returned bitarray will equal the original one. Otherwise (endianness is already endian) the original bitarray is returned unchanged.

rindex(bitarray, value=True, /) -> int

Return the rightmost index of bool(value) in bitarray. Raises ValueError if the value is not present.

strip(bitarray, mode=’right’, /) -> bitarray

Strip zeros from left, right or both ends. Allowed values for mode are the strings: left, right, both

count_n(a, n, /) -> int

Find the smallest index i for which a[:i].count() == n. Raises ValueError, when n exceeds total count (a.count()).

count_and(a, b, /) -> int

Returns (a & b).count(), but is more memory efficient, as no intermediate bitarray object gets created.

count_or(a, b, /) -> int

Returns (a | b).count(), but is more memory efficient, as no intermediate bitarray object gets created.

count_xor(a, b, /) -> int

Returns (a ^ b).count(), but is more memory efficient, as no intermediate bitarray object gets created.

subset(a, b, /) -> bool

Return True if bitarray a is a subset of bitarray b (False otherwise). subset(a, b) is equivalent to (a & b).count() == a.count() but is more efficient since we can stop as soon as one mismatch is found, and no intermediate bitarray object gets created.

ba2hex(bitarray, /) -> hexstr

Return a string containing with hexadecimal representation of the bitarray (which has to be multiple of 4 in length).

hex2ba(hexstr, /, endian=None) -> bitarray

Bitarray of hexadecimal representation. hexstr may contain any number of hex digits (upper or lower case).

ba2int(bitarray, /, signed=False) -> int

Convert the given bitarray into an integer. The bit-endianness of the bitarray is respected. signed indicates whether two’s complement is used to represent the integer.

int2ba(int, /, length=None, endian=None, signed=False) -> bitarray

Convert the given integer to a bitarray (with given endianness, and no leading (big-endian) / trailing (little-endian) zeros), unless the length of the bitarray is provided. An OverflowError is raised if the integer is not representable with the given number of bits. signed determines whether two’s complement is used to represent the integer, and requires length to be provided. If signed is False and a negative integer is given, an OverflowError is raised.

huffman_code(dict, /, endian=None) -> dict

Given a frequency map, a dictionary mapping symbols to their frequency, calculate the Huffman code, i.e. a dict mapping those symbols to bitarrays (with given endianness). Note that the symbols may be any hashable object (including None).

Change log

1.6.1 (2020-11-05):

  • use PyType_Ready for all types: bitarray, bitarrayiterator, decodeiterator, decodetree, searchiterator

1.6.0 (2020-10-17):

  • add decodetree object, for speeding up consecutive calls to .decode() and .iterdecode(), in particular when dealing with large prefix codes, see #103

  • add optional parameter to .tolist() which changes the items in the returned list to integers (0 or 1), as opposed to Booleans

  • remove deprecated bitdiff(), which has been deprecated since version 1.2.0, use bitarray.util.count_xor() instead

  • drop Python 2.6 support

  • update license file, #104

1.5.3 (2020-08-24):

  • add optional index parameter to .index() to invert single bit

  • fix sys.getsizeof(bitarray) by adding .__sizeof__(), see issue #100

1.5.2 (2020-08-16):

  • add PyType_Ready usage, issue #66

  • speedup search() for bitarrays with length 1 in sparse bitarrays, see issue #67

  • add tests

1.5.1 (2020-08-10):

  • support signed integers in util.ba2int() and util.int2ba(), see issue #85

  • deprecate .length() in favor of len()

1.5.0 (2020-08-05):

  • Use Py_ssize_t for bitarray index. This means that on 32bit systems, the maximun number of elements in a bitarray is 2 GBits. We used to have a special 64bit index type for all architectures, but this prevented us from using Python’s sequence, mapping and number methods, and made those method lookups slow.

  • speedup slice operations when step size = 1 (if alignment allows copying whole bytes)

  • Require equal endianness for operations: &, |, ^, &=, |=, ^=. This should have always been the case but was overlooked in the past.

  • raise TypeError when tring to create bitarray from boolean

  • This will be last release to still support Python 2.6 (which was retired in 2013). We do NOT plan to stop support for Python 2.7 anytime soon.

Please find the complete change log [here](https://github.com/ilanschnell/bitarray/blob/master/CHANGE_LOG).

Project details


Download files

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

Source Distribution

bitarray-hardbyte-1.6.2.tar.gz (56.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

bitarray_hardbyte-1.6.2-cp38-cp38-win_amd64.whl (95.7 kB view details)

Uploaded CPython 3.8Windows x86-64

bitarray_hardbyte-1.6.2-cp38-cp38-win32.whl (90.7 kB view details)

Uploaded CPython 3.8Windows x86

bitarray_hardbyte-1.6.2-cp38-cp38-manylinux2010_x86_64.whl (226.6 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ x86-64

bitarray_hardbyte-1.6.2-cp38-cp38-manylinux2010_i686.whl (219.0 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.12+ i686

bitarray_hardbyte-1.6.2-cp38-cp38-manylinux1_x86_64.whl (226.6 kB view details)

Uploaded CPython 3.8

bitarray_hardbyte-1.6.2-cp38-cp38-manylinux1_i686.whl (219.0 kB view details)

Uploaded CPython 3.8

bitarray_hardbyte-1.6.2-cp38-cp38-macosx_10_9_x86_64.whl (90.7 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

bitarray_hardbyte-1.6.2-cp37-cp37m-win_amd64.whl (95.4 kB view details)

Uploaded CPython 3.7mWindows x86-64

bitarray_hardbyte-1.6.2-cp37-cp37m-win32.whl (90.5 kB view details)

Uploaded CPython 3.7mWindows x86

bitarray_hardbyte-1.6.2-cp37-cp37m-manylinux2010_x86_64.whl (209.9 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ x86-64

bitarray_hardbyte-1.6.2-cp37-cp37m-manylinux2010_i686.whl (203.7 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.12+ i686

bitarray_hardbyte-1.6.2-cp37-cp37m-manylinux1_x86_64.whl (209.9 kB view details)

Uploaded CPython 3.7m

bitarray_hardbyte-1.6.2-cp37-cp37m-manylinux1_i686.whl (203.7 kB view details)

Uploaded CPython 3.7m

bitarray_hardbyte-1.6.2-cp37-cp37m-macosx_10_6_intel.whl (119.9 kB view details)

Uploaded CPython 3.7mmacOS 10.6+ Intel (x86-64, i386)

bitarray_hardbyte-1.6.2-cp36-cp36m-win_amd64.whl (95.4 kB view details)

Uploaded CPython 3.6mWindows x86-64

bitarray_hardbyte-1.6.2-cp36-cp36m-win32.whl (90.4 kB view details)

Uploaded CPython 3.6mWindows x86

bitarray_hardbyte-1.6.2-cp36-cp36m-manylinux2010_x86_64.whl (207.8 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ x86-64

bitarray_hardbyte-1.6.2-cp36-cp36m-manylinux2010_i686.whl (202.0 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.12+ i686

bitarray_hardbyte-1.6.2-cp36-cp36m-manylinux1_x86_64.whl (207.8 kB view details)

Uploaded CPython 3.6m

bitarray_hardbyte-1.6.2-cp36-cp36m-manylinux1_i686.whl (202.0 kB view details)

Uploaded CPython 3.6m

bitarray_hardbyte-1.6.2-cp36-cp36m-macosx_10_6_intel.whl (119.8 kB view details)

Uploaded CPython 3.6mmacOS 10.6+ Intel (x86-64, i386)

bitarray_hardbyte-1.6.2-cp35-cp35m-win_amd64.whl (95.4 kB view details)

Uploaded CPython 3.5mWindows x86-64

bitarray_hardbyte-1.6.2-cp35-cp35m-win32.whl (90.4 kB view details)

Uploaded CPython 3.5mWindows x86

bitarray_hardbyte-1.6.2-cp35-cp35m-manylinux2010_x86_64.whl (207.6 kB view details)

Uploaded CPython 3.5mmanylinux: glibc 2.12+ x86-64

bitarray_hardbyte-1.6.2-cp35-cp35m-manylinux2010_i686.whl (201.6 kB view details)

Uploaded CPython 3.5mmanylinux: glibc 2.12+ i686

bitarray_hardbyte-1.6.2-cp35-cp35m-manylinux1_x86_64.whl (207.6 kB view details)

Uploaded CPython 3.5m

bitarray_hardbyte-1.6.2-cp35-cp35m-manylinux1_i686.whl (201.6 kB view details)

Uploaded CPython 3.5m

bitarray_hardbyte-1.6.2-cp35-cp35m-macosx_10_6_intel.whl (119.8 kB view details)

Uploaded CPython 3.5mmacOS 10.6+ Intel (x86-64, i386)

bitarray_hardbyte-1.6.2-cp27-cp27mu-manylinux2010_x86_64.whl (198.1 kB view details)

Uploaded CPython 2.7mumanylinux: glibc 2.12+ x86-64

bitarray_hardbyte-1.6.2-cp27-cp27mu-manylinux2010_i686.whl (191.6 kB view details)

Uploaded CPython 2.7mumanylinux: glibc 2.12+ i686

bitarray_hardbyte-1.6.2-cp27-cp27mu-manylinux1_x86_64.whl (198.1 kB view details)

Uploaded CPython 2.7mu

bitarray_hardbyte-1.6.2-cp27-cp27mu-manylinux1_i686.whl (191.6 kB view details)

Uploaded CPython 2.7mu

bitarray_hardbyte-1.6.2-cp27-cp27m-win_amd64.whl (90.1 kB view details)

Uploaded CPython 2.7mWindows x86-64

bitarray_hardbyte-1.6.2-cp27-cp27m-win32.whl (86.6 kB view details)

Uploaded CPython 2.7mWindows x86

bitarray_hardbyte-1.6.2-cp27-cp27m-manylinux2010_x86_64.whl (198.1 kB view details)

Uploaded CPython 2.7mmanylinux: glibc 2.12+ x86-64

bitarray_hardbyte-1.6.2-cp27-cp27m-manylinux2010_i686.whl (191.6 kB view details)

Uploaded CPython 2.7mmanylinux: glibc 2.12+ i686

bitarray_hardbyte-1.6.2-cp27-cp27m-manylinux1_x86_64.whl (198.1 kB view details)

Uploaded CPython 2.7m

bitarray_hardbyte-1.6.2-cp27-cp27m-manylinux1_i686.whl (191.6 kB view details)

Uploaded CPython 2.7m

bitarray_hardbyte-1.6.2-cp27-cp27m-macosx_10_6_intel.whl (120.3 kB view details)

Uploaded CPython 2.7mmacOS 10.6+ Intel (x86-64, i386)

File details

Details for the file bitarray-hardbyte-1.6.2.tar.gz.

File metadata

  • Download URL: bitarray-hardbyte-1.6.2.tar.gz
  • Upload date:
  • Size: 56.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray-hardbyte-1.6.2.tar.gz
Algorithm Hash digest
SHA256 d4dd77ee51ebf3ebf5fa6520231388365a1888006acab9c0f98f29bbc3aa5658
MD5 547004809b9506c90f1770059badba63
BLAKE2b-256 a8da07f9591e2a2a05a83bb621120d9df920a8c1684327f2c340b692e6c47ce9

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 95.7 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 f130c0caee00d493876bbc175628a20cf70422cc39f376e4b7767c083863ff79
MD5 3443f57da0457eb78a56aa10616dedb8
BLAKE2b-256 aece72e519a863c66e55e375162eccff9bdf7d36aee88b7a7b75fc1b2d883fd1

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp38-cp38-win32.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp38-cp38-win32.whl
  • Upload date:
  • Size: 90.7 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 0363dda495d6169b588b60c446692a374fa61c3781e49dd40f5b7dc44b2e8fe0
MD5 6147e15f146575f70758c13aad6be2e0
BLAKE2b-256 9fc21dabb9581383b158e07d38c73d6b1d33a51d2910affec2d10ee9e92bb28c

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 226.6 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 eae0784cd091f3dcf3026a7e387de4b5a81db14310d0283698ae1d915eb25d7b
MD5 a6389013a6d164e004bcaa12b8ef7bf1
BLAKE2b-256 97743590cdda44974c2d0f38085d77c2cf160bc17a9261aee12f936e6d8ef4e7

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp38-cp38-manylinux2010_i686.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp38-cp38-manylinux2010_i686.whl
  • Upload date:
  • Size: 219.0 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 c631c177b66ade9320bb51e6dcf2d9c1a3574c19b59fe9661d3e40d7de3cad6e
MD5 d111c93b0571a2b729824830d8e943dd
BLAKE2b-256 f293f19ffa4ca36ab1f6c9f42f0514fe8ef70849f72ba971a1cd1c1ad5164212

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 226.6 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 d55c872559dacd436e3e18808a21547cc3700f44619ea2434973e961d9a55ec9
MD5 b9309cefe6211297bc916cd6b62bd64e
BLAKE2b-256 249258e61142d8395b2219b78dc829b1237f5cecb0894ced2d3e663e54b3e126

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp38-cp38-manylinux1_i686.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp38-cp38-manylinux1_i686.whl
  • Upload date:
  • Size: 219.0 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp38-cp38-manylinux1_i686.whl
Algorithm Hash digest
SHA256 a7e137ce3e76f742c73b9575be33d020fd53771df8964074eca48fb24e0808b0
MD5 cf5c4fdbb940b3ea22181318120cef38
BLAKE2b-256 1a69801c0d559e8456c8f811596aeafc48426b89584ce6dcfc8724976876bdec

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 90.7 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2ac5c110fdcf14ce33e357ac13d1f68946c0b7cb3923ea15d291db9e6c037b8a
MD5 8103cc3ced3865f8f113b3b497114ba7
BLAKE2b-256 fb3732558607616d61cf85de3b65238c55a4086a5cae3352ff2f25361b0df582

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 95.4 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 a5c3db6ad922bba96a46fc3eebbd9191e79d206e5526fe0c3a7ce6344f91714a
MD5 51e36e8f70a5286edc776107178f97ed
BLAKE2b-256 5d5d3c37cc54065b01d6adbf4b49e72cf716ee9a05db1eb6727e2253f6eb9166

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp37-cp37m-win32.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 90.5 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 b8f4737da3b512b168a4076f379bb1f86f7130762c548064e191a7670af59f11
MD5 b97bc3ec24a2e62716080ab7efe792f5
BLAKE2b-256 7c0a80c844d4c1ab15067b11c837edca8ea49685d2a52d09687405b0bf387db8

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 209.9 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 eab88f6ee4564a08c5b4ed5bf58f710fe78af68b86caf4fdb5b595819fe0af54
MD5 8ce00474bc4161632726f30afa50c3b2
BLAKE2b-256 08f0b6ac72aefcb67a628bfa585d02a5bed2e89a9b5c8dbe50792b6c8d6b89c3

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp37-cp37m-manylinux2010_i686.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp37-cp37m-manylinux2010_i686.whl
  • Upload date:
  • Size: 203.7 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 cf988e2d7adbae1a7c6d67bb9f200c082deedb19954d146ae9d41dc3509c766d
MD5 771ae63b3cefa85e151af1bd7d9ec5ae
BLAKE2b-256 7916eaa186590dfdd104bd198bef9b1b19a121be05b42d32736b79709552c232

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 209.9 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 ecb5011a0fdda2cbf09542aa849a3722d026afc401f248909ef2c49734278904
MD5 9a642d47c02a39cd11c4438cca0ff90f
BLAKE2b-256 8752cb1c4833340789c3eb964506692528b72eda5deb52e68a9707d38a690a31

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp37-cp37m-manylinux1_i686.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 203.7 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 428dbc44a8970a8ccd0ef56f53da7e3c5b5cf8780a8345d6f89d0371bf999779
MD5 7c0b35813700995f3ec3541bed29c85e
BLAKE2b-256 210da8c5ac4ce6856727924ddcd952726249f39e394bb31624ee422b7e2ea5d5

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp37-cp37m-macosx_10_6_intel.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp37-cp37m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 119.9 kB
  • Tags: CPython 3.7m, macOS 10.6+ Intel (x86-64, i386)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp37-cp37m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 3191013cef5618edbebdc956d90167b12775e5c9235098372db49da7325661b2
MD5 0f0380b5790400517431c8164292ea47
BLAKE2b-256 af840850d46299036aec47f7be54475c2b3c707232eb4ce176552d19e92c4b13

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 95.4 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 596b426cdbfe25958c0f02ce2a60774db2ef99e1a436815020e7348e09192402
MD5 7c75d02aa02c72a961cbe3ebdf0f6f5a
BLAKE2b-256 d911b161b68e09584072bb65f50aa90bc72459517cdfcae3a717b66cf9616956

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp36-cp36m-win32.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 90.4 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 2ea48f6f256197c025b64881021049a0774863f375a91c3202c5184f94d8fe65
MD5 9a0df2a3b06d6654af2742494b5ab90e
BLAKE2b-256 dcf3259217d610648eb41544aadf2ce7f8f0895c039829c2b87c7c619342f19e

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 207.8 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 bb65dfb22c43e257e04a3b8e896737c8833b9b2c95bced7f0822d45fe83be6ba
MD5 cd7e81c536a0a73fd24daa18036b9756
BLAKE2b-256 76e33d934fb69ed97ebbcf78d6dd68cd344d53438a69352f02bc6295dda3b6f8

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp36-cp36m-manylinux2010_i686.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp36-cp36m-manylinux2010_i686.whl
  • Upload date:
  • Size: 202.0 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp36-cp36m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 cc2c0829c4491d223abf29711ca60b7a1913ae06d2ccff7d33db881d507dca21
MD5 df1d5c0f7b8f479b56256cf639510230
BLAKE2b-256 c0489bfa42508977f4825af533280b22c2689e516488a4b16315d95dd1ded66b

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 207.8 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 db9825b9f7b1bba2cf9d6473505fe1d3eb9a4e284931f1cff7da0a7c464f0ecf
MD5 ca9a612408c08df403d51cfd45626570
BLAKE2b-256 f8f250fc61607aca7848b0587a182e97b26d42a13ef9cbd9709092e603015ec7

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp36-cp36m-manylinux1_i686.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 202.0 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 04ac9556e59c3e8a1bd7896632e2a7eee00c532bd578baba3ba4b47fa69f5fe8
MD5 edd655bae96eefac40774a0eb1dfbae3
BLAKE2b-256 e9a4c4c670ae7f2ef08650993b300594462428f04e27fff926e9a01506d0b687

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp36-cp36m-macosx_10_6_intel.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp36-cp36m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 119.8 kB
  • Tags: CPython 3.6m, macOS 10.6+ Intel (x86-64, i386)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 30b06f1cd42bbbc820d8d542e905e9de38c6615b4ed0c1579c36207d0642b907
MD5 8ca50e185aba8ac60128065d6bb48710
BLAKE2b-256 320923046c65369e962cedec8376863a1623b80e3f2a6cbe6486e25cab5a7350

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp35-cp35m-win_amd64.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp35-cp35m-win_amd64.whl
  • Upload date:
  • Size: 95.4 kB
  • Tags: CPython 3.5m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 9d89736338aa2411fcd983dd7e114386b54788ace487823e93773478cdf2a4de
MD5 482a9c41e172c1f32d75b990c5698cb8
BLAKE2b-256 f640b32fe7d0cc0ff156f6c5e3a8832a6d13ad6f1f04b493db9f9a1cadef2f29

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp35-cp35m-win32.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 90.4 kB
  • Tags: CPython 3.5m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 c2cf67bb0baeb2ce6260aef2660fddc4ef986bfe203f45c0ea1596fef36ade64
MD5 230715833f953c67204256bc90a20a8e
BLAKE2b-256 d0c38e10face47bbd2d32750599a8f8bc7564d0281cd61e1c8f1bc8da1814c73

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp35-cp35m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp35-cp35m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 207.6 kB
  • Tags: CPython 3.5m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 5c8524301eb2f8810266dc0541a4a05903cfae67394df583951abefcbefbce7b
MD5 7a9f730f66c0e67578fba25a17a7c2d3
BLAKE2b-256 529bf1295cad03159ed14d4ee1b4dd704bac04860086205c5b7d157ccecffe26

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp35-cp35m-manylinux2010_i686.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp35-cp35m-manylinux2010_i686.whl
  • Upload date:
  • Size: 201.6 kB
  • Tags: CPython 3.5m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp35-cp35m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 dc744618b512b40f7e7827e319a5ba427a6b5c8aed533cc9c1c4ba2995e3d214
MD5 da95c80a4dd16f5ffc782601471c4c22
BLAKE2b-256 4877362131dc28606a889e63f0344ec5d6dc4205468ad70215a19ea4af11e5a3

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 207.6 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 f5b21356c0229118b182b3824e8aa4f744c25b8bc91d30c1dad75e444552573b
MD5 6628eb7d64e3b82d919b3fdd86b13bae
BLAKE2b-256 e57fde5317a442da8b6ebbfc6b0c746fbc12f220d5692a77fbc25ad77a10b29a

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp35-cp35m-manylinux1_i686.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp35-cp35m-manylinux1_i686.whl
  • Upload date:
  • Size: 201.6 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 9785e66650c3b0a1fcc06842b4e6ce0b4e21aba15654bef0a377629e779f79cf
MD5 0e8c1a0eaafb5283c1aaac5d3c686577
BLAKE2b-256 8f1bdae2cb75b10ee1a5e771fbe5e2eff0784e950876af3384d5556459e8a9da

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp35-cp35m-macosx_10_6_intel.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp35-cp35m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 119.8 kB
  • Tags: CPython 3.5m, macOS 10.6+ Intel (x86-64, i386)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp35-cp35m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 710f12f98f665966bb02c9014749a12d53170a748c6f4b1a6b2941b4fd5b5e23
MD5 a1151ef97133621e73304a874dc6dde9
BLAKE2b-256 757986801ab2719f120b372ab24ac6446055c9093e7abd30f2b07d748e287408

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp27-cp27mu-manylinux2010_x86_64.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp27-cp27mu-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 198.1 kB
  • Tags: CPython 2.7mu, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp27-cp27mu-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 74e393b58e86ba5632707a523f8968fcdbb6432015f0bc5ce255d2b4973f89ad
MD5 7501997a60a3bb8e5ff103c5d1894277
BLAKE2b-256 6eb77ae4c2b536d22e025c1e7029ece22d84e926e677381e14f95765b04082fd

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp27-cp27mu-manylinux2010_i686.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp27-cp27mu-manylinux2010_i686.whl
  • Upload date:
  • Size: 191.6 kB
  • Tags: CPython 2.7mu, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp27-cp27mu-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 4216817de7eb3e1124b34d35bcd6aa4051376f0f59060d9f785893aaac03d8f4
MD5 77dd31d6be4cbdda08405f620d4b7973
BLAKE2b-256 f21de322e61193dc78da82884db1a9cacbbc9a00bcb9c8012dd8795e3da905e8

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp27-cp27mu-manylinux1_x86_64.whl
  • Upload date:
  • Size: 198.1 kB
  • Tags: CPython 2.7mu
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 fd3d60600c699c358d3ba5c69db86c4ae8dcab91ffac251022375fb2c62bffc2
MD5 14dd8eb8905a3cef9ae656a94e696c7b
BLAKE2b-256 9748827b46b5954b47645a0c525fe5fa7bf0e560fa4dbb7ba653d226f54f22a9

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp27-cp27mu-manylinux1_i686.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp27-cp27mu-manylinux1_i686.whl
  • Upload date:
  • Size: 191.6 kB
  • Tags: CPython 2.7mu
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 a90e729853a537f08e1b6851856ab1a3ef06bd50cd50178c6df616876976c1ab
MD5 1d446e42b472fb576cd4f438e41d646d
BLAKE2b-256 1451e09a7e400e260d8f30ab1a0e6e0cd40d05abb4f1873cd4f387f5de5fd397

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp27-cp27m-win_amd64.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp27-cp27m-win_amd64.whl
  • Upload date:
  • Size: 90.1 kB
  • Tags: CPython 2.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 00bcdcbe9dcac417b751ca0f2310159f75b82bb55f3eb074fa38f42c288b89ea
MD5 685577a1def4f9ad407b70630b3991ff
BLAKE2b-256 20ae30607bc5f7b047a3b2e1e47c9f5f88b39a383b96d1094445a40f6c6a8bb9

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp27-cp27m-win32.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp27-cp27m-win32.whl
  • Upload date:
  • Size: 86.6 kB
  • Tags: CPython 2.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 9a1fbbf9b7c48b0572902f6245764dbb51c488ca901d6b136780f4aeb55d7c93
MD5 53448ea72b9db98a1fd6ba8cad50cd70
BLAKE2b-256 c77530246950124e390773e2c2b6292a3122e55c2c99ebe1b715f6f72af5de63

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp27-cp27m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp27-cp27m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 198.1 kB
  • Tags: CPython 2.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp27-cp27m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 eb24f3ddbb0f33f8ba17dcad0c95af0e5a7dfb33256f3791fd9e6d916fc6f3fe
MD5 5cc37a13ea0e0d9b5ccb906c5353fb94
BLAKE2b-256 a9a25d9f7e8917b476220d8fd92c201928020e7dd625313b9eda0b7bc37e74a6

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp27-cp27m-manylinux2010_i686.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp27-cp27m-manylinux2010_i686.whl
  • Upload date:
  • Size: 191.6 kB
  • Tags: CPython 2.7m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp27-cp27m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 dcf7f22c44b94fb0f815abbdbd70a9b193de3431e8aabc4c04914fe60a685092
MD5 5a4bd117bb120375e0beb0c2ed0594c1
BLAKE2b-256 ecfd9b100547f863828ebf2386e7637345be72889498db7ab8ea10fdcb5f974f

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp27-cp27m-manylinux1_x86_64.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp27-cp27m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 198.1 kB
  • Tags: CPython 2.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 981bc3eceaef31bde06915709ffe76e7871b46f5b65598c85220b34ccd66248e
MD5 da5e29e5835ffb9ccb56784c5b81250a
BLAKE2b-256 d57d49376fe67a0234e6834123bbe21cfbfd6a350bed116ea7afc71149cd67ff

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp27-cp27m-manylinux1_i686.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp27-cp27m-manylinux1_i686.whl
  • Upload date:
  • Size: 191.6 kB
  • Tags: CPython 2.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 949c032d791356094a60ca77987d5cd49c59ee26ef0c71c5fdc6f9c90007efd0
MD5 03fed6f62be018e12f6cbc511d041c59
BLAKE2b-256 758efb9e675e7fa607de9bc167b514a8d0c38bf1564ebc52844b437cf7cb0c07

See more details on using hashes here.

File details

Details for the file bitarray_hardbyte-1.6.2-cp27-cp27m-macosx_10_6_intel.whl.

File metadata

  • Download URL: bitarray_hardbyte-1.6.2-cp27-cp27m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 120.3 kB
  • Tags: CPython 2.7m, macOS 10.6+ Intel (x86-64, i386)
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for bitarray_hardbyte-1.6.2-cp27-cp27m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 fee59107026d50057b73413f8dd3308d233770863d953bccb3b2dff4d042e301
MD5 3c517dfef277c34246b87d1a1527cd0c
BLAKE2b-256 e304e3ab23d43b224ecb38927af882d2d268c88219d13f273a724980884ec0c0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page