diff --git a/setup.py b/setup.py index 4284678..69ada0a 100755 --- a/setup.py +++ b/setup.py @@ -4,13 +4,13 @@ import subprocess setup(name="singer-python", - version='5.7.0', + version='5.7.3', description="Singer.io utility library", author="Stitch", classifiers=['Programming Language :: Python :: 3 :: Only'], url="http://singer.io", install_requires=[ - 'pytz==2018.4', + 'pytz>=2018.4', 'jsonschema==2.6.0', 'simplejson==3.11.1', 'python-dateutil>=2.6.0', diff --git a/singer/metadata.py b/singer/metadata.py index dd2b85c..6e37a6b 100644 --- a/singer/metadata.py +++ b/singer/metadata.py @@ -17,6 +17,11 @@ def write(compiled_metadata, breadcrumb, k, val): compiled_metadata.get(breadcrumb).update({k: val}) else: compiled_metadata[breadcrumb] = {k: val} + + # Auto-select all streams. Metadata for a stream will have an empty breadcrumb + if not breadcrumb: + compiled_metadata.get(breadcrumb).update({"selected": True}) + return compiled_metadata def get(compiled_metadata, breadcrumb, k): diff --git a/singer/transform.py b/singer/transform.py index d290386..0e6ba57 100644 --- a/singer/transform.py +++ b/singer/transform.py @@ -259,7 +259,7 @@ def _transform(self, data, typ, schema, path): schema.get(SchemaKey.pattern_properties)) elif typ == "array": - return self._transform_array(data, schema["items"], path) + return self._transform_array(data, schema.get("items", {}), path) elif typ == "string": if data is not None: