Deprecation Timeline¶
This page outlines when various features of the Singer SDK will be removed or changed in a backward incompatible way, following their deprecation, as indicated in the deprecation policy.
Pending Deprecations¶
singer_sdk.typing.to_jsonschema_typeandsinger_sdk.typing.to_sql_typewill be removed. Use theSQLToJSONSchemaandJSONSchemaToSQLclasses instead.The
BasePageNumberPaginatorandBaseOffsetPaginatorclasses will be removed. Use thePageNumberPaginatorandOffsetPaginatorclasses instead.
v0.54¶
Remove the
PluginBase.config_from_cli_argsmethod, which has not been used for a while.Remove the
Stream.reset_state_progress_markersmethod, whose logic was never used at the stream level.JSONLinesBatcherwas moved tosinger_sdk.contrib.batch_encoder_jsonl. Trying to import it fromsinger_sdk.batchwill now raise anAttributeError.
v0.56¶
Batch file encoding¶
JSONLinesEncoding and ParquetEncoding are thin wrappers over BaseBatchFileEncoding
that add no behaviour. They will be removed in v0.56.
# Old (deprecated)
from singer_sdk.helpers._batch import JSONLinesEncoding, ParquetEncoding
# New
from singer_sdk.helpers._batch import BaseBatchFileEncoding
encoding = BaseBatchFileEncoding(format="jsonl")
v0.57¶
SQL module reorganization¶
The singer_sdk.connectors.sql, singer_sdk.sinks.sql, singer_sdk.streams.sql, and
top-level singer_sdk module no longer exports SQL classes directly. Import them from
singer_sdk.sql instead. The shim modules will be removed in v0.57.
# Old (deprecated)
from singer_sdk import SQLConnector, SQLSink, SQLStream, SQLTap, SQLTarget
from singer_sdk.connectors.sql import SQLConnector
from singer_sdk.sinks.sql import SQLSink
from singer_sdk.streams.sql import SQLStream
# New
from singer_sdk.sql import SQLConnector, SQLSink, SQLStream, SQLTap, SQLTarget
See the migration guide for more information.
v0.58¶
1.0¶
The
RESTStream.get_next_page_tokenmethod will no longer be called as part of the stream pagination process. It is replaced by theRESTStream.get_new_paginator.See the migration guide for more information.
The
singer_sdk.testing.get_standard_tap_testsandsinger_sdk.testing.get_standard_target_testsfunctions will be removed. Replace them withsinger_sdk.testing.get_tap_test_classandsinger_sdk.testing.get_target_test_classfunctions respective to generate a richer test suite.The
PyJWTandcryptographylibraries will be longer be installed by default. If you are using theOAuthJWTAuthenticatoryou will need to installsinger-sdk[jwt].SQLAlchemy will be an extra dependency of the SDK. You will need to update your project to depend on
singer-sdk[sql]or depend onsqlalchemydirectly.