teradataml 20.0.0.5__py3-none-any.whl → 20.0.0.7__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of teradataml might be problematic. Click here for more details.

Files changed (119) hide show
  1. teradataml/LICENSE-3RD-PARTY.pdf +0 -0
  2. teradataml/README.md +306 -0
  3. teradataml/__init__.py +1 -1
  4. teradataml/_version.py +1 -1
  5. teradataml/analytics/analytic_function_executor.py +162 -76
  6. teradataml/analytics/byom/__init__.py +1 -1
  7. teradataml/analytics/json_parser/__init__.py +2 -0
  8. teradataml/analytics/json_parser/analytic_functions_argument.py +95 -2
  9. teradataml/analytics/json_parser/metadata.py +22 -4
  10. teradataml/analytics/sqle/DecisionTreePredict.py +3 -2
  11. teradataml/analytics/sqle/NaiveBayesPredict.py +3 -2
  12. teradataml/analytics/sqle/__init__.py +3 -0
  13. teradataml/analytics/utils.py +59 -11
  14. teradataml/automl/__init__.py +2369 -464
  15. teradataml/automl/autodataprep/__init__.py +15 -0
  16. teradataml/automl/custom_json_utils.py +184 -112
  17. teradataml/automl/data_preparation.py +113 -58
  18. teradataml/automl/data_transformation.py +154 -53
  19. teradataml/automl/feature_engineering.py +113 -53
  20. teradataml/automl/feature_exploration.py +548 -25
  21. teradataml/automl/model_evaluation.py +260 -32
  22. teradataml/automl/model_training.py +399 -206
  23. teradataml/clients/auth_client.py +10 -6
  24. teradataml/clients/keycloak_client.py +165 -0
  25. teradataml/common/aed_utils.py +11 -2
  26. teradataml/common/bulk_exposed_utils.py +4 -2
  27. teradataml/common/constants.py +72 -2
  28. teradataml/common/exceptions.py +32 -0
  29. teradataml/common/garbagecollector.py +50 -21
  30. teradataml/common/messagecodes.py +73 -1
  31. teradataml/common/messages.py +27 -1
  32. teradataml/common/sqlbundle.py +25 -7
  33. teradataml/common/utils.py +210 -22
  34. teradataml/context/aed_context.py +16 -10
  35. teradataml/context/context.py +37 -9
  36. teradataml/data/Employee.csv +5 -0
  37. teradataml/data/Employee_Address.csv +4 -0
  38. teradataml/data/Employee_roles.csv +5 -0
  39. teradataml/data/JulesBelvezeDummyData.csv +100 -0
  40. teradataml/data/byom_example.json +5 -0
  41. teradataml/data/creditcard_data.csv +284618 -0
  42. teradataml/data/docs/byom/docs/ONNXSeq2Seq.py +255 -0
  43. teradataml/data/docs/sqle/docs_17_10/NGramSplitter.py +1 -1
  44. teradataml/data/docs/sqle/docs_17_20/NGramSplitter.py +1 -1
  45. teradataml/data/docs/sqle/docs_17_20/TextParser.py +1 -1
  46. teradataml/data/jsons/byom/ONNXSeq2Seq.json +287 -0
  47. teradataml/data/jsons/byom/onnxembeddings.json +1 -0
  48. teradataml/data/jsons/sqle/20.00/AI_AnalyzeSentiment.json +3 -7
  49. teradataml/data/jsons/sqle/20.00/AI_AskLLM.json +3 -7
  50. teradataml/data/jsons/sqle/20.00/AI_DetectLanguage.json +3 -7
  51. teradataml/data/jsons/sqle/20.00/AI_ExtractKeyPhrases.json +3 -7
  52. teradataml/data/jsons/sqle/20.00/AI_MaskPII.json +3 -7
  53. teradataml/data/jsons/sqle/20.00/AI_RecognizeEntities.json +3 -7
  54. teradataml/data/jsons/sqle/20.00/AI_RecognizePIIEntities.json +3 -7
  55. teradataml/data/jsons/sqle/20.00/AI_TextClassifier.json +3 -7
  56. teradataml/data/jsons/sqle/20.00/AI_TextEmbeddings.json +3 -7
  57. teradataml/data/jsons/sqle/20.00/AI_TextSummarize.json +3 -7
  58. teradataml/data/jsons/sqle/20.00/AI_TextTranslate.json +3 -7
  59. teradataml/data/jsons/sqle/20.00/TD_API_AzureML.json +151 -0
  60. teradataml/data/jsons/sqle/20.00/TD_API_Sagemaker.json +182 -0
  61. teradataml/data/jsons/sqle/20.00/TD_API_VertexAI.json +183 -0
  62. teradataml/data/load_example_data.py +29 -11
  63. teradataml/data/pattern_matching_data.csv +11 -0
  64. teradataml/data/payment_fraud_dataset.csv +10001 -0
  65. teradataml/data/sdk/modelops/modelops_spec.json +101737 -0
  66. teradataml/data/teradataml_example.json +75 -1
  67. teradataml/data/url_data.csv +10 -9
  68. teradataml/dataframe/copy_to.py +715 -55
  69. teradataml/dataframe/dataframe.py +2115 -97
  70. teradataml/dataframe/dataframe_utils.py +66 -28
  71. teradataml/dataframe/functions.py +1130 -2
  72. teradataml/dataframe/setop.py +4 -1
  73. teradataml/dataframe/sql.py +710 -1039
  74. teradataml/dbutils/dbutils.py +470 -35
  75. teradataml/dbutils/filemgr.py +1 -1
  76. teradataml/hyperparameter_tuner/optimizer.py +456 -142
  77. teradataml/hyperparameter_tuner/utils.py +4 -2
  78. teradataml/lib/aed_0_1.dll +0 -0
  79. teradataml/lib/libaed_0_1.dylib +0 -0
  80. teradataml/lib/libaed_0_1.so +0 -0
  81. teradataml/lib/libaed_0_1_aarch64.so +0 -0
  82. teradataml/opensource/_base.py +7 -1
  83. teradataml/options/configure.py +20 -4
  84. teradataml/scriptmgmt/UserEnv.py +247 -36
  85. teradataml/scriptmgmt/lls_utils.py +140 -39
  86. teradataml/sdk/README.md +79 -0
  87. teradataml/sdk/__init__.py +4 -0
  88. teradataml/sdk/_auth_modes.py +422 -0
  89. teradataml/sdk/_func_params.py +487 -0
  90. teradataml/sdk/_json_parser.py +453 -0
  91. teradataml/sdk/_openapi_spec_constants.py +249 -0
  92. teradataml/sdk/_utils.py +236 -0
  93. teradataml/sdk/api_client.py +900 -0
  94. teradataml/sdk/constants.py +62 -0
  95. teradataml/sdk/modelops/__init__.py +98 -0
  96. teradataml/sdk/modelops/_client.py +409 -0
  97. teradataml/sdk/modelops/_constants.py +304 -0
  98. teradataml/sdk/modelops/models.py +2308 -0
  99. teradataml/sdk/spinner.py +107 -0
  100. teradataml/series/series.py +12 -7
  101. teradataml/store/feature_store/constants.py +601 -234
  102. teradataml/store/feature_store/feature_store.py +2886 -616
  103. teradataml/store/feature_store/mind_map.py +639 -0
  104. teradataml/store/feature_store/models.py +5831 -214
  105. teradataml/store/feature_store/utils.py +390 -0
  106. teradataml/table_operators/query_generator.py +4 -21
  107. teradataml/table_operators/table_operator_util.py +1 -1
  108. teradataml/table_operators/templates/dataframe_register.template +6 -2
  109. teradataml/table_operators/templates/dataframe_udf.template +6 -2
  110. teradataml/utils/docstring.py +527 -0
  111. teradataml/utils/dtypes.py +95 -1
  112. teradataml/utils/internal_buffer.py +2 -2
  113. teradataml/utils/utils.py +41 -3
  114. teradataml/utils/validators.py +699 -18
  115. {teradataml-20.0.0.5.dist-info → teradataml-20.0.0.7.dist-info}/METADATA +312 -2
  116. {teradataml-20.0.0.5.dist-info → teradataml-20.0.0.7.dist-info}/RECORD +119 -87
  117. {teradataml-20.0.0.5.dist-info → teradataml-20.0.0.7.dist-info}/WHEEL +0 -0
  118. {teradataml-20.0.0.5.dist-info → teradataml-20.0.0.7.dist-info}/top_level.txt +0 -0
  119. {teradataml-20.0.0.5.dist-info → teradataml-20.0.0.7.dist-info}/zip-safe +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: teradataml
