Skip to main content

Abstraction layer for creating hash maps to speed up extracting subsets out of objects in collection

Project description

https://raw.githubusercontent.com/ClearcodeHQ/matchbox/master/logo.png

matchbox

Latest PyPI version Documentation Status Wheel Status Supported Python Versions License

Package status

Tests Coverage Status
Matchbox is a simple python library designed to make selecting object, or object’s set based on

required characteristics quick operation. No iterating, and no value checking on actual objects, just select and operations on dictionaries.

Package resources

CHANGELOG

1.1.1

Misc

  • Run tests on python 3.10

1.1.0

Feature

  • Add support for python 3.9

  • Replace NamedTuple usage with dataclass for the Trait class

  • Support PEP 561

1.0.0

  • [enhancement] support only python 3.7 and up

  • [enhancement] Add type hints

  • small code enhancement during adding matching entities to boxes

  • remove method - ability to remove entity from already built box

  • fix license information

0.3.0

  • added short glossary

  • updated docs to reflect naming changes

  • rewritten usage

  • renamed various object’s usages and index_object to entity [thanks Michael Sweeney]

  • renamed characteristics_value and value references to traits, as in Characteristic’s trait. [thanks Michael Sweeney]

  • renamed MatchBox.not_matching method into MatchBox.mismatch - signature remained the same.

  • only None and empty list will be treated as a value not used for matching

  • added repr method to box

  • renamed exclude_unknown to mismatch_unknown to clarify set’s meaning

  • Extracted indexing logic from MatchBox to a base class.

0.2.0

  • extended tests to cover python 3.5

  • merge MultiMatchBox into MatchBox - now anyone extending MatchBoxes will be able to work with value extractors rather than re-implementing MatchBoxes.

0.1.0

  • MatchBox - single value based Matching Box

  • MultiMatchBox - multivalue based Matching Box

  • package structure

  • documentation

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

matchbox-1.1.1.tar.gz (20.2 kB view details)

Uploaded Source

Built Distribution

matchbox-1.1.1-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file matchbox-1.1.1.tar.gz.

File metadata

  • Download URL: matchbox-1.1.1.tar.gz
  • Upload date:
  • Size: 20.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10

File hashes

Hashes for matchbox-1.1.1.tar.gz
Algorithm Hash digest
SHA256 fffbce03cefa8cf4ba16af07975bf6cb4bd5f1a07ef14a77cfaa5d9199fd3ebf
MD5 36f740f28179c3be794e2e454410c66e
BLAKE2b-256 641a0b574fdbab071a196afece15613696a4e09ec6f1f648f8d4c3b6f3852225

See more details on using hashes here.

File details

Details for the file matchbox-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: matchbox-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.10

File hashes

Hashes for matchbox-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6f68a9878bdc1dbf20ac7d583a62a27b02a73d2ca8fea2beda7987bc4994fbe5
MD5 7dae0646b0d3d71d463d78cdbbcdcb5b
BLAKE2b-256 0ae4c7c292893214d3bbee1b4dbd84db451033e714b7e6d17a24d4979598581a

See more details on using hashes here.

Supported by

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