BSD Ports

misc/py-tibs 2.0.1 NetBSD

Sleek Python library for binary data

System
NetBSD
Repository
pkgsrc
Maintainer
[email protected]
Last update
Commit
1ffcba8675
License
mit
Categories
misc, python
Package size
803.6 KiB, 2763.2 KiB installed

Description

tibs is a simple but powerful Python library for creating, interpreting and manipulating binary data. It is 100% written in Rust to give it excellent performance, and is from the same author as the bitstring library.

Install

Binary package:

pkgin install py311-tibs

From pkgsrc:

cd /usr/pkgsrc/misc/py-tibs && make install clean

Packages

The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.

RepositoryVersion
NetBSD 10.1 x86_642.0.1
NetBSD 10.1 aarch640.9.2
SmartOS / illumos x86_642.0.2
macOS 15 arm642.0.2

Dependencies

Run dependencies 1
Required by 1

Configuration

No options to configure.

Service scripts
none
Flavors
py312-tibs-2.0.1, py313-tibs-2.0.1, py314-tibs-2.0.1

Commit history 5

DateCommitCreditsLog message
1ffcba8675 adam py-tibs: updated to 2.0.2
2.0.2 * A `memoryview` is now read as its raw bytes, exactly as `bytes(mv)` gives them. Views with a format other than `'B'` used to give the wrong bytes or raise an exception. * Reading a `memoryview` is now a single copy of its buffer, so it is as fast as reading `bytes`.
587468dd8d adam py-tibs: updated to 2.0.1
2.0.1 Lots of new features added. A few caused some small backwardly incompatible changes, so as the user base is still small I just accepted the better API and upped the major version number.
d267c3dc91 adam py-tibs: updated to 1.1.0
1.1 Added * Added `Tibs.to_bools()` and `Mutibs.to_bools()` for converting to a list of bools. This is much faster than iterating with `list(...)`, and accepts the usual optional `start` and `end` parameters. Fixed * Fixed byte-aligned slice assignment and slice deletion writing to the wrong bits on a `Mutibs` created by slicing another `Mutibs` (the underlying storage of such objects does not always start on a byte boundary). * Fixed a crash in `from_joined` when the same empty container was repeated in a list. * Ranges passed to `set`, `unset`, `set_at` and `unset_at` now behave exactly like the list of their contents. Empty ranges (such as `range(1, 0)` or `range(0, 2, -1)`) are no-ops instead of crashing, and negative range values …
40c6b822e0 adam py-tibs: updated to 1.0.0
1.0.0 This is the first stable release. The documented public API is now intended to remain compatible across future 1.x releases. Backwardly incompatible changes * Tightened automatic promotion to `Tibs` and `Mutibs`. Constructors and other bit-sequence arguments now accept only unambiguous inputs: existing `Tibs`/`Mutibs` objects, strings, `bytes`/`bytearray`/`memoryview`, and strict list or tuple bit patterns containing only `True`, `False`, `0` or `1`. Arbitrary iterables, file-like objects such as `io.BytesIO`, `array.array`, and numeric lists such as `[1, 2, 3]` no longer silently convert through truthiness. Use `from_bools(...)` for truthy iterables, `from_bytes(...)` for explicit byte data, and `from_values(...)` for fixed-width numeric values.
a986f4f417 adam py-tibs: updated to 0.12.0
0.12.0 This is effectively the first beta before a 1.0 release. I don't plan to change the API or add new features before the 1.0 release. Backwardly incompatible changes * Minimum Python version now 3.10 instead of 3.8 * Renamed the `Endianness` enum to `ByteOrder` as it's more consistent. Added * Added `Tibs.split_at()` and `Mutibs.split_at()` for partitioning a bit sequence at one or more bit positions. Fixed * Fix LSB0 view value ordering.