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