singer-io / singer-tap-template

GNU Affero General Public License v3.0
68 stars 31 forks source link

Update standards to current best practices #5

Closed dmosorast closed 6 years ago

dmosorast commented 6 years ago

The way this was originally written, it the properties argument was overriding the catalog, so when catalog and properties were both passed into a tap written using this template, it would prefer the properties argument, causing potential errors, depending on how the code changed post-cookiecutter.

This change removes that option, and also the option of checking for field and stream selection within the schema itself. The best practice for that is to use metadata to select fields and streams.

A side-effect of this change is that the Catalog class will now be used, since that is what utils.parse_args() gives back for this argument. As such, I changed all of the references to this object and its children to use class property accessors instead of dict accessors.

nick-mccoy commented 6 years ago

👍 Looks good!