Skip to main content

boolmerge - Tools for merging sorted iterables according to boolean operators.

This module provides 4 efficient iterator types for merging sorted iterables according to boolean operators (AND, NOT, OR, XOR), in a lazy fashion. All code is written is C for performance reasons.

Installation

$ python setup.py install

Usage

First import the module:

>>> import boolmerge

All the iterator types have the same interface. They should be called with two argument, each one being a sorted iterable (be it of any kind), which items should be orderable. If this is not the case, the result is undefined.

boolmerge.andmerge returns an iterator which yields all items present in both of the iterables it is given as arguments:

>>> list(boolmerge.andmerge("acd", "abc"))
['a', 'c']

boolmerge.ormerge returns an iterator which yields all items present in any of the iterables it is given as arguments:

>>> list(boolmerge.ormerge("abcd", "cef"))
['a', 'b', 'c', 'd', 'e', 'f']

boolmerge.notmerge returns an iterator which yields all items present in the first iterable it is given as argument, but not in the second:

>>> list(boolmerge.notmerge("bdf", "abcf"))
['d']

boolmerge.xormerge returns an iterator which yields all items present in either of the iterables it is given as arguments, but not in both:

>>> list(boolmerge.xormerge("adf", "abcd"))
['b', 'c', 'f']

Metadata

Release files for BoolMerge 1.0

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

Source distribution (sdist)

Source distribution for BoolMerge 1.0
File Size Uploaded
boolmerge-1.0.1.tar.gz 86.5 kB Details

Release files / boolmerge-1.0.1.tar.gz

Download URL boolmerge-1.0.1.tar.gz
Size 86.5 kB
Tags Source
SHA-256 checksum
How to use checksums
12413490fa5b3462ba983e6aed3d7ddf132b9e43d2dde78b62be22ec41bb205c
BLAKE2b-256 checksum
How to use checksums
d55eca6b3ac5950d1189d59244d999051dfb06aeae4ac5073119cb00aceb37de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.0 This release

1 release 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