Changes

2.3 (24 June 2016)

  • Stop catching TypeError and turning it into a ContextError when calling a Runner. 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() and returns() are not either types or labels.
  • Allow tuples are lists to be passed to add(), they will automatically be turned into a requires() or returns().
  • 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() and item() can now be nested as well as individually performing nested actions.
  • Add returns() and add_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 of None for marker return types, fixing a bug that occurred when a callable tried to type-map a result that was None.
  • 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)

1.0 (29 October 2013)

  • Initial Release