diff --git a/environment.yml b/environment.yml new file mode 100644 index 00000000..53d8e741 --- /dev/null +++ b/environment.yml @@ -0,0 +1,20 @@ +name: ydata-sdk +channels: + - defaults +dependencies: + - bzip2=1.0.8=h1de35cc_0 + - ca-certificates=2023.08.22=hecd8cb5_0 + - libffi=3.4.4=hecd8cb5_0 + - ncurses=6.4=hcec6c5f_0 + - openssl=3.0.12=hca72f7f_0 + - pip=23.3.1=py310hecd8cb5_0 + - python=3.10.13=h5ee71fb_0 + - readline=8.2=hca72f7f_0 + - setuptools=68.0.0=py310hecd8cb5_0 + - sqlite=3.41.2=h6c40b1e_0 + - tk=8.6.12=h5d9f67b_0 + - tzdata=2023c=h04d1e81_0 + - wheel=0.41.2=py310hecd8cb5_0 + - xz=5.4.5=h6c40b1e_0 + - zlib=1.2.13=h4dc903c_0 +prefix: /usr/local/Caskroom/miniconda/base/envs/ydata-sdk diff --git a/src/ydata/sdk/synthesizers/regular.py b/src/ydata/sdk/synthesizers/regular.py index 41bee623..c0dd4719 100644 --- a/src/ydata/sdk/synthesizers/regular.py +++ b/src/ydata/sdk/synthesizers/regular.py @@ -40,7 +40,6 @@ def fit(self, X: Union[DataSource, pdDataFrame], exclude_cols: Optional[List[str]] = None, dtypes: Optional[Dict[str, Union[str, DataType]]] = None, target: Optional[str] = None, - name: Optional[str] = None, anonymize: Optional[dict] = None, condition_on: Optional[List[str]] = None) -> None: """Fit the synthesizer. @@ -61,7 +60,7 @@ def fit(self, X: Union[DataSource, pdDataFrame], """ BaseSynthesizer.fit(self, X=X, datatype=DataSourceType.TABULAR, entities=entities, generate_cols=generate_cols, exclude_cols=exclude_cols, dtypes=dtypes, - target=target, name=name, anonymize=anonymize, privacy_level=privacy_level, + target=target, anonymize=anonymize, privacy_level=privacy_level, condition_on=condition_on) def __repr__(self): diff --git a/src/ydata/sdk/synthesizers/synthesizer.py b/src/ydata/sdk/synthesizers/synthesizer.py index 4dd19a58..f5f08aeb 100644 --- a/src/ydata/sdk/synthesizers/synthesizer.py +++ b/src/ydata/sdk/synthesizers/synthesizer.py @@ -51,9 +51,9 @@ class BaseSynthesizer(ABC, ModelFactoryMixin): client (Client): (optional) Client to connect to the backend """ - def __init__(self, client: Optional[Client] = None): + def __init__(self, name: str | None = None, client: Client | None = None): self._init_common(client=client) - self._model: Optional[mSynthesizer] = None + self._model = mSynthesizer(name=name or str(uuid4())) @init_client def _init_common(self, client: Optional[Client] = None): @@ -69,7 +69,6 @@ def fit(self, X: Union[DataSource, pdDataFrame], exclude_cols: Optional[List[str]] = None, dtypes: Optional[Dict[str, Union[str, DataType]]] = None, target: Optional[str] = None, - name: Optional[str] = None, anonymize: Optional[dict] = None, condition_on: Optional[List[str]] = None) -> None: """Fit the synthesizer. @@ -223,15 +222,13 @@ def _fit_from_datasource( privacy_level: PrivacyLevel = PrivacyLevel.HIGH_FIDELITY, dataset_attrs: Optional[DataSourceAttrs] = None, target: Optional[str] = None, - name: Optional[str] = None, anonymize: Optional[dict] = None, condition_on: Optional[List[str]] = None ) -> None: - _name = name if name is not None else str(uuid4()) metadata = self._metadata_to_payload( DataSourceType(X.datatype), X.metadata, dataset_attrs, target) payload = { - 'name': _name, + 'name': self._model.name, 'dataSourceUID': X.uid, 'metadata': metadata, 'extraData': {}, diff --git a/src/ydata/sdk/synthesizers/timeseries.py b/src/ydata/sdk/synthesizers/timeseries.py index 37992cd9..bef5c21a 100644 --- a/src/ydata/sdk/synthesizers/timeseries.py +++ b/src/ydata/sdk/synthesizers/timeseries.py @@ -43,7 +43,6 @@ def fit(self, X: Union[DataSource, pdDataFrame], exclude_cols: Optional[List[str]] = None, dtypes: Optional[Dict[str, Union[str, DataType]]] = None, target: Optional[str] = None, - name: Optional[str] = None, anonymize: Optional[dict] = None, condition_on: Optional[List[str]] = None) -> None: """Fit the synthesizer. @@ -65,7 +64,7 @@ def fit(self, X: Union[DataSource, pdDataFrame], """ BaseSynthesizer.fit(self, X=X, datatype=DataSourceType.TIMESERIES, sortbykey=sortbykey, entities=entities, generate_cols=generate_cols, exclude_cols=exclude_cols, - dtypes=dtypes, target=target, name=name, anonymize=anonymize, privacy_level=privacy_level, + dtypes=dtypes, target=target, anonymize=anonymize, privacy_level=privacy_level, condition_on=condition_on) def __repr__(self):