Planning for our "1.0" SDK release (version 1.0)
This issue will be used to track and discuss those items we believe are required for a stable and robust `v1.0` launch of the Tap and Target SDKs. High Pri: - [x] Fully implement selection metadata - [x] Implement state tracking for incremental sync - [x] Implement catalog discovery - [ ] Implement a DatabaseStream class for DB-type sources (sdk#74) - [ ] Show a viable POC implementation for DB-type targets (e.g. `target-snowflake` being worked on by Julian) - [ ] Make sure `context` arg is present in all applicable methods. - [ ] Rename `rows` to `records`, esp. in function signatures. (sdk#243) - [ ] Support deleting (soft or hard deletes) when receiving the ACTIVATE_MESSAGE message type (unofficial singer extension) (sdk#18) - [ ] Include out-of-box CI templates (e.g. for instance, with Github Actions) - [ ] Decision on whether to continue with `singer-sdk` library name, vs splitting into two or more PyPi libraries: `tap-sdk`, `target-sdk`, and something like `singer-sdk-core`. - [ ] Have sufficient tests, including unit tests and integration tests. - [ ] Record flattening (denesting from nested to columnar) sdk#133 Lower pri: - [ ] (Optional) Support LOG_BASED replication for DB-type sources (sdk#74) - [ ] (Optional) Support the ACTIVATE_MESSAGE unofficial singer extension (sdk#18) - [ ] ## Call for Comments Want to suggest other must-have features for our `1.0` release checklist? Please add your feedback in the comments below.
epic