From 32e222787d50bfe69a43ab4bc9b346120ee6ad86 Mon Sep 17 00:00:00 2001 From: Romain Dorgueil Date: Thu, 5 Oct 2017 19:16:03 +0200 Subject: [PATCH] release: 0.5.0 --- Makefile | 2 +- bonobo/_version.py | 2 +- bonobo/commands/inspect.py | 10 +++--- bonobo/util/__init__.py | 6 +--- bonobo/util/inspect.py | 1 - docs/changelog.rst | 64 +++++++++++++++++++++++++++++++++++ tests/config/test_services.py | 2 -- 7 files changed, 73 insertions(+), 14 deletions(-) diff --git a/Makefile b/Makefile index 277dbad..221b012 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ # This file has been auto-generated. # All changes will be lost, see Projectfile. # -# Updated at 2017-10-05 18:52:31.477250 +# Updated at 2017-10-05 18:56:33.985014 PACKAGE ?= bonobo PYTHON ?= $(shell which python) diff --git a/bonobo/_version.py b/bonobo/_version.py index 908c0bb..2b8877c 100644 --- a/bonobo/_version.py +++ b/bonobo/_version.py @@ -1 +1 @@ -__version__ = '0.4.3' +__version__ = '0.5.0' diff --git a/bonobo/commands/inspect.py b/bonobo/commands/inspect.py index 2646ce4..1ab6b5b 100644 --- a/bonobo/commands/inspect.py +++ b/bonobo/commands/inspect.py @@ -6,10 +6,12 @@ from bonobo.util.objects import get_name OUTPUT_GRAPHVIZ = 'graphviz' + def _ident(graph, i): - escaped_index = str(i) - escaped_name = json.dumps(get_name(graph[i])) - return '{{{} [label={}]}}'.format(escaped_index,escaped_name) + escaped_index = str(i) + escaped_name = json.dumps(get_name(graph[i])) + return '{{{} [label={}]}}'.format(escaped_index, escaped_name) + def execute(*, output, **kwargs): graph, plugins, services = read(**kwargs) @@ -20,7 +22,7 @@ def execute(*, output, **kwargs): print(' "BEGIN" [shape="point"];') for i in graph.outputs_of(BEGIN): - print(' "BEGIN" -> ' + _ident(graph, i) + ';') + print(' "BEGIN" -> ' + _ident(graph, i) + ';') for ix in graph.topologically_sorted_indexes: for iy in graph.outputs_of(ix): diff --git a/bonobo/util/__init__.py b/bonobo/util/__init__.py index 682cbe7..df14e9a 100644 --- a/bonobo/util/__init__.py +++ b/bonobo/util/__init__.py @@ -11,11 +11,7 @@ from bonobo.util.inspect import ( isoption, istype, ) -from bonobo.util.objects import ( - get_name, - get_attribute_or_create, - ValueHolder -) +from bonobo.util.objects import (get_name, get_attribute_or_create, ValueHolder) from bonobo.util.python import require # Bonobo's util API diff --git a/bonobo/util/inspect.py b/bonobo/util/inspect.py index 2a19803..f9ae4d8 100644 --- a/bonobo/util/inspect.py +++ b/bonobo/util/inspect.py @@ -1,7 +1,6 @@ from collections import namedtuple - def isconfigurable(mixed): """ Check if the given argument is an instance of :class:`bonobo.config.Configurable`. diff --git a/docs/changelog.rst b/docs/changelog.rst index 2f12063..a049822 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -1,6 +1,70 @@ Changelog ========= +v.0.5.0 - 5 october 2017 +:::::::::::::::::::::::: + +Important highlights +-------------------- + +* `bonobo.pprint` and `bonobo.PrettyPrint` have been removed, in favor of `bonobo.PrettyPrinter` (BC break). +* The `bonobo.config` API has suffered a major refactoring. It has been done carefully and most of your code should + work unchanged, but you may have surprises. This was necessary for this API to be more uniform (potential BC break). +* bonobo.pprint and bonobo.PrettyPrint have been removed, in favor of new bonobo.PrettyPrinter() generic printer. If + you're still using the old versions, time to switch (BC break). +* Secondary APIs start to be more uniform (bonobo.config, bonobo.util). + +New features +------------ + +Graphs & Nodes +.............. + +* Graphs now have a .copy() method. +* New helper transformations arg0_to_kwargs and kwargs_to_arg0. +* The unique pretty printer provided by the core library is now bonobo.PrettyPrinter(). +* Services now have "fs" and "http" configured by default. + +Command line +............ + +* New `bonobo convert` command now allows to run simple conversion jobs without coding anything. +* New `bonobo inspect` command now allows to generate graphviz source for graph visualization. +* Passing environment variables to graph executions now can be done using -e/--env. (cwandrews) +* Add ability to install requirements with for a requirements.txt residing in the same dir (Alex Vykaliuk) + +Preview +....... + +* A "transformation factory" makes its first appearance. It is considered a preview unstable feature. Stay + tuned. + +Internals +--------- + +* Configurables have undergone a refactoring, all types of descriptors should now behave in the same way. +* An UnrecoverrableError exception subclass allows for some errors to stop the whole execution. +* Refactoring of Settings (bonobo.settings). +* Add a reference to graph context (private) in service container. +* Few internal APIs changes and refactorings. + +Bugfixes +-------- + +* Check if PluginExecutionContext was started before shutting it down. (Vitalii Vokhmin) +* Move patch one level up because importlib brakes all the CI tools. (Alex Vykaliuk) +* Do not fail in ipykernel without ipywidgets. (Alex Vykaliuk) +* Escaping issues (Tomas Zubiri) + +Miscellaneous +------------- + +* Windows console output should now be correct. (Parthiv20) +* Various bugfixes. +* More readable statistics on Ubuntu workstation standard terminal (spagoc) +* Documentation, more documentation, documentation again. + + v.0.4.3 - 16 july 2017 :::::::::::::::::::::: diff --git a/tests/config/test_services.py b/tests/config/test_services.py index fb74098..b12ae78 100644 --- a/tests/config/test_services.py +++ b/tests/config/test_services.py @@ -127,5 +127,3 @@ def test_create_container_override(): assert len(c) == 2 assert 'fs' in c and c['fs'] == 'fs' assert 'http' in c and c['http'] == 'http' - -