From e40039f4968a5bec6d03e9ac51d5c8c8e0339b22 Mon Sep 17 00:00:00 2001 From: Fabiana <30911746+fabclmnt@users.noreply.github.com> Date: Tue, 4 Feb 2025 18:49:41 +0000 Subject: [PATCH 01/10] fix: connector and datasource creation --- pyproject.toml | 5 +++-- src/ydata/sdk/connectors/connector.py | 8 +++++-- .../sdk/datasources/_models/datasource.py | 4 ++-- .../datasources/_models/datasources/mysql.py | 5 +++-- src/ydata/sdk/datasources/datasource.py | 21 +++++++++++++++---- 5 files changed, 31 insertions(+), 12 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 67896aec..a3c41246 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -42,8 +42,9 @@ dependencies = [ "pandas>=1.5.0", "prettytable==3.13.*", "pydantic>=2.0.0", - "typeguard==2.13.3", - "ydata-datascience" + "typeguard>=2.13.3", + "ydata-datascience", + "requests" ] [project.license] diff --git a/src/ydata/sdk/connectors/connector.py b/src/ydata/sdk/connectors/connector.py index 81081557..35b49572 100644 --- a/src/ydata/sdk/connectors/connector.py +++ b/src/ydata/sdk/connectors/connector.py @@ -150,9 +150,13 @@ def create( payload = { "type": connector_type.value, - "credentials": credentials.dict(by_alias=True) + "credentials": credentials if isinstance(credentials, dict) else credentials.dict(by_alias=True) } - model = connector_class._create(payload, name, project, client) + + if client is None: + model = connector_class._create(payload, name, project) + else: + model = connector_class._create(payload, name, project, client) connector = connector_class._init_from_model_data(model) connector._project = project diff --git a/src/ydata/sdk/datasources/_models/datasource.py b/src/ydata/sdk/datasources/_models/datasource.py index 082efd49..08be2fc5 100644 --- a/src/ydata/sdk/datasources/_models/datasource.py +++ b/src/ydata/sdk/datasources/_models/datasource.py @@ -20,10 +20,10 @@ class DataSource: connector_type: Optional[str] = None def __post_init__(self): - if self.metadata is not None: + if self.metadata is not None and not isinstance(self.metadata, Metadata): self.metadata = Metadata(**self.metadata) - if self.status is not None: + if self.status is not None and not isinstance(self.status, Status): self.status = Status(**self.status) def to_payload(self): diff --git a/src/ydata/sdk/datasources/_models/datasources/mysql.py b/src/ydata/sdk/datasources/_models/datasources/mysql.py index b144d4ca..1b104aec 100644 --- a/src/ydata/sdk/datasources/_models/datasources/mysql.py +++ b/src/ydata/sdk/datasources/_models/datasources/mysql.py @@ -1,4 +1,4 @@ -from dataclasses import dataclass +from dataclasses import dataclass, asdict from ydata.sdk.datasources._models.datasource import DataSource @@ -10,4 +10,5 @@ class MySQLDataSource(DataSource): tables: dict = None def to_payload(self): - self.dict() + return asdict(self) + diff --git a/src/ydata/sdk/datasources/datasource.py b/src/ydata/sdk/datasources/datasource.py index 968afd2f..2f9c112a 100644 --- a/src/ydata/sdk/datasources/datasource.py +++ b/src/ydata/sdk/datasources/datasource.py @@ -59,6 +59,10 @@ def _init_common(self, client: Optional[Client] = None): self._client = client self._logger = create_logger(__name__, level=LOG_LEVEL) + @property + def client(self): + return self._client + @property def uid(self) -> UID: return self._model.uid @@ -127,7 +131,8 @@ def get(uid: UID, project: Optional[Project] = None, client: Optional[Client] = data: list = response.json() datasource_type = CONNECTOR_TO_DATASOURCE.get( ConnectorType(data['connector']['type'])) - datasource = DataSource._model_from_api(data, datasource_type) + model = DataSource._model_from_api(data, datasource_type) + datasource = DataSource._init_from_model_data(model) datasource._project = project return datasource @@ -152,6 +157,7 @@ def create( DataSource """ datasource_type = CONNECTOR_TO_DATASOURCE.get(connector.type) + return cls._create( connector=connector, datasource_type=datasource_type, datatype=datatype, config=config, name=name, project=project, wait_for_metadata=wait_for_metadata, client=client) @@ -163,8 +169,14 @@ def _create( name: Optional[str] = None, project: Optional[Project] = None, wait_for_metadata: bool = True, client: Optional[Client] = None ) -> "DataSource": - model = DataSource._create_model( - connector, datasource_type, datatype, config, name, project, client) + + if client is None: + model = DataSource._create_model( + connector, datasource_type, datatype, config, name, project) + else: + model = DataSource._create_model( + connector, datasource_type, datatype, config, name, project, client) + datasource = DataSource._init_from_model_data(model) if wait_for_metadata: @@ -201,9 +213,10 @@ def _create_model( @staticmethod def _wait_for_metadata(datasource): logger = create_logger(__name__, level=LOG_LEVEL) + client=datasource._client while State(datasource.status.state) not in [State.AVAILABLE, State.FAILED, State.UNAVAILABLE]: logger.info(f'Calculating metadata [{datasource.status}]') - datasource = DataSource.get(uid=datasource.uid, client=datasource._client) + datasource = DataSource.get(uid=datasource.uid, client=client) sleep(BACKOFF) return datasource From 947394b587a06b9c8ef8079cd0b844348c0c0f08 Mon Sep 17 00:00:00 2001 From: Fabiana <30911746+fabclmnt@users.noreply.github.com> Date: Tue, 4 Feb 2025 18:50:59 +0000 Subject: [PATCH 02/10] chore: add code example for SDK --- examples/datasource/mysql_datasource.py | 41 +++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 examples/datasource/mysql_datasource.py diff --git a/examples/datasource/mysql_datasource.py b/examples/datasource/mysql_datasource.py new file mode 100644 index 00000000..4e88f2a3 --- /dev/null +++ b/examples/datasource/mysql_datasource.py @@ -0,0 +1,41 @@ +""" + Example to create a MySQL datasource. +""" +import os + +from ydata.sdk.connectors import Connector, ConnectorType +from ydata.sdk.datasources import DataSource +from ydata.sdk.datasources.datasource import DataSourceType + +os.environ["YDATA_TOKEN"] = 'insert-token' + +if __name__ == '__main__': + + USERNAME = "username" + PASSWORD = "pass" + HOSTNAME = "host" + PORT = "3306" + DATABASE_NAME = "berka" + + conn_str = { + "hostname": HOSTNAME, + "username": USERNAME, + "password": PASSWORD, + "port": PORT, + "database": DATABASE_NAME, + } + + conn = Connector.get(uid='insert-id') + print(conn) + + """ Connector creation example + connector = Connector.create(connector_type=ConnectorType.MYSQL, + credentials=conn_str, + name="MySQL Berka - SDK") + """ + + datasource = DataSource(datatype=DataSourceType.TABULAR, + connector=conn, + name="MySQL Berka - SDK") + #query={'query': 'SELECT * FROM trans;'}) + From fa42fa0de3ab97d1edcf7a0d94a3ed8cc30213dd Mon Sep 17 00:00:00 2001 From: Azory YData Bot Date: Tue, 4 Feb 2025 18:53:48 +0000 Subject: [PATCH 03/10] fix(linting): code formatting --- examples/datasource/mysql_datasource.py | 5 ++--- src/ydata/sdk/datasources/_models/datasources/mysql.py | 3 +-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/examples/datasource/mysql_datasource.py b/examples/datasource/mysql_datasource.py index 4e88f2a3..ce669c95 100644 --- a/examples/datasource/mysql_datasource.py +++ b/examples/datasource/mysql_datasource.py @@ -3,7 +3,7 @@ """ import os -from ydata.sdk.connectors import Connector, ConnectorType +from ydata.sdk.connectors import Connector from ydata.sdk.datasources import DataSource from ydata.sdk.datasources.datasource import DataSourceType @@ -37,5 +37,4 @@ datasource = DataSource(datatype=DataSourceType.TABULAR, connector=conn, name="MySQL Berka - SDK") - #query={'query': 'SELECT * FROM trans;'}) - + # query={'query': 'SELECT * FROM trans;'}) diff --git a/src/ydata/sdk/datasources/_models/datasources/mysql.py b/src/ydata/sdk/datasources/_models/datasources/mysql.py index 1b104aec..af99c21d 100644 --- a/src/ydata/sdk/datasources/_models/datasources/mysql.py +++ b/src/ydata/sdk/datasources/_models/datasources/mysql.py @@ -1,4 +1,4 @@ -from dataclasses import dataclass, asdict +from dataclasses import asdict, dataclass from ydata.sdk.datasources._models.datasource import DataSource @@ -11,4 +11,3 @@ class MySQLDataSource(DataSource): def to_payload(self): return asdict(self) - From 13bfe6d8724c389ae08f9e7adf6d9e109627fc97 Mon Sep 17 00:00:00 2001 From: Fabiana <30911746+fabclmnt@users.noreply.github.com> Date: Fri, 7 Feb 2025 10:54:02 +0000 Subject: [PATCH 04/10] fix: connector creation and synthesizer get from api request. --- examples/synthesizers/privacy_example.py | 10 ++++------ src/ydata/sdk/connectors/connector.py | 10 ++++++++-- src/ydata/sdk/synthesizers/synthesizer.py | 6 +++--- src/ydata/sdk/utils/logger.py | 2 +- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/examples/synthesizers/privacy_example.py b/examples/synthesizers/privacy_example.py index 3299c068..07f1da66 100644 --- a/examples/synthesizers/privacy_example.py +++ b/examples/synthesizers/privacy_example.py @@ -1,11 +1,10 @@ import os -from ydata.sdk.dataset import get_dataset -from ydata.sdk.synthesizers import PrivacyLevel, RegularSynthesizer - # Do not forget to add your token as env variables -os.environ["YDATA_TOKEN"] = '' # Remove if already defined +os.environ["YDATA_TOKEN"] = '{insert-your-token}' # Remove if already defined +from ydata.sdk.dataset import get_dataset +from ydata.sdk.synthesizers import PrivacyLevel, RegularSynthesizer def main(): """In this example, we demonstrate how to train a synthesizer @@ -16,12 +15,11 @@ def main(): # We initialize a regular synthesizer # As long as the synthesizer does not call `fit`, it exists only locally - synth = RegularSynthesizer() + synth = RegularSynthesizer(name='Titanic Privacy') # We train the synthesizer on our dataset setting the privacy level to high synth.fit( X, - name="titanic_synthesizer", privacy_level=PrivacyLevel.HIGH_PRIVACY ) diff --git a/src/ydata/sdk/connectors/connector.py b/src/ydata/sdk/connectors/connector.py index 35b49572..a7e26cdf 100644 --- a/src/ydata/sdk/connectors/connector.py +++ b/src/ydata/sdk/connectors/connector.py @@ -50,8 +50,14 @@ def __init__( self, connector_type: Union[ConnectorType, str, None] = None, credentials: Optional[Dict] = None, name: Optional[str] = None, project: Optional[Project] = None, client: Optional[Client] = None): self._init_common(client=client) - self._model = _connector_type_to_model(ConnectorType._init_connector_type(connector_type))._create_model( - connector_type, credentials, name, client=client) + + self._model = self.create(connector_type=connector_type, + credentials=credentials, + name=name, project=project, + client=client) + + #self._model = _connector_type_to_model(ConnectorType._init_connector_type(connector_type))._create_model( + # connector_type, credentials, name, client=client) self._project = project diff --git a/src/ydata/sdk/synthesizers/synthesizer.py b/src/ydata/sdk/synthesizers/synthesizer.py index 7327b3b6..9f75e4d9 100644 --- a/src/ydata/sdk/synthesizers/synthesizer.py +++ b/src/ydata/sdk/synthesizers/synthesizer.py @@ -320,14 +320,14 @@ def _sample(self, payload: Dict) -> pdDataFrame: response = self._client.post( f"/synthesizer/{self.uid}/sample", json=payload, project=self._project) - data: Dict = response.json() - sample_uid = data.get('uid') + data = response.json() + sample_uid: str = data.get('uid') sample_status = None while sample_status not in ['finished', 'failed']: self._logger.info('Sampling from the synthesizer...') response = self._client.get( f'/synthesizer/{self.uid}/history', project=self._project) - history: Dict = response.json() + history: list = response.json() sample_data = next((s for s in history if s.get('uid') == sample_uid), None) sample_status = sample_data.get('status', {}).get('state') sleep(BACKOFF) diff --git a/src/ydata/sdk/utils/logger.py b/src/ydata/sdk/utils/logger.py index 5f3b61a9..bfa616ee 100644 --- a/src/ydata/sdk/utils/logger.py +++ b/src/ydata/sdk/utils/logger.py @@ -31,7 +31,7 @@ def get_datasource_info(dataframe, datatype): nrows, ncols = dataframe.shape[0], dataframe.shape[1] ntables = None # calculate the number of rows and cols else: - connector = dataframe.connector_type + connector = dataframe._model.connector_type if DataSourceType(datatype) != DataSourceType.MULTITABLE: nrows = dataframe.metadata.number_of_rows ncols = len(dataframe.metadata.columns) From 232f7f1bb504eb09028ac45ca386842d0b577030 Mon Sep 17 00:00:00 2001 From: Azory YData Bot Date: Fri, 7 Feb 2025 10:55:30 +0000 Subject: [PATCH 05/10] fix(linting): code formatting --- examples/synthesizers/privacy_example.py | 5 +++-- src/ydata/sdk/connectors/connector.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/examples/synthesizers/privacy_example.py b/examples/synthesizers/privacy_example.py index 07f1da66..0c71c551 100644 --- a/examples/synthesizers/privacy_example.py +++ b/examples/synthesizers/privacy_example.py @@ -1,10 +1,11 @@ import os +from ydata.sdk.dataset import get_dataset +from ydata.sdk.synthesizers import PrivacyLevel, RegularSynthesizer + # Do not forget to add your token as env variables os.environ["YDATA_TOKEN"] = '{insert-your-token}' # Remove if already defined -from ydata.sdk.dataset import get_dataset -from ydata.sdk.synthesizers import PrivacyLevel, RegularSynthesizer def main(): """In this example, we demonstrate how to train a synthesizer diff --git a/src/ydata/sdk/connectors/connector.py b/src/ydata/sdk/connectors/connector.py index a7e26cdf..40c760df 100644 --- a/src/ydata/sdk/connectors/connector.py +++ b/src/ydata/sdk/connectors/connector.py @@ -56,7 +56,7 @@ def __init__( name=name, project=project, client=client) - #self._model = _connector_type_to_model(ConnectorType._init_connector_type(connector_type))._create_model( + # self._model = _connector_type_to_model(ConnectorType._init_connector_type(connector_type))._create_model( # connector_type, credentials, name, client=client) self._project = project From 283bac49334826718dfe989fa483c0fa97138446 Mon Sep 17 00:00:00 2001 From: Fabiana <30911746+fabclmnt@users.noreply.github.com> Date: Fri, 7 Feb 2025 11:06:49 +0000 Subject: [PATCH 06/10] fix: fix linting --- src/ydata/sdk/datasources/datasource.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ydata/sdk/datasources/datasource.py b/src/ydata/sdk/datasources/datasource.py index 2f9c112a..1d1b6817 100644 --- a/src/ydata/sdk/datasources/datasource.py +++ b/src/ydata/sdk/datasources/datasource.py @@ -213,7 +213,7 @@ def _create_model( @staticmethod def _wait_for_metadata(datasource): logger = create_logger(__name__, level=LOG_LEVEL) - client=datasource._client + client = datasource._client while State(datasource.status.state) not in [State.AVAILABLE, State.FAILED, State.UNAVAILABLE]: logger.info(f'Calculating metadata [{datasource.status}]') datasource = DataSource.get(uid=datasource.uid, client=client) From bb463059897ad09e7af5148a14769a422ec9e313 Mon Sep 17 00:00:00 2001 From: Fabiana <30911746+fabclmnt@users.noreply.github.com> Date: Fri, 7 Feb 2025 11:43:20 +0000 Subject: [PATCH 07/10] fix: fix status and metrics to create synths from existing DS. --- .../regular_existing_datasource.py | 26 +++++++++++++++++++ src/ydata/sdk/datasources/_models/status.py | 3 +++ src/ydata/sdk/synthesizers/synthesizer.py | 2 +- src/ydata/sdk/utils/logger.py | 2 +- 4 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 examples/synthesizers/regular_existing_datasource.py diff --git a/examples/synthesizers/regular_existing_datasource.py b/examples/synthesizers/regular_existing_datasource.py new file mode 100644 index 00000000..23342a54 --- /dev/null +++ b/examples/synthesizers/regular_existing_datasource.py @@ -0,0 +1,26 @@ +import os + +# Authenticate to Fabric to leverage the SDK - https://docs.sdk.ydata.ai/latest/sdk/installation/ +# Make sure to add your token as env variable. +os.environ["YDATA_TOKEN"] = '{insert-token}' # Remove if already defined + +from ydata.sdk.datasources import DataSource +from ydata.sdk.synthesizers import RegularSynthesizer + +# In this example, we demonstrate how to train a synthesizer from an existing RDBMS Dataset. +# Make sure to follow the step-by-step gu ide to create a Dataset in Fabric's catalog: https://docs.sdk.ydata.ai/latest/get-started/create_multitable_dataset/ +X = DataSource.get('{insert-datasource-id}') + +# Init a multi-table synthesizer. Provide a connector so that the process of data synthesis write the +# synthetic data into the destination database +# Provide a connector ID as the write_connector argument. See in this tutorial how to get a connector ID +synth = RegularSynthesizer(name='existing_DS') + +# Start the training of your synthetic data generator +synth.fit(X) + +# As soon as the training process is completed you are able to sample a synthetic database +# The input expected is a percentage of the original database size +# In this case it was requested a synthetic database with the same size as the original +# Your synthetic sample was written to the database provided in the write_connector +synth.sample(n_samples=1000) diff --git a/src/ydata/sdk/datasources/_models/status.py b/src/ydata/sdk/datasources/_models/status.py index c830f511..f19674c7 100644 --- a/src/ydata/sdk/datasources/_models/status.py +++ b/src/ydata/sdk/datasources/_models/status.py @@ -21,6 +21,7 @@ class MetadataState(StringEnum): GENERATING = 'generating' FAILED = 'failed' AVAILABLE = 'available' + UNAVAILABLE = 'unavailable' class ProfilingState(StringEnum): @@ -29,6 +30,7 @@ class ProfilingState(StringEnum): GENERATING = 'generating' FAILED = 'failed' AVAILABLE = 'available' + UNAVAILABLE = 'unavailable' class State(StringEnum): @@ -73,6 +75,7 @@ class Status(BaseModel): validation: Optional[ValidationStatus] = Field(None) metadata: Optional[MetadataStatus] = Field(None) profiling: Optional[ProfilingStatus] = Field(None) + dependentSynthesizersNumber: Optional[int] = Field(None) @staticmethod def unknown() -> "Status": diff --git a/src/ydata/sdk/synthesizers/synthesizer.py b/src/ydata/sdk/synthesizers/synthesizer.py index 9f75e4d9..c10e98a5 100644 --- a/src/ydata/sdk/synthesizers/synthesizer.py +++ b/src/ydata/sdk/synthesizers/synthesizer.py @@ -172,7 +172,7 @@ def _validate_datasource_attributes(X, dataset_attrs: DataSourceAttrs, datatype: raise DataTypeMissingError( "Argument `datatype` is mandatory for pandas.DataFrame training data") elif datatype == DataSourceType.MULTITABLE: - tables = [t for t in X.tables.keys()] # noqa: F841 + tables = [t for t in X._model.tables.keys()] # noqa: F841 # Does it make sense to add more validations here? else: columns = [c.name for c in X.metadata.columns] diff --git a/src/ydata/sdk/utils/logger.py b/src/ydata/sdk/utils/logger.py index bfa616ee..4a341744 100644 --- a/src/ydata/sdk/utils/logger.py +++ b/src/ydata/sdk/utils/logger.py @@ -39,7 +39,7 @@ def get_datasource_info(dataframe, datatype): else: nrows = 0 ncols = 0 - ntables = len(dataframe.tables.keys()) + ntables = len(dataframe._model.tables.keys()) return connector, nrows, ncols, ntables From 3977597c86abdcf345e98278ad20e810fe20dd46 Mon Sep 17 00:00:00 2001 From: Azory YData Bot Date: Fri, 7 Feb 2025 11:46:14 +0000 Subject: [PATCH 08/10] fix(linting): code formatting --- examples/synthesizers/regular_existing_datasource.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/examples/synthesizers/regular_existing_datasource.py b/examples/synthesizers/regular_existing_datasource.py index 23342a54..47196e0f 100644 --- a/examples/synthesizers/regular_existing_datasource.py +++ b/examples/synthesizers/regular_existing_datasource.py @@ -1,11 +1,12 @@ import os +from ydata.sdk.datasources import DataSource +from ydata.sdk.synthesizers import RegularSynthesizer + # Authenticate to Fabric to leverage the SDK - https://docs.sdk.ydata.ai/latest/sdk/installation/ # Make sure to add your token as env variable. os.environ["YDATA_TOKEN"] = '{insert-token}' # Remove if already defined -from ydata.sdk.datasources import DataSource -from ydata.sdk.synthesizers import RegularSynthesizer # In this example, we demonstrate how to train a synthesizer from an existing RDBMS Dataset. # Make sure to follow the step-by-step gu ide to create a Dataset in Fabric's catalog: https://docs.sdk.ydata.ai/latest/get-started/create_multitable_dataset/ From 65ef098e4e541d36c35404607f5c6d0f379c0379 Mon Sep 17 00:00:00 2001 From: Fabiana <30911746+fabclmnt@users.noreply.github.com> Date: Fri, 7 Feb 2025 16:08:34 +0000 Subject: [PATCH 09/10] fix: fix typeguard version --- examples/datasource/mysql_datasource.py | 40 ------------------------- pyproject.toml | 2 +- 2 files changed, 1 insertion(+), 41 deletions(-) delete mode 100644 examples/datasource/mysql_datasource.py diff --git a/examples/datasource/mysql_datasource.py b/examples/datasource/mysql_datasource.py deleted file mode 100644 index ce669c95..00000000 --- a/examples/datasource/mysql_datasource.py +++ /dev/null @@ -1,40 +0,0 @@ -""" - Example to create a MySQL datasource. -""" -import os - -from ydata.sdk.connectors import Connector -from ydata.sdk.datasources import DataSource -from ydata.sdk.datasources.datasource import DataSourceType - -os.environ["YDATA_TOKEN"] = 'insert-token' - -if __name__ == '__main__': - - USERNAME = "username" - PASSWORD = "pass" - HOSTNAME = "host" - PORT = "3306" - DATABASE_NAME = "berka" - - conn_str = { - "hostname": HOSTNAME, - "username": USERNAME, - "password": PASSWORD, - "port": PORT, - "database": DATABASE_NAME, - } - - conn = Connector.get(uid='insert-id') - print(conn) - - """ Connector creation example - connector = Connector.create(connector_type=ConnectorType.MYSQL, - credentials=conn_str, - name="MySQL Berka - SDK") - """ - - datasource = DataSource(datatype=DataSourceType.TABULAR, - connector=conn, - name="MySQL Berka - SDK") - # query={'query': 'SELECT * FROM trans;'}) diff --git a/pyproject.toml b/pyproject.toml index 660e8172..a79ae8e0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -42,7 +42,7 @@ dependencies = [ "pandas>=1.5.0", "prettytable==3.13.*", "pydantic>=2.0.0", - "typeguard>=2.13.3", + "typeguard>=2.13.3, <2.14.0", "ydata-datascience", "requests==2.*", ] From 575a8b7da93515b240894671c57389678251fa24 Mon Sep 17 00:00:00 2001 From: Fabiana <30911746+fabclmnt@users.noreply.github.com> Date: Fri, 7 Feb 2025 16:10:35 +0000 Subject: [PATCH 10/10] fix: remove unused code. --- src/ydata/sdk/connectors/connector.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/ydata/sdk/connectors/connector.py b/src/ydata/sdk/connectors/connector.py index 40c760df..2ffa6695 100644 --- a/src/ydata/sdk/connectors/connector.py +++ b/src/ydata/sdk/connectors/connector.py @@ -56,9 +56,6 @@ def __init__( name=name, project=project, client=client) - # self._model = _connector_type_to_model(ConnectorType._init_connector_type(connector_type))._create_model( - # connector_type, credentials, name, client=client) - self._project = project @init_client