3
- Version: 20.0.0.5
3
+ Version: 20.0.0.7
4
4
  Summary: Teradata Vantage Python package for Advanced Analytics
5
5
  Home-page: http://www.teradata.com/
6
6
  Author: Teradata Corporation
@@ -18,7 +18,7 @@ Classifier: License :: Other/Proprietary License
18
18
  Requires-Python: >=3.8
19
19
  Description-Content-Type: text/markdown
20
20
  Requires-Dist: teradatasql (>=20.0.0.26)
21
- Requires-Dist: teradatasqlalchemy (>=20.0.0.5)
21
+ Requires-Dist: teradatasqlalchemy (>=20.0.0.7)
22
22
  Requires-Dist: pandas (>=0.22)
23
23
  Requires-Dist: psutil
24
24
  Requires-Dist: requests (>=2.25.1)
@@ -33,6 +33,10 @@ Requires-Dist: sqlalchemy (>=2.0)
33
33
  Requires-Dist: lightgbm (>=3.3.3)
34
34
  Requires-Dist: python-dotenv
35
35
  Requires-Dist: teradatamlwidgets (>=20.0.0.5)
36
+ Requires-Dist: oauthlib (>=3.2.2)
37
+ Requires-Dist: requests-oauthlib (>=2.0.0)
38
+ Requires-Dist: pydantic (>=2.10.6)
39
+ Requires-Dist: PyYAML (>=6.0.2)
36
40
 
