Changes¶
2.8.1 (14 February 2020)¶
Fix bug that resulted in lazy resources being cached across separate runs.
2.8.0 (10 February 2020)¶
Add support for lazy resources.
2.7.2 (20 September 2017)¶
Fix bugs relating to default configuration of
functools.partial()
.
2.7.1 (7 September 2017)¶
Use the original’s requirements when the replacement passed to
Runner.replace()
has no specified requirements of its own.
2.7.0 (7 September 2017)¶
Drop support for Python 3.3.
Add
update_wrapper()
helper.Add support for using Python 3 type annotations to specify requirements and returned resources.
Add support for arg names being used as requirements when there is no other configuration.
Add an explicit way of
ignoring
the return value of a callable.
2.6.0 (6 February 2017)¶
Allow replacement of a callable to also supply new requirements.
Officially support Python 3.6.
2.5.0 (23 November 2016)¶
Allow
Plug
instances to be added directly usingRunner.add()
and friends.
2.4.0 (17 November 2016)¶
Add support for cloning depending on what label was used to add callables.
Add
Runner.add_label()
helper to just add a label at the end of the runner.Document and flesh out Plugs.
Switch to full Semantic Versioning.
2.3 (24 June 2016)¶
Stop catching
TypeError
and turning it into aContextError
when calling aRunner
. This turns out to be massively unhelpful, especially when using Python 2.
2.2 (2 January 2016)¶
Add
Plug
base class.
2.1 (14 December 2015)¶
Typo fixes in documentation.
Indicate that Python 2.6 is no longer supported.
Raise exceptions when arguments to
requires()
andreturns()
are not either types or labels.Allow tuples are lists to be passed to
add()
, they will automatically be turned into arequires()
orreturns()
.Better error messages when a requirement is not found in the
Context
.
Thanks to Dani Fortunov for the documentation review.
2.0 (11 December 2015)¶
Re-write dropping all the heuristic callable ordering in favour of building up defined sequences of callables with labelled insertion points.
1.3 (21 October 2015)¶
Official support for Python 3.
Drop official support for Windows, although things should still work.
Move to Travis CI, Read The Docs and Coveralls for development.
‘How’ decorators like
attr()
anditem()
can now be nested as well as individually performing nested actions.Add
returns()
andadd_returning()
as new ways to override the type of a returned value.A better pattern for “marker types”.
1.2 (11 December 2013)¶
Use
nothing
instead ofNone
for marker return types, fixing a bug that occurred when a callable tried to type-map a result that wasNone
.Add an
after()
type wrapper for callables that need to wait until after a resource is used but that can’t accept that resource as a parameter.
1.1 (27 November 2013)¶
Allow runners to be instantiated using other runners.
Allow
Runner.extend()
to be passedRunner
instances.Allow
requires()
decorations to be stacked.Add a
Runner.replace()
method to aid with testing assembled runners.
1.0 (29 October 2013)¶
Initial Release