- 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
setup.py
- The module
kingston.match
can now do a wildcard match using...
(Ellipsis
) objects, i.e. an arbitrary long group ofAny
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 tokingston.devtool
.
- Bugfix in
kingston.match.Match.case()
- 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 ofdict
’s to store patterns and references tocallable
’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