diff --git a/bonobo/_api.py b/bonobo/_api.py index 97678f5..a4ea7ee 100644 --- a/bonobo/_api.py +++ b/bonobo/_api.py @@ -1,10 +1,10 @@ import warnings -from bonobo.basics import Limit, PrettyPrint, Tee, count, identity, noop, pprint +from bonobo.structs import Bag, Graph, Token +from bonobo.nodes import CsvReader, CsvWriter, FileReader, FileWriter, Filter, JsonReader, JsonWriter, Limit, \ + PrettyPrint, Tee, count, identity, noop, pprint from bonobo.strategies import create_strategy -from bonobo.structs import Bag, Graph from bonobo.util.objects import get_name -from bonobo.io import CsvReader, CsvWriter, FileReader, FileWriter, JsonReader, JsonWriter __all__ = [] @@ -63,7 +63,7 @@ def run(graph, *chain, strategy=None, plugins=None, services=None): # bonobo.structs -register_api_group(Bag, Graph) +register_api_group(Bag, Graph, Token) # bonobo.strategies register_api(create_strategy) @@ -88,8 +88,15 @@ def open_fs(fs_url, *args, **kwargs): return _open_fs(str(fs_url), *args, **kwargs) -# bonobo.basics +# bonobo.nodes register_api_group( + CsvReader, + CsvWriter, + FileReader, + FileWriter, + Filter, + JsonReader, + JsonWriter, Limit, PrettyPrint, Tee, @@ -99,9 +106,6 @@ register_api_group( pprint, ) -# bonobo.io -register_api_group(CsvReader, CsvWriter, FileReader, FileWriter, JsonReader, JsonWriter) - def _is_interactive_console(): import sys diff --git a/bonobo/config/configurables.py b/bonobo/config/configurables.py index 75f1e3c..77e8e4e 100644 --- a/bonobo/config/configurables.py +++ b/bonobo/config/configurables.py @@ -54,6 +54,7 @@ class Configurable(metaclass=ConfigurableMeta): wrapped, args = args[0], args[1:] return type(wrapped.__name__, (cls, ), {cls.__wrappable__: wrapped}) + # XXX is that correct ??? how does it pass args/kwargs to __init__ ??? return super().__new__(cls) def __init__(self, *args, **kwargs): @@ -105,4 +106,4 @@ class Configurable(metaclass=ConfigurableMeta): return self.call(*args, **kwargs) def call(self, *args, **kwargs): - raise NotImplementedError('Not implemented.') \ No newline at end of file + raise NotImplementedError('Not implemented.') diff --git a/bonobo/core/inputs.py b/bonobo/core/inputs.py index f41ff01..cf9a6ec 100644 --- a/bonobo/core/inputs.py +++ b/bonobo/core/inputs.py @@ -15,11 +15,12 @@ # limitations under the License. from abc import ABCMeta, abstractmethod + from queue import Queue -from bonobo.errors import AbstractError, InactiveWritableError, InactiveReadableError from bonobo.constants import BEGIN, END -from bonobo.basics import noop +from bonobo.errors import AbstractError, InactiveReadableError, InactiveWritableError +from bonobo.nodes import noop BUFFER_SIZE = 8192 diff --git a/bonobo/nodes/__init__.py b/bonobo/nodes/__init__.py new file mode 100644 index 0000000..c25b580 --- /dev/null +++ b/bonobo/nodes/__init__.py @@ -0,0 +1,9 @@ +from bonobo.nodes.io import __all__ as _all_io +from bonobo.nodes.io import * + +from bonobo.nodes.basics import __all__ as _all_basics +from bonobo.nodes.basics import * + +from bonobo.nodes.filter import Filter + +__all__ = _all_basics + _all_io + ['Filter'] diff --git a/bonobo/basics.py b/bonobo/nodes/basics.py similarity index 100% rename from bonobo/basics.py rename to bonobo/nodes/basics.py diff --git a/bonobo/filter/__init__.py b/bonobo/nodes/filter.py similarity index 99% rename from bonobo/filter/__init__.py rename to bonobo/nodes/filter.py index d44100c..2ec0130 100644 --- a/bonobo/filter/__init__.py +++ b/bonobo/nodes/filter.py @@ -24,5 +24,3 @@ class Filter(Configurable): def call(self, *args, **kwargs): if self.filter(*args, **kwargs): return NOT_MODIFIED - - diff --git a/bonobo/io/__init__.py b/bonobo/nodes/io/__init__.py similarity index 100% rename from bonobo/io/__init__.py rename to bonobo/nodes/io/__init__.py diff --git a/bonobo/io/csv.py b/bonobo/nodes/io/csv.py similarity index 100% rename from bonobo/io/csv.py rename to bonobo/nodes/io/csv.py diff --git a/bonobo/io/file.py b/bonobo/nodes/io/file.py similarity index 100% rename from bonobo/io/file.py rename to bonobo/nodes/io/file.py diff --git a/bonobo/io/json.py b/bonobo/nodes/io/json.py similarity index 100% rename from bonobo/io/json.py rename to bonobo/nodes/io/json.py