Kingston Changelog


  • 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`


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


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


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


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


  • 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.


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


  • Fix version, invalid metadata in


  • 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.


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


  • Bugfix in


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


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


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


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