Kingston Changelog

0.7.8

  • Slight refactor / yak shave & fix version
  • Redesigns kingston.match.matches() to ensure that marker values `Any` and `…` are never sent to the comparision function. Fixes seldom triggered edge-case eg when you want to feed values straight to the `re` module.
  • Implements sensible `str()` and `repr()` handlers for `kingston.match.Matcher` objects.
  • Shaves off 1 iteration when matching against `…` marker values.
  • A few internal naming improvements.
  • Filled in missing typing stub for `kingston.aop`

0.7.7

  • Fix version, fixes an edge case when type matching against sequences with exactly 1 value.

0.7.6

  • Require that recursive match.TypeMatcher’s are declared explicitly case by case.

0.7.5

  • Implements a mechanism for AOP with terse syntax
  • Small internal refinements

0.7.4

  • Implements subtype matching in match.TypeMatcher
  • More options for devtool.PrintfDebugging
  • Tiny style fixes

0.7.3

  • More readable error messages in case of Mismatch exception from matchers.
  • Implemented new notation for matchers as subclasses where cases are declared using a decorator.

0.7.2

  • Fix version, incorrect imports in kingston.testing could cause false positives in CI settings.

0.7.1

  • Fix version, invalid metadata in setup.py

0.7.0

  • The module kingston.match can now do a wildcard match using ... (Ellipsis) objects, i.e. an arbitrary long group of Any matchings.
  • Many more refactoring and fixes in kingston.match
  • Testing utility kingston.testing.fixture and extract and run doctests as pytest fixtures.
  • Dropped the homegrown pipe operator overloading mechanism, use SSPipe instead.
  • Can build as a Conda Package.
  • Dropped obsolete dependencies, e.g. pysistence.
  • More extensive usage of MyPy gradual typing mechanism.

0.6.8

  • Fixes for kingston.match
  • kingston.testing.trial() / kingston.testing.retryit(), moved to kingston.devtool.

0.6.7

  • Bugfix in kingston.match.Match.case()

0.6.6

  • Polish release, mosly QA work
  • Smaller bugfixes
  • Coverage analysis with pytest-cov
  • Trimmed code base after coverage analysis

0.6.5

  • New module kingston.match, a mechanism for ”pattern matching” using subclasses of dict’s to store patterns and references to callable’s.

0.6.4

  • Built a more formal project structure.
  • Started to use light-weight CI in the form of a GitHub action invoking Tox.

0.6.3

  • Project renamed to ”Kingston” and re-licenced under LGPL v3