37
41
  ## Teradata Python package for Advanced Analytics.
38
42
 
@@ -53,6 +57,312 @@ Copyright 2025, Teradata. All Rights Reserved.
53
57
 
54
58
  ## Release Notes:
55
59
 
60
+ #### teradataml 20.00.00.07
61
+ * ##### New Features/Functionality
62
+ * ###### teradataml: DataFrame
63
+ * `DataFrame.df_type` - Added new property `df_type` to know the type of the DataFrame.
64
+ * `DataFrame.as_of()` - Added new function which supports temporal time qualifiers on teradataml DataFrame.
65
+ * `DataFrame.closed_rows()` - Added a new function to retrieve closed rows from a DataFrame created on a transaction-time or bi-temporal table/view.
66
+ * `DataFrame.open_rows()` - Added a new function to retrieve open rows from a DataFrame created on a transaction-time or bi-temporal table/view.
67
+ * `DataFrame.historic_rows()` - Added a new function to retrieve historical rows from a DataFrame created on a valid-time or bi-temporal table/view.
68
+ * `DataFrame.future_rows()` - Added a new function to retrieve future rows from a DataFrame created on a valid-time or bi-temporal table/view.
69
+ * `DataFrame.create_view()` - Creates a view from the DataFrame object. This function helps the user to persist the DataFrame as a view, which can be used across sessions.
70
+ * Added argument `persist` to `DataFrame.from_dict()`, `DataFrame.from_pandas()`, and `DataFrame.from_records()` to persist the created DataFrame.
71
+
72
+ * ###### teradataml DataFrameColumn a.k.a. ColumnExpression
73
+ * `DataFrameColumn.begin()` - Function to get beginning date or timestamp from a PERIOD column.
74
+ * `DataFrameColumn.end()` - Function to get ending date or timestamp from a PERIOD column.
75
+ * `DataFrameColumn.between()` - Function to check if the column value is between the lower and upper bounds.
76
+
77
+ * ###### teradataml: Functions
78
+ * `current_date()` - Gets the current date based on the specified time zone.
79
+ * `current_timestamp()` - Gets the current timestamp based on the specified time zone.
80
+
81
+ * ###### teradataml: General Functions
82
+ * Data Transfer Utility
83
+ * `copy_to_sql()`
84
+ * A new argument `partition_by` partitions the index while writing to Teradata Vantage.
85
+ * A new argument `partition_by_case` handles different cases for partitioning the index while writing to Teradata Vantage.
86
+ * A new argument `partition_by_range` partitions the data based on a range while writing to Teradata Vantage.
87
+ * A new argument `sub_partition` subpartitions the main partition according to the provided value.
88
+ * New keyword arguments `valid_time_columns` and `derived_column` helps to copy the data into temporal tables.
89
+
90
+ * ###### Enterprise Feature Store
91
+ * `FeatureStore` - Main class for managing Feature Store operations with comprehensive methods and properties.
92
+ * Methods:
93
+ * `apply()` - Adds Feature, Entity, DataSource, FeatureGroup to FeatureStore.
94
+ * `archive_data_source()` - Archives a specified DataSource.
95
+ * `archive_entity()` - Archives a specified Entity.
96
+ * `archive_feature()` - Archives a specified Feature.
97
+ * `archive_feature_group()` - Archives a specified FeatureGroup.
98
+ * `archive_feature_process()` - Archives a specified FeatureProcess.
99
+ * `delete()` - Deletes the FeatureStore and all its components.
100
+ * `delete_data_source()` - Deletes an archived DataSource.
101
+ * `delete_entity()` - Deletes an archived Entity.
102
+ * `delete_feature()` - Deletes an archived Feature.
103
+ * `delete_feature_group()` - Deletes an archived FeatureGroup.
104
+ * `delete_feature_process()` - Deletes an archived FeatureProcess.
105
+ * `get_data()` - Gets data based on features, entities, and processes.
106
+ * `get_data_domain()` - Retrieves DataDomain object.
107
+ * `get_data_source()` - Gets DataSources associated with FeatureStore.
108
+ * `get_dataset_catalog()` - Retrieves the DatasetCatalog object.
109
+ * `get_entity()` - Gets Entity associated with FeatureStore.
110
+ * `get_feature()` - Gets Feature associated with FeatureStore.
111
+ * `get_feature_group()` - Gets FeatureGroup associated with FeatureStore.
112
+ * `get_feature_process()` - Retrieves FeatureProcess based on arguments.
113
+ * `get_feature_catalog()` - Retrieves FeatureCatalog object.
114
+ * `get_group_features()` - Gets features from a specific feature group.
115
+ * `list_data_sources()` - Lists DataSources in the FeatureStore.
116
+ * `list_entities()` - Lists Entities in the FeatureStore.
117
+ * `list_feature_groups()` - Lists FeatureGroups in the FeatureStore.
118
+ * `list_features()` - Lists Features in the FeatureStore.
119
+ * `list_feature_processes()` - Lists all feature processes in the repo.
120
+ * `list_feature_runs()` - Lists feature process runs and execution status.
121
+ * `list_feature_catalogs()` - Lists all feature catalogs in the repo.
122
+ * `list_data_domains()` - Lists all data domains in the repo.
123
+ * `list_dataset_catalogs()` - Lists all dataset catalogs in the repo.
124
+ * `list_repos()` - Lists available repos configured for FeatureStore.
125
+ * `mind_map()` - Generates a mind map visualization of the feature store structure.
126
+ * `remove_data_domain()` - Removes the data domain from the feature store.
127
+ * `repair()` - Repairs the underlying FeatureStore schema on database.
128
+ * `set_features_active()` - Marks Features as active.
129
+ * `set_features_inactive()` - Marks Features as inactive.
130
+ * `setup()` - Sets up the FeatureStore for a repository.
131
+ * Properties:
132
+ * `data_domain` - Gets or sets the data domain of feature store.
133
+ * `grant` - Grants access to the FeatureStore.
134
+ * `repo` - Gets or sets the repository name.
135
+ * `revoke` - Revokes access from the FeatureStore.
136
+ * `version` - Gets the version of the FeatureStore.
137
+ * `FeatureGroup` - Represents a group of features with methods and properties.
138
+ * Methods:
139
+ * `apply()` - Applies the feature group to objects.
140
+ * `from_DataFrame()` - Creates a FeatureGroup from a DataFrame.
141
+ * `from_query()` - Creates a FeatureGroup from a query.
142
+ * `ingest_features()` - Ingests features from the FeatureGroup into the FeatureStore.
143
+ * `remove_feature()` - Removes a feature from the FeatureGroup.
144
+ * `reset_labels()` - Resets the labels of the FeatureGroup.
145
+ * `set_labels()` - Sets the labels of the FeatureGroup.
146
+ * Properties:
147
+ * `features` - Gets the features in the FeatureGroup.
148
+ * `labels` - Gets or sets the labels of the FeatureGroup.
149
+ * `DataDomain` - Represents a data domain within the FeatureStore with properties.
150
+ * Properties:
151
+ * `entities` - Gets the entities in the data domain.
152
+ * `features` - Gets the features in the data domain.
153
+ * `processes` - Gets the feature processes in the data domain.
154
+ * `datasets` - Gets the datasets in the data domain.
155
+ * `FeatureCatalog` - Manages features within a specific data domain.
156
+ * Methods:
157
+ * `upload_features()` - Uploads features to the catalog.
158
+ * `list_features()` - Lists features in the catalog.
159
+ * `list_feature_versions()` - Lists feature versions in the catalog.
160
+ * `archive_features()` - Archives features in the catalog.
161
+ * `delete_features()` - Deletes features from the catalog.
162
+ * Properties:
163
+ * `data_domain` - Gets the data domain of the catalog.
164
+ * `features` - Gets the features in the catalog.
165
+ * `entities` - Gets the entities in the catalog.
166
+ * `DatasetCatalog` - Manages datasets within a specific data domain.
167
+ * Methods:
168
+ * `build_dataset()` - Builds a dataset from features and entities.
169
+ * `build_time_series()` - Builds a time series dataset.
170
+ * `list_datasets()` - Lists datasets in the catalog.
171
+ * `list_entities()` - Lists entities available for dataset building.
172
+ * `list_features()` - Lists features available for dataset building.
173
+ * `get_dataset()` - Gets a specific dataset by ID.
174
+ * `archive_datasets()` - Archives datasets in the catalog.
175
+ * `delete_datasets()` - Deletes datasets from the catalog.
176
+ * Properties:
177
+ * `data_domain` - Gets the data domain of the catalog.
178
+ * `Dataset` - Represents a specific dataset in the catalog.
179
+ * Properties:
180
+ * `features` - Gets the features in the dataset.
181
+ * `entity` - Gets the entity of the dataset.
182
+ * `view_name` - Gets the view name of the dataset.
183
+ * `id` - Gets the ID of the dataset.
184
+ * `FeatureProcess` - Represents a feature processing workflow.
185
+ * Methods:
186
+ * `run()` - Executes the feature process with optional filters and as_of parameters.
187
+ * Properties:
188
+ * `process_id` - Gets the process ID.
189
+ * `df` - Gets the DataFrame associated with the process.
190
+ * `features` - Gets the features in the process.
191
+ * `entity` - Gets the entity in the process.
192
+ * `data_domain` - Gets the data domain of the process.
193
+ * `filters` - Gets the filters applied to the process.
194
+ * `as_of` - Gets the as_of parameter of the process.
195
+ * `description` - Gets the description of the process.
196
+ * `start_time` - Gets the start time of the process.
197
+ * `end_time` - Gets the end time of the process.
198
+ * `status` - Gets the status of the process.
199
+
200
+ * ###### OpensourceML
201
+ * `td_sklearn` - Now supports input from OTF tables.
202
+
203
+ * ###### BYOM Function
204
+ * `ONNXSeq2Seq()` - Applies sequence-to-sequence model in Vantage that has been created outside Vantage and stored in ONNX format.
205
+
206
+ * ###### teradataml: AutoFraud (Automated Machine Learning - Fraud Detection)
207
+ `AutoFraud` is a special purpose AutoML pipeline designed for fraud detection tasks. It automates the end-to-end process of data preprocessing, feature engineering, model training, evaluation, and deployment to efficiently identify fraudulent activities.
208
+ * Methods:
209
+ * `__init__()` - Instantiates an object of AutoFraud.
210
+ * `fit()` - Performs fit on specified data and target column.
211
+ * `leaderboard()` - Gets the leaderboard for the AutoFraud pipeline, with diverse models, feature selection methods, and performance metrics.
212
+ * `leader()` - Shows best performing model and its details such as feature selection method and performance metrics.
213
+ * `predict()` - Performs prediction on the data using the best model or the model of user's choice from the leaderboard.
214
+ * `evaluate()` - Performs evaluation on the data using the best model or the model of user's choice from the leaderboard.
215
+ * `load()` - Loads the saved model from database.
216
+ * `deploy()` - Saves the trained model inside database.
217
+ * `remove_saved_model()` - Removes the saved model in database.
218
+ * `model_hyperparameters()` - Returns the hyperparameters of fitted or loaded models.
219
+ * `get_persisted_tables()` - Lists the persisted tables created during AutoFraud execution.
220
+ * `visualize()` - Generates visualizations to analyze and understand the underlying patterns in the data.
221
+ * `generate_custom_config()` - Generates custom config JSON file required for customized run of AutoFraud.
222
+
223
+ * ###### teradataml: AutoChurn (Automated Machine Learning - Churn Prediction)
224
+ `AutoChurn` is a special purpose AutoML pipeline for customer churn prediction. It automates the end-to-end process of data preprocessing, feature engineering, model training, evaluation, and deployment to efficiently identify customers likely to churn.
225
+ * Methods:
226
+ * `__init__()` - Instantiates an object of AutoChurn.
227
+ * `fit()` - Performs fit on specified data and target column.
228
+ * `leaderboard()` - Gets the leaderboard for the AutoChurn pipeline, with diverse models, feature selection methods, and performance metrics.
229
+ * `leader()` - Shows best performing model and its details such as feature selection method and performance metrics.
230
+ * `predict()` - Performs prediction on the data using the best model or the model of user's choice from the leaderboard.
231
+ * `evaluate()` - Performs evaluation on the data using the best model or the model of user's choice from the leaderboard.
232
+ * `load()` - Loads the saved model from database.
233
+ * `deploy()` - Saves the trained model inside database.
234
+ * `remove_saved_model()` - Removes the saved model in database.
235
+ * `model_hyperparameters()` - Returns the hyperparameters of fitted or loaded models.
236
+ * `get_persisted_tables()` - Lists the persisted tables created during AutoChurn execution.
237
+ * `visualize()` - Generates visualizations to analyze and understand the underlying patterns in the data.
238
+ * `generate_custom_config()` - Generates custom config JSON file required for customized run of AutoChurn.
239
+
240
+ * ###### teradataml: AutoCluster (Automated Machine Learning - Clustering)
241
+ `AutoCluster` is a special purpose AutoML pipeline for clustering analysis. It automates the end-to-end process of data preprocessing, feature engineering, model training, and prediction to efficiently group data into clusters and extract insights from unlabeled datasets.
242
+ * Methods:
243
+ * `__init__()` - Instantiates an object of AutoCluster.
244
+ * `fit()` - Performs fit on specified data.
245
+ * `leaderboard()` - Gets the leaderboard for the AutoCluster pipeline, with diverse models, feature selection methods, and performance metrics.
246
+ * `leader()` - Shows best performing model and its details such as feature selection method and performance metrics.
247
+ * `predict()` - Performs prediction (cluster assignment) on the data using the best model or the model of user's choice from the leaderboard.
248
+ * `model_hyperparameters()` - Returns the hyperparameters of fitted or loaded models.
249
+ * `get_persisted_tables()` - Lists the persisted tables created during AutoCluster execution.
250
+ * `generate_custom_config()` - Generates custom config JSON file required for customized run of AutoCluster.
251
+
252
+ * ##### Updates
253
+ * ###### teradataml: Functions
254
+ * `udf()` - Added support for `td_buffer` to cache the data in the user defined function.
255
+
256
+ * ###### Open Analytics Framework (OpenAF)
257
+ * UserEnv Class.
258
+ * Properties:
259
+ * `models` - Supports listing of models installed from external model registry like HuggingFace as well.
260
+ * Methods:
261
+ * `install_model()` - Added new arguments `model_name`, `model_type` and `api_key` to support installation of models from external model registry like HuggingFace .
262
+ * `uninstall_model()` - Supports uninstallation of a model from user environment which is installed from external model registry like HuggingFace .
263
+
264
+ * ##### Bug Fixes
265
+ * `set_auth_token()` generates JWT token using default value for iat claim when authentication is being done using PEM file and PAT.
266
+ * `create_env` - When an unavailable R base environment is provided in `create_env()`, requested R user environment is created using latest R base environment version
267
+ out of available base environments. Earlier, `create_env()` would create user environment with latest Python base environment version even though the request is for R user environment.
268
+ * Fixed userWarning in `db_list_tables()`.
269
+
270
+ #### teradataml 20.00.00.06
271
+ * ##### New Features/Functionality
272
+ * ###### teradataml: SDK
273
+ * Added new client `teradataml.sdk.Client` which can be used by user to make REST calls through SDK.
274
+ * New exception added in `teradataml`, specifically for REST APIs `TeradatamlRestException` that has attribute `json_resonse` providing proper printable json.
275
+ * Exposed three different ways of authentication through `Client`.
276
+ * Client credentials Authentication through `ClientCredentialsAuth` class.
277
+ * Device code Authentication through `DeviceCodeAuth` class.
278
+ * Bearer Authentication through `BearerAuth` class.
279
+
280
+ * ###### teradataml: ModelOps SDK
281
+ * `teradataml` exposes Python interfaces for all the REST APIs provided by Teradata Vantage ModelOps.
282
+ * Added support for `blueprint()` method which prints available classes in `modelops` module.
283
+ * Added new client `ModelOpsClient` with some additional function compared to `teradataml.sdk.Client`.
284
+ * teradataml classes are added for the schema in ModelOps OpenAPI specification.
285
+ ```python
286
+ >>> from teradataml.sdk.modelops import ModelOpsClient, Projects
287
+ >>> from teradataml.common.exceptions import TeradatamlRestException
288
+ >>> from teradataml.sdk import DeviceCodeAuth, BearerAuth, ClientCredentialsAuth # Authentication related classes.
289
+ >>> from teradataml.sdk.modelops import models # All classes related to OpenAPI schema are present in this module.
290
+
291
+ # Print available classes in modelops module.
292
+ >>> from teradataml.sdk.modelops import blueprint
293
+ >>> blueprint()
294
+
295
+ # Create ClientCredentialsAuth object and create ModelOpsClient object.
296
+ >>> cc_obj = ClientCredentialsAuth(auth_client_id="<client_id>",
297
+ auth_client_secret="<client_secret>",
298
+ auth_token_url="https://<example.com>/token")
299
+ >>> client = ModelOpsClient(base_url="<base_url>", auth=cc_obj, ssl_verify=False)
300
+
301
+ # Create Projects object.
302
+ >>> p = Projects(client=client)
303
+
304
+ # Create project using `body` argument taking object of ProjectRequestBody.
305
+ >>> project_paylod = {
306
+ "name": "dummy_project",
307
+ "description": "dummy_project created for testing",
308
+ "groupId": "<group_ID>",
309
+ "gitRepositoryUrl": "/app/built-in/empty",
310
+ "branch": "<branch>"
311
+ }
312
+ >>> p.create_project(body=models.ProjectRequestBody(**project_payload))
313
+ ```
314
+
315
+ * ###### teradataml: Functions
316
+ * `get_formatters()` - Get the formatters for NUMERIC, DATE and CHAR types.
317
+
318
+ * ###### teradataml: DataFrame Methods
319
+ * `get_snapshot()` - Gets the snapshot data of a teradataml DataFrame created on OTF table for a given snapshot id or timestamp.
320
+ * `from_pandas()`: Creates a teradataml DataFrame from a pandas DataFrame.
321
+ * `from_records()`: Creates a teradataml DataFrame from a list.
322
+ * `from_dict()`: Creates a teradataml DataFrame from a dictionary.
323
+
324
+ * ###### teradataml: DataFrame Property
325
+ * `history` - Returns snapshot history for a DataFrame created on OTF table.
326
+ * `manifests` - Returns manifest information for a DataFrame created on OTF table.
327
+ * `partitions` - Returns partition information for a DataFrame created on OTF table.
328
+ * `snapshots` - Returns snapshot information for a DataFrame created on OTF table.
329
+
330
+ * ###### teradataml DataFrameColumn a.k.a. ColumnExpression
331
+ * `DataFrameColumn.rlike()` - Function to match a string against a regular expression pattern.
332
+ * `DataFrameColumn.substring_index()` - Function to return the substring from a column before a specified
333
+ delimiter, up to a given occurrence count.
334
+ * `DataFrameColumn.count_delimiters()` - Function to count the total number of occurrences of a specified delimiter.
335
+
336
+ * ##### Updates
337
+ * ###### teradataml DataFrameColumn a.k.a. ColumnExpression
338
+ * `DataFrameColumn.like()`
339
+ * Added argument `escape_char` to specify the escape character for the LIKE pattern.
340
+ * Argument `pattern` now accepts DataFrameColumn as input.
341
+ * `DataFrameColumn.ilike()`
342
+ * Added argument `escape_char` to specify the escape character for the ILIKE pattern.
343
+ * Argument `pattern` now accepts DataFrameColumn as input.
344
+ * `DataFrameColumn.parse_url()` - Added argument `key` to extract a specific query parameter when `url_part` is set to "QUERY".
345
+
346
+ * ###### teradataml: DataFrame function
347
+ * `groupby()`, `cube()` and `rollup()`
348
+ * Added argument `include_grouping_columns` to include aggregations on the grouping column(s).
349
+ * `DataFrame()`: New argument `data`, that accepts input data to create a teradataml DataFrame, is added.
350
+
351
+ * ###### General functions
352
+ * `set_auth_token()`
353
+ * New keyword argument `auth_url` accepts the endpoint URL for a keycloak server.
354
+ * New keyword argument `rest_client` accepts name of the service for which keycloak token is to be generated.
355
+ * New keyword argument `validate_jwt` accepts the boolean flag to decide whether to validate generated JWT token or not.
356
+ * New keyword argument `valid_from` accepts the epoch seconds representing time from which JWT token will be valid.
357
+
358
+ * ###### teradataml Options
359
+ * Configuration Options
360
+ * `configure.use_short_object_name`
361
+ Specifies whether to use a shorter name for temporary database objects which are created by teradataml internally.
362
+
363
+ * ###### BYOM Function
364
+ * Supports special characters.
365
+
56
366
  #### teradataml 20.00.00.05
57
367
  * ##### New Features/Functionality
58
368
  * ##### teradataml: AutoML