Meltano SDK v0.3.3 is now available!

Today we are excited to announce the latest version of Meltano SDK for Taps and Targets! This release adds JSONPath support for for the Tap SDK, and two bug fixes for batch-based targets in the new Target SDK.

JSONPath for Records and Pagination Parsing

We’re always looking for ways to help developers get more done with less code, and todays addition of JSONPath support is another big step in that direction. JSONPath allows developers to provide a declarative parsing query for records and pagination tokens, in place of procedural python code. For example, simply setting records_jsonpath = "$.data.records[*]" will tell the SDK to expect a 2-layer nested result from the source API ({"data": {"records": [...]}}) and will automatically parse and pass along the result with no additional coding needed.

If you are brand new to JSONPath syntax, no problem! Check out our samples page, the dev guide, or this handy online expression evaluator. On the other hand, if your use case still requires custom code, or if you just prefer to write the code out by hand in Python, that’s great too, because all previous parsing options, such RESTStream.parse_records() and RESTSTream.get_next_page_token() will continue to work just as they did before.

What else is new?

The list below (copied from the changelog) covers all of the changes made to the SDK since our last v0.3.2 release on July 2.

Added

  • Added JSONPath for taps to handle record extraction from API responses (!77)

Fixed

  • Resolve batch context not being reset between batches (#164, !117)

Removed

  • Removed unused DEFAULT_BATCH_SIZE_ROWS in favor of max_size for BatchSink implementations (#163, !118)

Join the conversation

As always, you can find us on Slack in the channels #singer-tap-development and #singer-target-development. You can also join the conversation every Wednesday in our weekly Office Hours.

Hope to see you soon!