oracle-ads 2.13.7__py3-none-any.whl → 2.13.9rc0__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.
- {oracle_ads-2.13.7.dist-info → oracle_ads-2.13.9rc0.dist-info}/METADATA +151 -151
- oracle_ads-2.13.9rc0.dist-info/RECORD +9 -0
- {oracle_ads-2.13.7.dist-info → oracle_ads-2.13.9rc0.dist-info}/WHEEL +2 -1
- {oracle_ads-2.13.7.dist-info → oracle_ads-2.13.9rc0.dist-info}/entry_points.txt +1 -2
- oracle_ads-2.13.9rc0.dist-info/top_level.txt +1 -0
- ads/aqua/__init__.py +0 -40
- ads/aqua/app.py +0 -506
- ads/aqua/cli.py +0 -96
- ads/aqua/client/__init__.py +0 -3
- ads/aqua/client/client.py +0 -836
- ads/aqua/client/openai_client.py +0 -305
- ads/aqua/common/__init__.py +0 -5
- ads/aqua/common/decorator.py +0 -125
- ads/aqua/common/entities.py +0 -266
- ads/aqua/common/enums.py +0 -122
- ads/aqua/common/errors.py +0 -109
- ads/aqua/common/utils.py +0 -1285
- ads/aqua/config/__init__.py +0 -4
- ads/aqua/config/container_config.py +0 -248
- ads/aqua/config/evaluation/__init__.py +0 -4
- ads/aqua/config/evaluation/evaluation_service_config.py +0 -147
- ads/aqua/config/utils/__init__.py +0 -4
- ads/aqua/config/utils/serializer.py +0 -339
- ads/aqua/constants.py +0 -114
- ads/aqua/data.py +0 -14
- ads/aqua/dummy_data/icon.txt +0 -1
- ads/aqua/dummy_data/oci_model_deployments.json +0 -56
- ads/aqua/dummy_data/oci_models.json +0 -1
- ads/aqua/dummy_data/readme.md +0 -26
- ads/aqua/evaluation/__init__.py +0 -8
- ads/aqua/evaluation/constants.py +0 -53
- ads/aqua/evaluation/entities.py +0 -186
- ads/aqua/evaluation/errors.py +0 -70
- ads/aqua/evaluation/evaluation.py +0 -1814
- ads/aqua/extension/__init__.py +0 -42
- ads/aqua/extension/aqua_ws_msg_handler.py +0 -76
- ads/aqua/extension/base_handler.py +0 -90
- ads/aqua/extension/common_handler.py +0 -121
- ads/aqua/extension/common_ws_msg_handler.py +0 -36
- ads/aqua/extension/deployment_handler.py +0 -298
- ads/aqua/extension/deployment_ws_msg_handler.py +0 -54
- ads/aqua/extension/errors.py +0 -30
- ads/aqua/extension/evaluation_handler.py +0 -129
- ads/aqua/extension/evaluation_ws_msg_handler.py +0 -61
- ads/aqua/extension/finetune_handler.py +0 -96
- ads/aqua/extension/model_handler.py +0 -390
- ads/aqua/extension/models/__init__.py +0 -0
- ads/aqua/extension/models/ws_models.py +0 -145
- ads/aqua/extension/models_ws_msg_handler.py +0 -50
- ads/aqua/extension/ui_handler.py +0 -282
- ads/aqua/extension/ui_websocket_handler.py +0 -130
- ads/aqua/extension/utils.py +0 -133
- ads/aqua/finetuning/__init__.py +0 -7
- ads/aqua/finetuning/constants.py +0 -23
- ads/aqua/finetuning/entities.py +0 -181
- ads/aqua/finetuning/finetuning.py +0 -731
- ads/aqua/model/__init__.py +0 -8
- ads/aqua/model/constants.py +0 -60
- ads/aqua/model/entities.py +0 -306
- ads/aqua/model/enums.py +0 -30
- ads/aqua/model/model.py +0 -2079
- ads/aqua/modeldeployment/__init__.py +0 -8
- ads/aqua/modeldeployment/constants.py +0 -10
- ads/aqua/modeldeployment/deployment.py +0 -1324
- ads/aqua/modeldeployment/entities.py +0 -653
- ads/aqua/modeldeployment/inference.py +0 -74
- ads/aqua/modeldeployment/utils.py +0 -543
- ads/aqua/resources/gpu_shapes_index.json +0 -94
- ads/aqua/server/__init__.py +0 -4
- ads/aqua/server/__main__.py +0 -24
- ads/aqua/server/app.py +0 -47
- ads/aqua/server/aqua_spec.yml +0 -1291
- ads/aqua/training/__init__.py +0 -4
- ads/aqua/training/exceptions.py +0 -476
- ads/aqua/ui.py +0 -499
- ads/automl/__init__.py +0 -9
- ads/automl/driver.py +0 -330
- ads/automl/provider.py +0 -975
- ads/bds/__init__.py +0 -5
- ads/bds/auth.py +0 -127
- ads/bds/big_data_service.py +0 -255
- ads/catalog/__init__.py +0 -19
- ads/catalog/model.py +0 -1576
- ads/catalog/notebook.py +0 -461
- ads/catalog/project.py +0 -468
- ads/catalog/summary.py +0 -178
- ads/common/__init__.py +0 -11
- ads/common/analyzer.py +0 -65
- ads/common/artifact/.model-ignore +0 -63
- ads/common/artifact/__init__.py +0 -10
- ads/common/auth.py +0 -1122
- ads/common/card_identifier.py +0 -83
- ads/common/config.py +0 -647
- ads/common/data.py +0 -165
- ads/common/decorator/__init__.py +0 -9
- ads/common/decorator/argument_to_case.py +0 -88
- ads/common/decorator/deprecate.py +0 -69
- ads/common/decorator/require_nonempty_arg.py +0 -65
- ads/common/decorator/runtime_dependency.py +0 -178
- ads/common/decorator/threaded.py +0 -97
- ads/common/decorator/utils.py +0 -35
- ads/common/dsc_file_system.py +0 -303
- ads/common/error.py +0 -14
- ads/common/extended_enum.py +0 -81
- ads/common/function/__init__.py +0 -5
- ads/common/function/fn_util.py +0 -142
- ads/common/function/func_conf.yaml +0 -25
- ads/common/ipython.py +0 -76
- ads/common/model.py +0 -679
- ads/common/model_artifact.py +0 -1759
- ads/common/model_artifact_schema.json +0 -107
- ads/common/model_export_util.py +0 -664
- ads/common/model_metadata.py +0 -24
- ads/common/object_storage_details.py +0 -296
- ads/common/oci_client.py +0 -175
- ads/common/oci_datascience.py +0 -46
- ads/common/oci_logging.py +0 -1144
- ads/common/oci_mixin.py +0 -957
- ads/common/oci_resource.py +0 -136
- ads/common/serializer.py +0 -559
- ads/common/utils.py +0 -1852
- ads/common/word_lists.py +0 -1491
- ads/common/work_request.py +0 -189
- ads/data_labeling/__init__.py +0 -13
- ads/data_labeling/boundingbox.py +0 -253
- ads/data_labeling/constants.py +0 -47
- ads/data_labeling/data_labeling_service.py +0 -244
- ads/data_labeling/interface/__init__.py +0 -5
- ads/data_labeling/interface/loader.py +0 -16
- ads/data_labeling/interface/parser.py +0 -16
- ads/data_labeling/interface/reader.py +0 -23
- ads/data_labeling/loader/__init__.py +0 -5
- ads/data_labeling/loader/file_loader.py +0 -241
- ads/data_labeling/metadata.py +0 -110
- ads/data_labeling/mixin/__init__.py +0 -5
- ads/data_labeling/mixin/data_labeling.py +0 -232
- ads/data_labeling/ner.py +0 -129
- ads/data_labeling/parser/__init__.py +0 -5
- ads/data_labeling/parser/dls_record_parser.py +0 -388
- ads/data_labeling/parser/export_metadata_parser.py +0 -94
- ads/data_labeling/parser/export_record_parser.py +0 -473
- ads/data_labeling/reader/__init__.py +0 -5
- ads/data_labeling/reader/dataset_reader.py +0 -574
- ads/data_labeling/reader/dls_record_reader.py +0 -121
- ads/data_labeling/reader/export_record_reader.py +0 -62
- ads/data_labeling/reader/jsonl_reader.py +0 -75
- ads/data_labeling/reader/metadata_reader.py +0 -203
- ads/data_labeling/reader/record_reader.py +0 -263
- ads/data_labeling/record.py +0 -52
- ads/data_labeling/visualizer/__init__.py +0 -5
- ads/data_labeling/visualizer/image_visualizer.py +0 -525
- ads/data_labeling/visualizer/text_visualizer.py +0 -357
- ads/database/__init__.py +0 -5
- ads/database/connection.py +0 -338
- ads/dataset/__init__.py +0 -10
- ads/dataset/capabilities.md +0 -51
- ads/dataset/classification_dataset.py +0 -339
- ads/dataset/correlation.py +0 -226
- ads/dataset/correlation_plot.py +0 -563
- ads/dataset/dask_series.py +0 -173
- ads/dataset/dataframe_transformer.py +0 -110
- ads/dataset/dataset.py +0 -1979
- ads/dataset/dataset_browser.py +0 -360
- ads/dataset/dataset_with_target.py +0 -995
- ads/dataset/exception.py +0 -25
- ads/dataset/factory.py +0 -987
- ads/dataset/feature_engineering_transformer.py +0 -35
- ads/dataset/feature_selection.py +0 -107
- ads/dataset/forecasting_dataset.py +0 -26
- ads/dataset/helper.py +0 -1450
- ads/dataset/label_encoder.py +0 -99
- ads/dataset/mixin/__init__.py +0 -5
- ads/dataset/mixin/dataset_accessor.py +0 -134
- ads/dataset/pipeline.py +0 -58
- ads/dataset/plot.py +0 -710
- ads/dataset/progress.py +0 -86
- ads/dataset/recommendation.py +0 -297
- ads/dataset/recommendation_transformer.py +0 -502
- ads/dataset/regression_dataset.py +0 -14
- ads/dataset/sampled_dataset.py +0 -1050
- ads/dataset/target.py +0 -98
- ads/dataset/timeseries.py +0 -18
- ads/dbmixin/__init__.py +0 -5
- ads/dbmixin/db_pandas_accessor.py +0 -153
- ads/environment/__init__.py +0 -9
- ads/environment/ml_runtime.py +0 -66
- ads/evaluations/README.md +0 -14
- ads/evaluations/__init__.py +0 -109
- ads/evaluations/evaluation_plot.py +0 -983
- ads/evaluations/evaluator.py +0 -1334
- ads/evaluations/statistical_metrics.py +0 -543
- ads/experiments/__init__.py +0 -9
- ads/experiments/capabilities.md +0 -0
- ads/explanations/__init__.py +0 -21
- ads/explanations/base_explainer.py +0 -142
- ads/explanations/capabilities.md +0 -83
- ads/explanations/explainer.py +0 -190
- ads/explanations/mlx_global_explainer.py +0 -1050
- ads/explanations/mlx_interface.py +0 -386
- ads/explanations/mlx_local_explainer.py +0 -287
- ads/explanations/mlx_whatif_explainer.py +0 -201
- ads/feature_engineering/__init__.py +0 -20
- ads/feature_engineering/accessor/__init__.py +0 -5
- ads/feature_engineering/accessor/dataframe_accessor.py +0 -535
- ads/feature_engineering/accessor/mixin/__init__.py +0 -5
- ads/feature_engineering/accessor/mixin/correlation.py +0 -166
- ads/feature_engineering/accessor/mixin/eda_mixin.py +0 -266
- ads/feature_engineering/accessor/mixin/eda_mixin_series.py +0 -85
- ads/feature_engineering/accessor/mixin/feature_types_mixin.py +0 -211
- ads/feature_engineering/accessor/mixin/utils.py +0 -65
- ads/feature_engineering/accessor/series_accessor.py +0 -431
- ads/feature_engineering/adsimage/__init__.py +0 -5
- ads/feature_engineering/adsimage/image.py +0 -192
- ads/feature_engineering/adsimage/image_reader.py +0 -170
- ads/feature_engineering/adsimage/interface/__init__.py +0 -5
- ads/feature_engineering/adsimage/interface/reader.py +0 -19
- ads/feature_engineering/adsstring/__init__.py +0 -7
- ads/feature_engineering/adsstring/oci_language/__init__.py +0 -8
- ads/feature_engineering/adsstring/string/__init__.py +0 -8
- ads/feature_engineering/data_schema.json +0 -57
- ads/feature_engineering/dataset/__init__.py +0 -5
- ads/feature_engineering/dataset/zip_code_data.py +0 -42062
- ads/feature_engineering/exceptions.py +0 -40
- ads/feature_engineering/feature_type/__init__.py +0 -133
- ads/feature_engineering/feature_type/address.py +0 -184
- ads/feature_engineering/feature_type/adsstring/__init__.py +0 -5
- ads/feature_engineering/feature_type/adsstring/common_regex_mixin.py +0 -164
- ads/feature_engineering/feature_type/adsstring/oci_language.py +0 -93
- ads/feature_engineering/feature_type/adsstring/parsers/__init__.py +0 -5
- ads/feature_engineering/feature_type/adsstring/parsers/base.py +0 -47
- ads/feature_engineering/feature_type/adsstring/parsers/nltk_parser.py +0 -96
- ads/feature_engineering/feature_type/adsstring/parsers/spacy_parser.py +0 -221
- ads/feature_engineering/feature_type/adsstring/string.py +0 -258
- ads/feature_engineering/feature_type/base.py +0 -58
- ads/feature_engineering/feature_type/boolean.py +0 -183
- ads/feature_engineering/feature_type/category.py +0 -146
- ads/feature_engineering/feature_type/constant.py +0 -137
- ads/feature_engineering/feature_type/continuous.py +0 -151
- ads/feature_engineering/feature_type/creditcard.py +0 -314
- ads/feature_engineering/feature_type/datetime.py +0 -190
- ads/feature_engineering/feature_type/discrete.py +0 -134
- ads/feature_engineering/feature_type/document.py +0 -43
- ads/feature_engineering/feature_type/gis.py +0 -251
- ads/feature_engineering/feature_type/handler/__init__.py +0 -5
- ads/feature_engineering/feature_type/handler/feature_validator.py +0 -524
- ads/feature_engineering/feature_type/handler/feature_warning.py +0 -319
- ads/feature_engineering/feature_type/handler/warnings.py +0 -128
- ads/feature_engineering/feature_type/integer.py +0 -142
- ads/feature_engineering/feature_type/ip_address.py +0 -144
- ads/feature_engineering/feature_type/ip_address_v4.py +0 -138
- ads/feature_engineering/feature_type/ip_address_v6.py +0 -138
- ads/feature_engineering/feature_type/lat_long.py +0 -256
- ads/feature_engineering/feature_type/object.py +0 -43
- ads/feature_engineering/feature_type/ordinal.py +0 -132
- ads/feature_engineering/feature_type/phone_number.py +0 -135
- ads/feature_engineering/feature_type/string.py +0 -171
- ads/feature_engineering/feature_type/text.py +0 -93
- ads/feature_engineering/feature_type/unknown.py +0 -43
- ads/feature_engineering/feature_type/zip_code.py +0 -164
- ads/feature_engineering/feature_type_manager.py +0 -406
- ads/feature_engineering/schema.py +0 -795
- ads/feature_engineering/utils.py +0 -245
- ads/feature_store/.readthedocs.yaml +0 -19
- ads/feature_store/README.md +0 -65
- ads/feature_store/__init__.py +0 -9
- ads/feature_store/common/__init__.py +0 -0
- ads/feature_store/common/enums.py +0 -339
- ads/feature_store/common/exceptions.py +0 -18
- ads/feature_store/common/spark_session_singleton.py +0 -125
- ads/feature_store/common/utils/__init__.py +0 -0
- ads/feature_store/common/utils/base64_encoder_decoder.py +0 -72
- ads/feature_store/common/utils/feature_schema_mapper.py +0 -283
- ads/feature_store/common/utils/transformation_utils.py +0 -82
- ads/feature_store/common/utils/utility.py +0 -403
- ads/feature_store/data_validation/__init__.py +0 -0
- ads/feature_store/data_validation/great_expectation.py +0 -129
- ads/feature_store/dataset.py +0 -1230
- ads/feature_store/dataset_job.py +0 -530
- ads/feature_store/docs/Dockerfile +0 -7
- ads/feature_store/docs/Makefile +0 -44
- ads/feature_store/docs/conf.py +0 -28
- ads/feature_store/docs/requirements.txt +0 -14
- ads/feature_store/docs/source/ads.feature_store.query.rst +0 -20
- ads/feature_store/docs/source/cicd.rst +0 -137
- ads/feature_store/docs/source/conf.py +0 -86
- ads/feature_store/docs/source/data_versioning.rst +0 -33
- ads/feature_store/docs/source/dataset.rst +0 -388
- ads/feature_store/docs/source/dataset_job.rst +0 -27
- ads/feature_store/docs/source/demo.rst +0 -70
- ads/feature_store/docs/source/entity.rst +0 -78
- ads/feature_store/docs/source/feature_group.rst +0 -624
- ads/feature_store/docs/source/feature_group_job.rst +0 -29
- ads/feature_store/docs/source/feature_store.rst +0 -122
- ads/feature_store/docs/source/feature_store_class.rst +0 -123
- ads/feature_store/docs/source/feature_validation.rst +0 -66
- ads/feature_store/docs/source/figures/cicd.png +0 -0
- ads/feature_store/docs/source/figures/data_validation.png +0 -0
- ads/feature_store/docs/source/figures/data_versioning.png +0 -0
- ads/feature_store/docs/source/figures/dataset.gif +0 -0
- ads/feature_store/docs/source/figures/dataset.png +0 -0
- ads/feature_store/docs/source/figures/dataset_lineage.png +0 -0
- ads/feature_store/docs/source/figures/dataset_statistics.png +0 -0
- ads/feature_store/docs/source/figures/dataset_statistics_viz.png +0 -0
- ads/feature_store/docs/source/figures/dataset_validation_results.png +0 -0
- ads/feature_store/docs/source/figures/dataset_validation_summary.png +0 -0
- ads/feature_store/docs/source/figures/drift_monitoring.png +0 -0
- ads/feature_store/docs/source/figures/entity.png +0 -0
- ads/feature_store/docs/source/figures/feature_group.png +0 -0
- ads/feature_store/docs/source/figures/feature_group_lineage.png +0 -0
- ads/feature_store/docs/source/figures/feature_group_statistics_viz.png +0 -0
- ads/feature_store/docs/source/figures/feature_store_deployment.png +0 -0
- ads/feature_store/docs/source/figures/feature_store_overview.png +0 -0
- ads/feature_store/docs/source/figures/featuregroup.gif +0 -0
- ads/feature_store/docs/source/figures/lineage_d1.png +0 -0
- ads/feature_store/docs/source/figures/lineage_d2.png +0 -0
- ads/feature_store/docs/source/figures/lineage_fg.png +0 -0
- ads/feature_store/docs/source/figures/logo-dark-mode.png +0 -0
- ads/feature_store/docs/source/figures/logo-light-mode.png +0 -0
- ads/feature_store/docs/source/figures/overview.png +0 -0
- ads/feature_store/docs/source/figures/resource_manager.png +0 -0
- ads/feature_store/docs/source/figures/resource_manager_feature_store_stack.png +0 -0
- ads/feature_store/docs/source/figures/resource_manager_home.png +0 -0
- ads/feature_store/docs/source/figures/stats_1.png +0 -0
- ads/feature_store/docs/source/figures/stats_2.png +0 -0
- ads/feature_store/docs/source/figures/stats_d.png +0 -0
- ads/feature_store/docs/source/figures/stats_fg.png +0 -0
- ads/feature_store/docs/source/figures/transformation.png +0 -0
- ads/feature_store/docs/source/figures/transformations.gif +0 -0
- ads/feature_store/docs/source/figures/validation.png +0 -0
- ads/feature_store/docs/source/figures/validation_fg.png +0 -0
- ads/feature_store/docs/source/figures/validation_results.png +0 -0
- ads/feature_store/docs/source/figures/validation_summary.png +0 -0
- ads/feature_store/docs/source/index.rst +0 -81
- ads/feature_store/docs/source/module.rst +0 -8
- ads/feature_store/docs/source/notebook.rst +0 -94
- ads/feature_store/docs/source/overview.rst +0 -47
- ads/feature_store/docs/source/quickstart.rst +0 -176
- ads/feature_store/docs/source/release_notes.rst +0 -194
- ads/feature_store/docs/source/setup_feature_store.rst +0 -81
- ads/feature_store/docs/source/statistics.rst +0 -58
- ads/feature_store/docs/source/transformation.rst +0 -199
- ads/feature_store/docs/source/ui.rst +0 -65
- ads/feature_store/docs/source/user_guides.setup.feature_store_operator.rst +0 -66
- ads/feature_store/docs/source/user_guides.setup.helm_chart.rst +0 -192
- ads/feature_store/docs/source/user_guides.setup.terraform.rst +0 -338
- ads/feature_store/entity.py +0 -718
- ads/feature_store/execution_strategy/__init__.py +0 -0
- ads/feature_store/execution_strategy/delta_lake/__init__.py +0 -0
- ads/feature_store/execution_strategy/delta_lake/delta_lake_service.py +0 -375
- ads/feature_store/execution_strategy/engine/__init__.py +0 -0
- ads/feature_store/execution_strategy/engine/spark_engine.py +0 -316
- ads/feature_store/execution_strategy/execution_strategy.py +0 -113
- ads/feature_store/execution_strategy/execution_strategy_provider.py +0 -47
- ads/feature_store/execution_strategy/spark/__init__.py +0 -0
- ads/feature_store/execution_strategy/spark/spark_execution.py +0 -618
- ads/feature_store/feature.py +0 -192
- ads/feature_store/feature_group.py +0 -1494
- ads/feature_store/feature_group_expectation.py +0 -346
- ads/feature_store/feature_group_job.py +0 -602
- ads/feature_store/feature_lineage/__init__.py +0 -0
- ads/feature_store/feature_lineage/graphviz_service.py +0 -180
- ads/feature_store/feature_option_details.py +0 -50
- ads/feature_store/feature_statistics/__init__.py +0 -0
- ads/feature_store/feature_statistics/statistics_service.py +0 -99
- ads/feature_store/feature_store.py +0 -699
- ads/feature_store/feature_store_registrar.py +0 -518
- ads/feature_store/input_feature_detail.py +0 -149
- ads/feature_store/mixin/__init__.py +0 -4
- ads/feature_store/mixin/oci_feature_store.py +0 -145
- ads/feature_store/model_details.py +0 -73
- ads/feature_store/query/__init__.py +0 -0
- ads/feature_store/query/filter.py +0 -266
- ads/feature_store/query/generator/__init__.py +0 -0
- ads/feature_store/query/generator/query_generator.py +0 -298
- ads/feature_store/query/join.py +0 -161
- ads/feature_store/query/query.py +0 -403
- ads/feature_store/query/validator/__init__.py +0 -0
- ads/feature_store/query/validator/query_validator.py +0 -57
- ads/feature_store/response/__init__.py +0 -0
- ads/feature_store/response/response_builder.py +0 -68
- ads/feature_store/service/__init__.py +0 -0
- ads/feature_store/service/oci_dataset.py +0 -139
- ads/feature_store/service/oci_dataset_job.py +0 -199
- ads/feature_store/service/oci_entity.py +0 -125
- ads/feature_store/service/oci_feature_group.py +0 -164
- ads/feature_store/service/oci_feature_group_job.py +0 -214
- ads/feature_store/service/oci_feature_store.py +0 -182
- ads/feature_store/service/oci_lineage.py +0 -87
- ads/feature_store/service/oci_transformation.py +0 -104
- ads/feature_store/statistics/__init__.py +0 -0
- ads/feature_store/statistics/abs_feature_value.py +0 -49
- ads/feature_store/statistics/charts/__init__.py +0 -0
- ads/feature_store/statistics/charts/abstract_feature_plot.py +0 -37
- ads/feature_store/statistics/charts/box_plot.py +0 -148
- ads/feature_store/statistics/charts/frequency_distribution.py +0 -65
- ads/feature_store/statistics/charts/probability_distribution.py +0 -68
- ads/feature_store/statistics/charts/top_k_frequent_elements.py +0 -98
- ads/feature_store/statistics/feature_stat.py +0 -126
- ads/feature_store/statistics/generic_feature_value.py +0 -33
- ads/feature_store/statistics/statistics.py +0 -41
- ads/feature_store/statistics_config.py +0 -101
- ads/feature_store/templates/feature_store_template.yaml +0 -45
- ads/feature_store/transformation.py +0 -499
- ads/feature_store/validation_output.py +0 -57
- ads/hpo/__init__.py +0 -9
- ads/hpo/_imports.py +0 -91
- ads/hpo/ads_search_space.py +0 -439
- ads/hpo/distributions.py +0 -325
- ads/hpo/objective.py +0 -280
- ads/hpo/search_cv.py +0 -1657
- ads/hpo/stopping_criterion.py +0 -75
- ads/hpo/tuner_artifact.py +0 -413
- ads/hpo/utils.py +0 -91
- ads/hpo/validation.py +0 -140
- ads/hpo/visualization/__init__.py +0 -5
- ads/hpo/visualization/_contour.py +0 -23
- ads/hpo/visualization/_edf.py +0 -20
- ads/hpo/visualization/_intermediate_values.py +0 -21
- ads/hpo/visualization/_optimization_history.py +0 -25
- ads/hpo/visualization/_parallel_coordinate.py +0 -169
- ads/hpo/visualization/_param_importances.py +0 -26
- ads/jobs/__init__.py +0 -53
- ads/jobs/ads_job.py +0 -663
- ads/jobs/builders/__init__.py +0 -5
- ads/jobs/builders/base.py +0 -156
- ads/jobs/builders/infrastructure/__init__.py +0 -6
- ads/jobs/builders/infrastructure/base.py +0 -165
- ads/jobs/builders/infrastructure/dataflow.py +0 -1252
- ads/jobs/builders/infrastructure/dsc_job.py +0 -1894
- ads/jobs/builders/infrastructure/dsc_job_runtime.py +0 -1233
- ads/jobs/builders/infrastructure/utils.py +0 -65
- ads/jobs/builders/runtimes/__init__.py +0 -5
- ads/jobs/builders/runtimes/artifact.py +0 -338
- ads/jobs/builders/runtimes/base.py +0 -325
- ads/jobs/builders/runtimes/container_runtime.py +0 -242
- ads/jobs/builders/runtimes/python_runtime.py +0 -1016
- ads/jobs/builders/runtimes/pytorch_runtime.py +0 -204
- ads/jobs/cli.py +0 -104
- ads/jobs/env_var_parser.py +0 -131
- ads/jobs/extension.py +0 -160
- ads/jobs/schema/__init__.py +0 -5
- ads/jobs/schema/infrastructure_schema.json +0 -116
- ads/jobs/schema/job_schema.json +0 -42
- ads/jobs/schema/runtime_schema.json +0 -183
- ads/jobs/schema/validator.py +0 -141
- ads/jobs/serializer.py +0 -296
- ads/jobs/templates/__init__.py +0 -5
- ads/jobs/templates/container.py +0 -6
- ads/jobs/templates/driver_notebook.py +0 -177
- ads/jobs/templates/driver_oci.py +0 -500
- ads/jobs/templates/driver_python.py +0 -48
- ads/jobs/templates/driver_pytorch.py +0 -852
- ads/jobs/templates/driver_utils.py +0 -615
- ads/jobs/templates/hostname_from_env.c +0 -55
- ads/jobs/templates/oci_metrics.py +0 -181
- ads/jobs/utils.py +0 -104
- ads/llm/__init__.py +0 -28
- ads/llm/autogen/__init__.py +0 -2
- ads/llm/autogen/constants.py +0 -15
- ads/llm/autogen/reports/__init__.py +0 -2
- ads/llm/autogen/reports/base.py +0 -67
- ads/llm/autogen/reports/data.py +0 -103
- ads/llm/autogen/reports/session.py +0 -526
- ads/llm/autogen/reports/templates/chat_box.html +0 -13
- ads/llm/autogen/reports/templates/chat_box_lt.html +0 -5
- ads/llm/autogen/reports/templates/chat_box_rt.html +0 -6
- ads/llm/autogen/reports/utils.py +0 -56
- ads/llm/autogen/v02/__init__.py +0 -4
- ads/llm/autogen/v02/client.py +0 -295
- ads/llm/autogen/v02/log_handlers/__init__.py +0 -2
- ads/llm/autogen/v02/log_handlers/oci_file_handler.py +0 -83
- ads/llm/autogen/v02/loggers/__init__.py +0 -6
- ads/llm/autogen/v02/loggers/metric_logger.py +0 -320
- ads/llm/autogen/v02/loggers/session_logger.py +0 -580
- ads/llm/autogen/v02/loggers/utils.py +0 -86
- ads/llm/autogen/v02/runtime_logging.py +0 -163
- ads/llm/chain.py +0 -268
- ads/llm/chat_template.py +0 -31
- ads/llm/deploy.py +0 -63
- ads/llm/guardrails/__init__.py +0 -5
- ads/llm/guardrails/base.py +0 -442
- ads/llm/guardrails/huggingface.py +0 -44
- ads/llm/langchain/__init__.py +0 -5
- ads/llm/langchain/plugins/__init__.py +0 -5
- ads/llm/langchain/plugins/chat_models/__init__.py +0 -5
- ads/llm/langchain/plugins/chat_models/oci_data_science.py +0 -1027
- ads/llm/langchain/plugins/embeddings/__init__.py +0 -4
- ads/llm/langchain/plugins/embeddings/oci_data_science_model_deployment_endpoint.py +0 -184
- ads/llm/langchain/plugins/llms/__init__.py +0 -5
- ads/llm/langchain/plugins/llms/oci_data_science_model_deployment_endpoint.py +0 -979
- ads/llm/requirements.txt +0 -3
- ads/llm/serialize.py +0 -219
- ads/llm/serializers/__init__.py +0 -0
- ads/llm/serializers/retrieval_qa.py +0 -153
- ads/llm/serializers/runnable_parallel.py +0 -27
- ads/llm/templates/score_chain.jinja2 +0 -155
- ads/llm/templates/tool_chat_template_hermes.jinja +0 -130
- ads/llm/templates/tool_chat_template_mistral_parallel.jinja +0 -94
- ads/model/__init__.py +0 -52
- ads/model/artifact.py +0 -573
- ads/model/artifact_downloader.py +0 -254
- ads/model/artifact_uploader.py +0 -267
- ads/model/base_properties.py +0 -238
- ads/model/common/.model-ignore +0 -66
- ads/model/common/__init__.py +0 -5
- ads/model/common/utils.py +0 -142
- ads/model/datascience_model.py +0 -2635
- ads/model/deployment/__init__.py +0 -20
- ads/model/deployment/common/__init__.py +0 -5
- ads/model/deployment/common/utils.py +0 -308
- ads/model/deployment/model_deployer.py +0 -466
- ads/model/deployment/model_deployment.py +0 -1846
- ads/model/deployment/model_deployment_infrastructure.py +0 -671
- ads/model/deployment/model_deployment_properties.py +0 -493
- ads/model/deployment/model_deployment_runtime.py +0 -838
- ads/model/extractor/__init__.py +0 -5
- ads/model/extractor/automl_extractor.py +0 -74
- ads/model/extractor/embedding_onnx_extractor.py +0 -80
- ads/model/extractor/huggingface_extractor.py +0 -88
- ads/model/extractor/keras_extractor.py +0 -84
- ads/model/extractor/lightgbm_extractor.py +0 -93
- ads/model/extractor/model_info_extractor.py +0 -114
- ads/model/extractor/model_info_extractor_factory.py +0 -105
- ads/model/extractor/pytorch_extractor.py +0 -87
- ads/model/extractor/sklearn_extractor.py +0 -112
- ads/model/extractor/spark_extractor.py +0 -89
- ads/model/extractor/tensorflow_extractor.py +0 -85
- ads/model/extractor/xgboost_extractor.py +0 -94
- ads/model/framework/__init__.py +0 -5
- ads/model/framework/automl_model.py +0 -178
- ads/model/framework/embedding_onnx_model.py +0 -438
- ads/model/framework/huggingface_model.py +0 -399
- ads/model/framework/lightgbm_model.py +0 -266
- ads/model/framework/pytorch_model.py +0 -266
- ads/model/framework/sklearn_model.py +0 -250
- ads/model/framework/spark_model.py +0 -326
- ads/model/framework/tensorflow_model.py +0 -254
- ads/model/framework/xgboost_model.py +0 -258
- ads/model/generic_model.py +0 -3518
- ads/model/model_artifact_boilerplate/README.md +0 -381
- ads/model/model_artifact_boilerplate/__init__.py +0 -5
- ads/model/model_artifact_boilerplate/artifact_introspection_test/__init__.py +0 -5
- ads/model/model_artifact_boilerplate/artifact_introspection_test/model_artifact_validate.py +0 -427
- ads/model/model_artifact_boilerplate/artifact_introspection_test/requirements.txt +0 -2
- ads/model/model_artifact_boilerplate/runtime.yaml +0 -7
- ads/model/model_artifact_boilerplate/score.py +0 -61
- ads/model/model_file_description_schema.json +0 -68
- ads/model/model_introspect.py +0 -331
- ads/model/model_metadata.py +0 -1810
- ads/model/model_metadata_mixin.py +0 -460
- ads/model/model_properties.py +0 -63
- ads/model/model_version_set.py +0 -739
- ads/model/runtime/__init__.py +0 -5
- ads/model/runtime/env_info.py +0 -306
- ads/model/runtime/model_deployment_details.py +0 -37
- ads/model/runtime/model_provenance_details.py +0 -58
- ads/model/runtime/runtime_info.py +0 -81
- ads/model/runtime/schemas/inference_env_info_schema.yaml +0 -16
- ads/model/runtime/schemas/model_provenance_schema.yaml +0 -36
- ads/model/runtime/schemas/training_env_info_schema.yaml +0 -16
- ads/model/runtime/utils.py +0 -201
- ads/model/serde/__init__.py +0 -5
- ads/model/serde/common.py +0 -40
- ads/model/serde/model_input.py +0 -547
- ads/model/serde/model_serializer.py +0 -1184
- ads/model/service/__init__.py +0 -5
- ads/model/service/oci_datascience_model.py +0 -1076
- ads/model/service/oci_datascience_model_deployment.py +0 -500
- ads/model/service/oci_datascience_model_version_set.py +0 -176
- ads/model/transformer/__init__.py +0 -5
- ads/model/transformer/onnx_transformer.py +0 -324
- ads/mysqldb/__init__.py +0 -5
- ads/mysqldb/mysql_db.py +0 -227
- ads/opctl/__init__.py +0 -18
- ads/opctl/anomaly_detection.py +0 -11
- ads/opctl/backend/__init__.py +0 -5
- ads/opctl/backend/ads_dataflow.py +0 -353
- ads/opctl/backend/ads_ml_job.py +0 -710
- ads/opctl/backend/ads_ml_pipeline.py +0 -164
- ads/opctl/backend/ads_model_deployment.py +0 -209
- ads/opctl/backend/base.py +0 -146
- ads/opctl/backend/local.py +0 -1053
- ads/opctl/backend/marketplace/__init__.py +0 -9
- ads/opctl/backend/marketplace/helm_helper.py +0 -173
- ads/opctl/backend/marketplace/local_marketplace.py +0 -271
- ads/opctl/backend/marketplace/marketplace_backend_runner.py +0 -71
- ads/opctl/backend/marketplace/marketplace_operator_interface.py +0 -44
- ads/opctl/backend/marketplace/marketplace_operator_runner.py +0 -24
- ads/opctl/backend/marketplace/marketplace_utils.py +0 -212
- ads/opctl/backend/marketplace/models/__init__.py +0 -5
- ads/opctl/backend/marketplace/models/bearer_token.py +0 -94
- ads/opctl/backend/marketplace/models/marketplace_type.py +0 -70
- ads/opctl/backend/marketplace/models/ocir_details.py +0 -56
- ads/opctl/backend/marketplace/prerequisite_checker.py +0 -238
- ads/opctl/cli.py +0 -707
- ads/opctl/cmds.py +0 -869
- ads/opctl/conda/__init__.py +0 -5
- ads/opctl/conda/cli.py +0 -193
- ads/opctl/conda/cmds.py +0 -749
- ads/opctl/conda/config.yaml +0 -34
- ads/opctl/conda/manifest_template.yaml +0 -13
- ads/opctl/conda/multipart_uploader.py +0 -188
- ads/opctl/conda/pack.py +0 -89
- ads/opctl/config/__init__.py +0 -5
- ads/opctl/config/base.py +0 -57
- ads/opctl/config/diagnostics/__init__.py +0 -5
- ads/opctl/config/diagnostics/distributed/default_requirements_config.yaml +0 -62
- ads/opctl/config/merger.py +0 -255
- ads/opctl/config/resolver.py +0 -297
- ads/opctl/config/utils.py +0 -79
- ads/opctl/config/validator.py +0 -17
- ads/opctl/config/versioner.py +0 -68
- ads/opctl/config/yaml_parsers/__init__.py +0 -7
- ads/opctl/config/yaml_parsers/base.py +0 -58
- ads/opctl/config/yaml_parsers/distributed/__init__.py +0 -7
- ads/opctl/config/yaml_parsers/distributed/yaml_parser.py +0 -201
- ads/opctl/constants.py +0 -66
- ads/opctl/decorator/__init__.py +0 -5
- ads/opctl/decorator/common.py +0 -129
- ads/opctl/diagnostics/__init__.py +0 -5
- ads/opctl/diagnostics/__main__.py +0 -25
- ads/opctl/diagnostics/check_distributed_job_requirements.py +0 -212
- ads/opctl/diagnostics/check_requirements.py +0 -144
- ads/opctl/diagnostics/requirement_exception.py +0 -9
- ads/opctl/distributed/README.md +0 -109
- ads/opctl/distributed/__init__.py +0 -5
- ads/opctl/distributed/certificates.py +0 -32
- ads/opctl/distributed/cli.py +0 -207
- ads/opctl/distributed/cmds.py +0 -731
- ads/opctl/distributed/common/__init__.py +0 -5
- ads/opctl/distributed/common/abstract_cluster_provider.py +0 -449
- ads/opctl/distributed/common/abstract_framework_spec_builder.py +0 -88
- ads/opctl/distributed/common/cluster_config_helper.py +0 -103
- ads/opctl/distributed/common/cluster_provider_factory.py +0 -21
- ads/opctl/distributed/common/cluster_runner.py +0 -54
- ads/opctl/distributed/common/framework_factory.py +0 -29
- ads/opctl/docker/Dockerfile.job +0 -103
- ads/opctl/docker/Dockerfile.job.arm +0 -107
- ads/opctl/docker/Dockerfile.job.gpu +0 -175
- ads/opctl/docker/base-env.yaml +0 -13
- ads/opctl/docker/cuda.repo +0 -6
- ads/opctl/docker/operator/.dockerignore +0 -0
- ads/opctl/docker/operator/Dockerfile +0 -41
- ads/opctl/docker/operator/Dockerfile.gpu +0 -85
- ads/opctl/docker/operator/cuda.repo +0 -6
- ads/opctl/docker/operator/environment.yaml +0 -8
- ads/opctl/forecast.py +0 -11
- ads/opctl/index.yaml +0 -3
- ads/opctl/model/__init__.py +0 -5
- ads/opctl/model/cli.py +0 -65
- ads/opctl/model/cmds.py +0 -73
- ads/opctl/operator/README.md +0 -4
- ads/opctl/operator/__init__.py +0 -31
- ads/opctl/operator/cli.py +0 -344
- ads/opctl/operator/cmd.py +0 -596
- ads/opctl/operator/common/__init__.py +0 -5
- ads/opctl/operator/common/backend_factory.py +0 -460
- ads/opctl/operator/common/const.py +0 -27
- ads/opctl/operator/common/data/synthetic.csv +0 -16001
- ads/opctl/operator/common/dictionary_merger.py +0 -148
- ads/opctl/operator/common/errors.py +0 -42
- ads/opctl/operator/common/operator_config.py +0 -99
- ads/opctl/operator/common/operator_loader.py +0 -811
- ads/opctl/operator/common/operator_schema.yaml +0 -130
- ads/opctl/operator/common/operator_yaml_generator.py +0 -152
- ads/opctl/operator/common/utils.py +0 -208
- ads/opctl/operator/lowcode/__init__.py +0 -5
- ads/opctl/operator/lowcode/anomaly/MLoperator +0 -16
- ads/opctl/operator/lowcode/anomaly/README.md +0 -207
- ads/opctl/operator/lowcode/anomaly/__init__.py +0 -5
- ads/opctl/operator/lowcode/anomaly/__main__.py +0 -103
- ads/opctl/operator/lowcode/anomaly/cmd.py +0 -35
- ads/opctl/operator/lowcode/anomaly/const.py +0 -167
- ads/opctl/operator/lowcode/anomaly/environment.yaml +0 -10
- ads/opctl/operator/lowcode/anomaly/model/__init__.py +0 -5
- ads/opctl/operator/lowcode/anomaly/model/anomaly_dataset.py +0 -146
- ads/opctl/operator/lowcode/anomaly/model/anomaly_merlion.py +0 -162
- ads/opctl/operator/lowcode/anomaly/model/automlx.py +0 -99
- ads/opctl/operator/lowcode/anomaly/model/autots.py +0 -115
- ads/opctl/operator/lowcode/anomaly/model/base_model.py +0 -404
- ads/opctl/operator/lowcode/anomaly/model/factory.py +0 -110
- ads/opctl/operator/lowcode/anomaly/model/isolationforest.py +0 -78
- ads/opctl/operator/lowcode/anomaly/model/oneclasssvm.py +0 -78
- ads/opctl/operator/lowcode/anomaly/model/randomcutforest.py +0 -120
- ads/opctl/operator/lowcode/anomaly/model/tods.py +0 -119
- ads/opctl/operator/lowcode/anomaly/operator_config.py +0 -127
- ads/opctl/operator/lowcode/anomaly/schema.yaml +0 -401
- ads/opctl/operator/lowcode/anomaly/utils.py +0 -88
- ads/opctl/operator/lowcode/common/__init__.py +0 -5
- ads/opctl/operator/lowcode/common/const.py +0 -10
- ads/opctl/operator/lowcode/common/data.py +0 -116
- ads/opctl/operator/lowcode/common/errors.py +0 -47
- ads/opctl/operator/lowcode/common/transformations.py +0 -296
- ads/opctl/operator/lowcode/common/utils.py +0 -293
- ads/opctl/operator/lowcode/feature_store_marketplace/MLoperator +0 -13
- ads/opctl/operator/lowcode/feature_store_marketplace/README.md +0 -30
- ads/opctl/operator/lowcode/feature_store_marketplace/__init__.py +0 -5
- ads/opctl/operator/lowcode/feature_store_marketplace/__main__.py +0 -116
- ads/opctl/operator/lowcode/feature_store_marketplace/cmd.py +0 -85
- ads/opctl/operator/lowcode/feature_store_marketplace/const.py +0 -15
- ads/opctl/operator/lowcode/feature_store_marketplace/environment.yaml +0 -0
- ads/opctl/operator/lowcode/feature_store_marketplace/models/__init__.py +0 -4
- ads/opctl/operator/lowcode/feature_store_marketplace/models/apigw_config.py +0 -32
- ads/opctl/operator/lowcode/feature_store_marketplace/models/db_config.py +0 -43
- ads/opctl/operator/lowcode/feature_store_marketplace/models/mysql_config.py +0 -120
- ads/opctl/operator/lowcode/feature_store_marketplace/models/serializable_yaml_model.py +0 -34
- ads/opctl/operator/lowcode/feature_store_marketplace/operator_utils.py +0 -386
- ads/opctl/operator/lowcode/feature_store_marketplace/schema.yaml +0 -160
- ads/opctl/operator/lowcode/forecast/MLoperator +0 -25
- ads/opctl/operator/lowcode/forecast/README.md +0 -209
- ads/opctl/operator/lowcode/forecast/__init__.py +0 -5
- ads/opctl/operator/lowcode/forecast/__main__.py +0 -89
- ads/opctl/operator/lowcode/forecast/cmd.py +0 -40
- ads/opctl/operator/lowcode/forecast/const.py +0 -92
- ads/opctl/operator/lowcode/forecast/environment.yaml +0 -20
- ads/opctl/operator/lowcode/forecast/errors.py +0 -26
- ads/opctl/operator/lowcode/forecast/model/__init__.py +0 -5
- ads/opctl/operator/lowcode/forecast/model/arima.py +0 -279
- ads/opctl/operator/lowcode/forecast/model/automlx.py +0 -542
- ads/opctl/operator/lowcode/forecast/model/autots.py +0 -312
- ads/opctl/operator/lowcode/forecast/model/base_model.py +0 -863
- ads/opctl/operator/lowcode/forecast/model/factory.py +0 -106
- ads/opctl/operator/lowcode/forecast/model/forecast_datasets.py +0 -492
- ads/opctl/operator/lowcode/forecast/model/ml_forecast.py +0 -243
- ads/opctl/operator/lowcode/forecast/model/neuralprophet.py +0 -486
- ads/opctl/operator/lowcode/forecast/model/prophet.py +0 -445
- ads/opctl/operator/lowcode/forecast/model_evaluator.py +0 -244
- ads/opctl/operator/lowcode/forecast/operator_config.py +0 -234
- ads/opctl/operator/lowcode/forecast/schema.yaml +0 -506
- ads/opctl/operator/lowcode/forecast/utils.py +0 -413
- ads/opctl/operator/lowcode/forecast/whatifserve/__init__.py +0 -7
- ads/opctl/operator/lowcode/forecast/whatifserve/deployment_manager.py +0 -285
- ads/opctl/operator/lowcode/forecast/whatifserve/score.py +0 -246
- ads/opctl/operator/lowcode/pii/MLoperator +0 -17
- ads/opctl/operator/lowcode/pii/README.md +0 -208
- ads/opctl/operator/lowcode/pii/__init__.py +0 -5
- ads/opctl/operator/lowcode/pii/__main__.py +0 -78
- ads/opctl/operator/lowcode/pii/cmd.py +0 -39
- ads/opctl/operator/lowcode/pii/constant.py +0 -84
- ads/opctl/operator/lowcode/pii/environment.yaml +0 -17
- ads/opctl/operator/lowcode/pii/errors.py +0 -27
- ads/opctl/operator/lowcode/pii/model/__init__.py +0 -5
- ads/opctl/operator/lowcode/pii/model/factory.py +0 -82
- ads/opctl/operator/lowcode/pii/model/guardrails.py +0 -167
- ads/opctl/operator/lowcode/pii/model/pii.py +0 -145
- ads/opctl/operator/lowcode/pii/model/processor/__init__.py +0 -34
- ads/opctl/operator/lowcode/pii/model/processor/email_replacer.py +0 -34
- ads/opctl/operator/lowcode/pii/model/processor/mbi_replacer.py +0 -35
- ads/opctl/operator/lowcode/pii/model/processor/name_replacer.py +0 -225
- ads/opctl/operator/lowcode/pii/model/processor/number_replacer.py +0 -73
- ads/opctl/operator/lowcode/pii/model/processor/remover.py +0 -26
- ads/opctl/operator/lowcode/pii/model/report.py +0 -487
- ads/opctl/operator/lowcode/pii/operator_config.py +0 -95
- ads/opctl/operator/lowcode/pii/schema.yaml +0 -108
- ads/opctl/operator/lowcode/pii/utils.py +0 -43
- ads/opctl/operator/lowcode/recommender/MLoperator +0 -16
- ads/opctl/operator/lowcode/recommender/README.md +0 -206
- ads/opctl/operator/lowcode/recommender/__init__.py +0 -5
- ads/opctl/operator/lowcode/recommender/__main__.py +0 -82
- ads/opctl/operator/lowcode/recommender/cmd.py +0 -33
- ads/opctl/operator/lowcode/recommender/constant.py +0 -30
- ads/opctl/operator/lowcode/recommender/environment.yaml +0 -11
- ads/opctl/operator/lowcode/recommender/model/base_model.py +0 -212
- ads/opctl/operator/lowcode/recommender/model/factory.py +0 -56
- ads/opctl/operator/lowcode/recommender/model/recommender_dataset.py +0 -25
- ads/opctl/operator/lowcode/recommender/model/svd.py +0 -106
- ads/opctl/operator/lowcode/recommender/operator_config.py +0 -81
- ads/opctl/operator/lowcode/recommender/schema.yaml +0 -265
- ads/opctl/operator/lowcode/recommender/utils.py +0 -13
- ads/opctl/operator/runtime/__init__.py +0 -5
- ads/opctl/operator/runtime/const.py +0 -17
- ads/opctl/operator/runtime/container_runtime_schema.yaml +0 -50
- ads/opctl/operator/runtime/marketplace_runtime.py +0 -50
- ads/opctl/operator/runtime/python_marketplace_runtime_schema.yaml +0 -21
- ads/opctl/operator/runtime/python_runtime_schema.yaml +0 -21
- ads/opctl/operator/runtime/runtime.py +0 -115
- ads/opctl/schema.yaml.yml +0 -36
- ads/opctl/script.py +0 -40
- ads/opctl/spark/__init__.py +0 -5
- ads/opctl/spark/cli.py +0 -43
- ads/opctl/spark/cmds.py +0 -147
- ads/opctl/templates/diagnostic_report_template.jinja2 +0 -102
- ads/opctl/utils.py +0 -344
- ads/oracledb/__init__.py +0 -5
- ads/oracledb/oracle_db.py +0 -346
- ads/pipeline/__init__.py +0 -39
- ads/pipeline/ads_pipeline.py +0 -2279
- ads/pipeline/ads_pipeline_run.py +0 -772
- ads/pipeline/ads_pipeline_step.py +0 -605
- ads/pipeline/builders/__init__.py +0 -5
- ads/pipeline/builders/infrastructure/__init__.py +0 -5
- ads/pipeline/builders/infrastructure/custom_script.py +0 -32
- ads/pipeline/cli.py +0 -119
- ads/pipeline/extension.py +0 -291
- ads/pipeline/schema/__init__.py +0 -5
- ads/pipeline/schema/cs_step_schema.json +0 -35
- ads/pipeline/schema/ml_step_schema.json +0 -31
- ads/pipeline/schema/pipeline_schema.json +0 -71
- ads/pipeline/visualizer/__init__.py +0 -5
- ads/pipeline/visualizer/base.py +0 -570
- ads/pipeline/visualizer/graph_renderer.py +0 -272
- ads/pipeline/visualizer/text_renderer.py +0 -84
- ads/secrets/__init__.py +0 -11
- ads/secrets/adb.py +0 -386
- ads/secrets/auth_token.py +0 -86
- ads/secrets/big_data_service.py +0 -365
- ads/secrets/mysqldb.py +0 -149
- ads/secrets/oracledb.py +0 -160
- ads/secrets/secrets.py +0 -407
- ads/telemetry/__init__.py +0 -7
- ads/telemetry/base.py +0 -69
- ads/telemetry/client.py +0 -125
- ads/telemetry/telemetry.py +0 -257
- ads/templates/dataflow_pyspark.jinja2 +0 -13
- ads/templates/dataflow_sparksql.jinja2 +0 -22
- ads/templates/func.jinja2 +0 -20
- ads/templates/schemas/openapi.json +0 -1740
- ads/templates/score-pkl.jinja2 +0 -173
- ads/templates/score.jinja2 +0 -322
- ads/templates/score_embedding_onnx.jinja2 +0 -202
- ads/templates/score_generic.jinja2 +0 -165
- ads/templates/score_huggingface_pipeline.jinja2 +0 -217
- ads/templates/score_lightgbm.jinja2 +0 -185
- ads/templates/score_onnx.jinja2 +0 -407
- ads/templates/score_onnx_new.jinja2 +0 -473
- ads/templates/score_oracle_automl.jinja2 +0 -185
- ads/templates/score_pyspark.jinja2 +0 -154
- ads/templates/score_pytorch.jinja2 +0 -219
- ads/templates/score_scikit-learn.jinja2 +0 -184
- ads/templates/score_tensorflow.jinja2 +0 -184
- ads/templates/score_xgboost.jinja2 +0 -178
- ads/text_dataset/__init__.py +0 -5
- ads/text_dataset/backends.py +0 -211
- ads/text_dataset/dataset.py +0 -445
- ads/text_dataset/extractor.py +0 -207
- ads/text_dataset/options.py +0 -53
- ads/text_dataset/udfs.py +0 -22
- ads/text_dataset/utils.py +0 -49
- ads/type_discovery/__init__.py +0 -9
- ads/type_discovery/abstract_detector.py +0 -21
- ads/type_discovery/constant_detector.py +0 -41
- ads/type_discovery/continuous_detector.py +0 -54
- ads/type_discovery/credit_card_detector.py +0 -99
- ads/type_discovery/datetime_detector.py +0 -92
- ads/type_discovery/discrete_detector.py +0 -118
- ads/type_discovery/document_detector.py +0 -146
- ads/type_discovery/ip_detector.py +0 -68
- ads/type_discovery/latlon_detector.py +0 -90
- ads/type_discovery/phone_number_detector.py +0 -63
- ads/type_discovery/type_discovery_driver.py +0 -87
- ads/type_discovery/typed_feature.py +0 -594
- ads/type_discovery/unknown_detector.py +0 -41
- ads/type_discovery/zipcode_detector.py +0 -48
- ads/vault/__init__.py +0 -7
- ads/vault/vault.py +0 -237
- oracle_ads-2.13.7.dist-info/RECORD +0 -858
- {oracle_ads-2.13.7.dist-info → oracle_ads-2.13.9rc0.dist-info}/licenses/LICENSE.txt +0 -0
@@ -1,184 +0,0 @@
|
|
1
|
-
# score.py {{SCORE_VERSION}} generated by ADS {{ADS_VERSION}} on {{time_created}}
|
2
|
-
import os
|
3
|
-
import sys
|
4
|
-
import logging
|
5
|
-
import pandas as pd
|
6
|
-
import numpy as np
|
7
|
-
import json
|
8
|
-
import tensorflow as tf
|
9
|
-
import base64
|
10
|
-
from io import BytesIO
|
11
|
-
from functools import lru_cache
|
12
|
-
|
13
|
-
model_name = '{{model_file_name}}'
|
14
|
-
|
15
|
-
|
16
|
-
"""
|
17
|
-
Inference script. This script is used for prediction by scoring server when schema is known.
|
18
|
-
"""
|
19
|
-
|
20
|
-
|
21
|
-
@lru_cache(maxsize=10)
|
22
|
-
def load_model(model_file_name=model_name):
|
23
|
-
"""
|
24
|
-
Loads model from the serialized format
|
25
|
-
|
26
|
-
Returns
|
27
|
-
-------
|
28
|
-
model: a model instance on which predict API can be invoked
|
29
|
-
"""
|
30
|
-
model_dir = os.path.dirname(os.path.realpath(__file__))
|
31
|
-
if model_dir not in sys.path:
|
32
|
-
sys.path.insert(0, model_dir)
|
33
|
-
contents = os.listdir(model_dir)
|
34
|
-
if model_file_name not in contents:
|
35
|
-
raise Exception(f'{model_file_name} is not found in model directory {model_dir}')
|
36
|
-
|
37
|
-
{% if model_serializer == "tf" %}
|
38
|
-
print(f'Start loading {model_file_name} from model directory {model_dir} ...')
|
39
|
-
loaded_model = tf.keras.models.load_model(os.path.join(model_dir, model_file_name))
|
40
|
-
print("Model is successfully loaded.")
|
41
|
-
return loaded_model
|
42
|
-
|
43
|
-
{% else %}
|
44
|
-
raise NotImplementedError("`load_model()` needs to be implemented.")
|
45
|
-
{% endif %}
|
46
|
-
|
47
|
-
@lru_cache(maxsize=1)
|
48
|
-
def fetch_data_type_from_schema(input_schema_path=os.path.join(os.path.dirname(os.path.realpath(__file__)), "input_schema.json")):
|
49
|
-
"""
|
50
|
-
Returns data type information fetch from input_schema.json.
|
51
|
-
|
52
|
-
Parameters
|
53
|
-
----------
|
54
|
-
input_schema_path: path of input schema.
|
55
|
-
|
56
|
-
Returns
|
57
|
-
-------
|
58
|
-
data_type: data type fetch from input_schema.json.
|
59
|
-
|
60
|
-
"""
|
61
|
-
data_type = {}
|
62
|
-
if os.path.exists(input_schema_path):
|
63
|
-
schema = json.load(open(input_schema_path))
|
64
|
-
for col in schema['schema']:
|
65
|
-
data_type[col['name']] = col['dtype']
|
66
|
-
else:
|
67
|
-
print("input_schema has to be passed in in order to recover the same data type. pass `X_sample` in `ads.model.framework.tensorflow_model.TensorFlowModel.prepare` function to generate the input_schema. Otherwise, the data type might be changed after serialization/deserialization.")
|
68
|
-
return data_type
|
69
|
-
|
70
|
-
|
71
|
-
def deserialize(data, input_schema_path):
|
72
|
-
"""
|
73
|
-
Deserialize json-serialized data to data in original type when sent to
|
74
|
-
predict.
|
75
|
-
|
76
|
-
Parameters
|
77
|
-
----------
|
78
|
-
data: serialized input data.
|
79
|
-
input_schema_path: path of input schema.
|
80
|
-
|
81
|
-
Returns
|
82
|
-
-------
|
83
|
-
data: deserialized input data.
|
84
|
-
|
85
|
-
"""
|
86
|
-
{% if data_deserializer == "json" %}
|
87
|
-
if isinstance(data, bytes):
|
88
|
-
logging.warning(
|
89
|
-
"bytes are passed directly to the model. If the model expects a specific data format, you need to write the conversion logic in `deserialize()` yourself."
|
90
|
-
)
|
91
|
-
return data
|
92
|
-
|
93
|
-
data_type = data.get('data_type', '') if isinstance(data, dict) else ''
|
94
|
-
json_data = data.get('data', data) if isinstance(data, dict) else data
|
95
|
-
|
96
|
-
if "numpy.ndarray" in data_type:
|
97
|
-
load_bytes = BytesIO(base64.b64decode(json_data.encode('utf-8')))
|
98
|
-
return np.load(load_bytes, allow_pickle=True)
|
99
|
-
if "tensorflow.python.framework.ops.EagerTensor" in data_type:
|
100
|
-
load_bytes = BytesIO(base64.b64decode(json_data.encode('utf-8')))
|
101
|
-
return tf.convert_to_tensor(np.load(load_bytes, allow_pickle=True))
|
102
|
-
if "pandas.core.series.Series" in data_type:
|
103
|
-
return pd.Series(json_data)
|
104
|
-
if "pandas.core.frame.DataFrame" in data_type or isinstance(json_data, str):
|
105
|
-
return pd.read_json(json_data, dtype=fetch_data_type_from_schema(input_schema_path))
|
106
|
-
|
107
|
-
return json_data
|
108
|
-
|
109
|
-
{% elif data_deserializer == "cloudpickle" %}
|
110
|
-
import cloudpickle
|
111
|
-
from pickle import UnpicklingError
|
112
|
-
deserialized_data = data
|
113
|
-
try:
|
114
|
-
deserialized_data = cloudpickle.loads(data)
|
115
|
-
except TypeError:
|
116
|
-
pass
|
117
|
-
except UnpicklingError:
|
118
|
-
logger.warning(
|
119
|
-
"bytes are passed directly to the model. If the model expects a specific data format, you need to write the conversion logic in `deserialize()` yourself."
|
120
|
-
)
|
121
|
-
|
122
|
-
return deserialized_data
|
123
|
-
|
124
|
-
{% else %}
|
125
|
-
# Add further data deserialization if needed
|
126
|
-
return data
|
127
|
-
{% endif %}
|
128
|
-
|
129
|
-
def pre_inference(data, input_schema_path):
|
130
|
-
"""
|
131
|
-
Preprocess json-serialized data to feed into predict function.
|
132
|
-
|
133
|
-
Parameters
|
134
|
-
----------
|
135
|
-
data: Data format as expected by the predict API of the core estimator.
|
136
|
-
input_schema_path: path of input schema.
|
137
|
-
|
138
|
-
Returns
|
139
|
-
-------
|
140
|
-
data: Data format after any processing.
|
141
|
-
"""
|
142
|
-
data = deserialize(data, input_schema_path)
|
143
|
-
|
144
|
-
# Add further data preprocessing if needed
|
145
|
-
return data
|
146
|
-
|
147
|
-
def post_inference(yhat):
|
148
|
-
"""
|
149
|
-
Post-process the model results.
|
150
|
-
|
151
|
-
Parameters
|
152
|
-
----------
|
153
|
-
yhat: Data format after calling model.predict.
|
154
|
-
|
155
|
-
Returns
|
156
|
-
-------
|
157
|
-
yhat: Data format after any processing.
|
158
|
-
|
159
|
-
"""
|
160
|
-
|
161
|
-
return yhat.numpy().tolist()
|
162
|
-
|
163
|
-
def predict(data, model=load_model(), input_schema_path=os.path.join(os.path.dirname(os.path.realpath(__file__)), "input_schema.json")):
|
164
|
-
"""
|
165
|
-
Returns prediction given the model and data to predict.
|
166
|
-
|
167
|
-
Parameters
|
168
|
-
----------
|
169
|
-
model: Model instance returned by load_model API
|
170
|
-
data: Data format as expected by the predict API of the core estimator.
|
171
|
-
input_schema_path: path of input schema.
|
172
|
-
|
173
|
-
Returns
|
174
|
-
-------
|
175
|
-
predictions: Output from scoring server
|
176
|
-
Format: {'prediction': output from model.predict method}
|
177
|
-
|
178
|
-
"""
|
179
|
-
inputs = pre_inference(data, input_schema_path)
|
180
|
-
|
181
|
-
yhat = post_inference(
|
182
|
-
model(inputs)
|
183
|
-
)
|
184
|
-
return {'prediction': yhat}
|
@@ -1,178 +0,0 @@
|
|
1
|
-
# score.py {{SCORE_VERSION}} generated by ADS {{ADS_VERSION}} on {{time_created}}
|
2
|
-
import json
|
3
|
-
import os
|
4
|
-
import sys
|
5
|
-
import xgboost as xgb
|
6
|
-
import pandas as pd
|
7
|
-
import numpy as np
|
8
|
-
from functools import lru_cache
|
9
|
-
from io import BytesIO
|
10
|
-
import base64
|
11
|
-
import logging
|
12
|
-
|
13
|
-
model_name = '{{model_file_name}}'
|
14
|
-
|
15
|
-
|
16
|
-
"""
|
17
|
-
Inference script. This script is used for prediction by scoring server when schema is known.
|
18
|
-
"""
|
19
|
-
|
20
|
-
|
21
|
-
@lru_cache(maxsize=10)
|
22
|
-
def load_model(model_file_name=model_name):
|
23
|
-
"""
|
24
|
-
Loads model from the serialized format
|
25
|
-
|
26
|
-
Returns
|
27
|
-
-------
|
28
|
-
model: a model instance on which predict API can be invoked
|
29
|
-
"""
|
30
|
-
model_xgb = xgb.Booster()
|
31
|
-
model_dir = os.path.dirname(os.path.realpath(__file__))
|
32
|
-
if model_dir not in sys.path:
|
33
|
-
sys.path.insert(0, model_dir)
|
34
|
-
contents = os.listdir(model_dir)
|
35
|
-
if model_file_name not in contents:
|
36
|
-
raise Exception(f'{model_file_name} is not found in model directory {model_dir}')
|
37
|
-
|
38
|
-
{% if model_serializer == "xgboost" %}
|
39
|
-
print(f'Start loading {model_file_name} from model directory {model_dir} ...')
|
40
|
-
model_xgb.load_model(os.path.join(os.path.dirname(os.path.realpath(__file__)), model_file_name))
|
41
|
-
print("Model is successfully loaded.")
|
42
|
-
return model_xgb
|
43
|
-
|
44
|
-
{% else %}
|
45
|
-
raise NotImplementedError("`load_model()` needs to be implemented.")
|
46
|
-
{% endif %}
|
47
|
-
|
48
|
-
@lru_cache(maxsize=1)
|
49
|
-
def fetch_data_type_from_schema(input_schema_path=os.path.join(os.path.dirname(os.path.realpath(__file__)), "input_schema.json")):
|
50
|
-
"""
|
51
|
-
Returns data type information fetch from input_schema.json.
|
52
|
-
|
53
|
-
Parameters
|
54
|
-
----------
|
55
|
-
input_schema_path: path of input schema.
|
56
|
-
|
57
|
-
Returns
|
58
|
-
-------
|
59
|
-
data_type: data type fetch from input_schema.json.
|
60
|
-
|
61
|
-
"""
|
62
|
-
data_type = {}
|
63
|
-
if os.path.exists(input_schema_path):
|
64
|
-
schema = json.load(open(input_schema_path))
|
65
|
-
for col in schema['schema']:
|
66
|
-
data_type[col['name']] = col['dtype']
|
67
|
-
else:
|
68
|
-
print("input_schema has to be passed in in order to recover the same data type. pass `X_sample` in `ads.model.framework.xgboost_model.XGBoostModel.prepare` function to generate the input_schema. Otherwise, the data type might be changed after serialization/deserialization.")
|
69
|
-
return data_type
|
70
|
-
|
71
|
-
|
72
|
-
def deserialize(data, input_schema_path):
|
73
|
-
"""
|
74
|
-
Deserialize json serialization data to data in original type when sent to predict.
|
75
|
-
|
76
|
-
Parameters
|
77
|
-
----------
|
78
|
-
data: serialized input data.
|
79
|
-
input_schema_path: path of input schema.
|
80
|
-
|
81
|
-
Returns
|
82
|
-
-------
|
83
|
-
data: deserialized input data.
|
84
|
-
|
85
|
-
"""
|
86
|
-
{% if data_deserializer == "json" %}
|
87
|
-
if isinstance(data, bytes):
|
88
|
-
logging.warning(
|
89
|
-
"bytes are passed directly to the model. If the model expects a specific data format, you need to write the conversion logic in `deserialize()` yourself."
|
90
|
-
)
|
91
|
-
return data
|
92
|
-
|
93
|
-
data_type = data.get('data_type', '') if isinstance(data, dict) else ''
|
94
|
-
json_data = data.get('data', data) if isinstance(data, dict) else data
|
95
|
-
|
96
|
-
if "numpy.ndarray" in data_type:
|
97
|
-
load_bytes = BytesIO(base64.b64decode(json_data.encode('utf-8')))
|
98
|
-
return np.load(load_bytes, allow_pickle=True)
|
99
|
-
if "pandas.core.series.Series" in data_type:
|
100
|
-
return pd.Series(json_data)
|
101
|
-
if "pandas.core.frame.DataFrame" in data_type or isinstance(json_data, str):
|
102
|
-
return pd.read_json(json_data, dtype=fetch_data_type_from_schema(input_schema_path))
|
103
|
-
if isinstance(json_data, dict):
|
104
|
-
return pd.DataFrame.from_dict(json_data)
|
105
|
-
|
106
|
-
return json_data
|
107
|
-
|
108
|
-
{% elif data_deserializer == "cloudpickle" %}
|
109
|
-
import cloudpickle
|
110
|
-
from pickle import UnpicklingError
|
111
|
-
deserialized_data = data
|
112
|
-
try:
|
113
|
-
deserialized_data = cloudpickle.loads(data)
|
114
|
-
except TypeError:
|
115
|
-
pass
|
116
|
-
except UnpicklingError:
|
117
|
-
logger.warning(
|
118
|
-
"bytes are passed directly to the model. If the model expects a specific data format, you need to write the conversion logic in `deserialize()` yourself."
|
119
|
-
)
|
120
|
-
|
121
|
-
return deserialized_data
|
122
|
-
|
123
|
-
{% else %}
|
124
|
-
# Add further data deserialization if needed
|
125
|
-
return data
|
126
|
-
{% endif %}
|
127
|
-
|
128
|
-
def pre_inference(data, input_schema_path):
|
129
|
-
"""
|
130
|
-
Preprocess data
|
131
|
-
|
132
|
-
Parameters
|
133
|
-
----------
|
134
|
-
data: Data format as expected by the predict API of the core estimator.
|
135
|
-
input_schema_path: path of input schema.
|
136
|
-
|
137
|
-
Returns
|
138
|
-
-------
|
139
|
-
data: Data format after any processing.
|
140
|
-
|
141
|
-
"""
|
142
|
-
data = deserialize(data, input_schema_path)
|
143
|
-
return data
|
144
|
-
|
145
|
-
def post_inference(yhat):
|
146
|
-
"""
|
147
|
-
Post-process the model results
|
148
|
-
|
149
|
-
Parameters
|
150
|
-
----------
|
151
|
-
yhat: Data format after calling model.predict.
|
152
|
-
|
153
|
-
Returns
|
154
|
-
-------
|
155
|
-
yhat: Data format after any processing.
|
156
|
-
|
157
|
-
"""
|
158
|
-
return yhat.tolist()
|
159
|
-
|
160
|
-
def predict(data, model=load_model(), input_schema_path=os.path.join(os.path.dirname(os.path.realpath(__file__)), "input_schema.json")):
|
161
|
-
"""
|
162
|
-
Returns prediction given the model and data to predict
|
163
|
-
|
164
|
-
Parameters
|
165
|
-
----------
|
166
|
-
model: Model instance returned by load_model API
|
167
|
-
data: Data format as expected by the predict API of the core estimator. For eg. in case xgboost models it could be numpy array/List of list/Pandas DataFrame
|
168
|
-
input_schema_path: path of input schema.
|
169
|
-
|
170
|
-
Returns
|
171
|
-
-------
|
172
|
-
predictions: Output from scoring server
|
173
|
-
Format: {'prediction': output from model.predict method}
|
174
|
-
|
175
|
-
"""
|
176
|
-
data = pre_inference(data, input_schema_path)
|
177
|
-
data = xgb.DMatrix(data)
|
178
|
-
return {'prediction': post_inference(model.predict(data))}
|
ads/text_dataset/__init__.py
DELETED
ads/text_dataset/backends.py
DELETED
@@ -1,211 +0,0 @@
|
|
1
|
-
#!/usr/bin/env python
|
2
|
-
# -*- coding: utf-8; -*-
|
3
|
-
|
4
|
-
# Copyright (c) 2021, 2022 Oracle and/or its affiliates.
|
5
|
-
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
|
6
|
-
|
7
|
-
import fsspec
|
8
|
-
import io
|
9
|
-
import json
|
10
|
-
import os
|
11
|
-
from typing import Dict, Generator, List, Union
|
12
|
-
|
13
|
-
from ads.common.decorator.runtime_dependency import runtime_dependency
|
14
|
-
from ads.text_dataset.utils import PY4JGateway, experimental
|
15
|
-
from fsspec.core import OpenFile
|
16
|
-
|
17
|
-
|
18
|
-
class Base:
|
19
|
-
"""Base class for backends."""
|
20
|
-
|
21
|
-
def read_line(
|
22
|
-
self, fhandler: OpenFile
|
23
|
-
) -> Generator[Union[str, List[str]], None, None]:
|
24
|
-
"""Read lines from a file.
|
25
|
-
|
26
|
-
Parameters
|
27
|
-
----------
|
28
|
-
fhandler : `fsspec.core.OpenFile`
|
29
|
-
a file handler returned by `fsspec`
|
30
|
-
|
31
|
-
Yields
|
32
|
-
-------
|
33
|
-
Generator
|
34
|
-
a generator that yields lines
|
35
|
-
"""
|
36
|
-
with fhandler as f:
|
37
|
-
for line in f:
|
38
|
-
yield line.decode(fhandler.encoding)
|
39
|
-
|
40
|
-
def read_text(
|
41
|
-
self, fhandler: OpenFile
|
42
|
-
) -> Generator[Union[str, List[str]], None, None]:
|
43
|
-
"""Read entire file into a string.
|
44
|
-
|
45
|
-
Parameters
|
46
|
-
----------
|
47
|
-
fhandler : `fsspec.core.OpenFile`
|
48
|
-
a file handler returned by `fsspec`
|
49
|
-
|
50
|
-
Yields
|
51
|
-
-------
|
52
|
-
Generator
|
53
|
-
a generator that yields text in the file
|
54
|
-
"""
|
55
|
-
with fhandler as f:
|
56
|
-
yield f.read().decode(fhandler.encoding)
|
57
|
-
|
58
|
-
@staticmethod
|
59
|
-
def _validate_dest(src, dst_folder: str, fname: str = None) -> str:
|
60
|
-
if fname is None:
|
61
|
-
fname = os.path.splitext(os.path.basename(src))[0] + ".txt"
|
62
|
-
return os.path.join(dst_folder, fname)
|
63
|
-
|
64
|
-
def convert_to_text(
|
65
|
-
self,
|
66
|
-
fhandler: OpenFile,
|
67
|
-
dst_path: str,
|
68
|
-
fname: str = None,
|
69
|
-
storage_options: Dict = None,
|
70
|
-
) -> str:
|
71
|
-
"""Convert input file to a text file
|
72
|
-
|
73
|
-
Parameters
|
74
|
-
----------
|
75
|
-
fhandler : `fsspec.core.OpenFile`
|
76
|
-
a file handler returned by `fsspec`
|
77
|
-
dst_path: str
|
78
|
-
local folder or cloud storage prefix to save converted text files
|
79
|
-
fname: str, optional
|
80
|
-
filename for converted output, relative to dirname or prefix, by default None
|
81
|
-
storage_options: dict, optional
|
82
|
-
storage options for cloud storage
|
83
|
-
|
84
|
-
Returns
|
85
|
-
-------
|
86
|
-
str
|
87
|
-
path to saved output
|
88
|
-
"""
|
89
|
-
dest = self._validate_dest(fhandler.path, dst_path, fname)
|
90
|
-
storage_options = {} if storage_options is None else storage_options
|
91
|
-
with fsspec.open(dest, mode="wb", **storage_options) as fout:
|
92
|
-
with fhandler as fin:
|
93
|
-
fout.write(fin.read())
|
94
|
-
return dest
|
95
|
-
|
96
|
-
def get_metadata(self, fhandler: OpenFile) -> Dict:
|
97
|
-
"""Get metadata of a file.
|
98
|
-
|
99
|
-
Parameters
|
100
|
-
----------
|
101
|
-
fhandler : `fsspec.core.OpenFile`
|
102
|
-
a file handler returned by fsspec
|
103
|
-
|
104
|
-
Returns
|
105
|
-
-------
|
106
|
-
dict
|
107
|
-
dictionary of metadata
|
108
|
-
"""
|
109
|
-
return {}
|
110
|
-
|
111
|
-
|
112
|
-
class Tika(Base):
|
113
|
-
def read_line(self, fhandler):
|
114
|
-
with PY4JGateway() as gateway:
|
115
|
-
parser = gateway.jvm.parsers.TikaParser()
|
116
|
-
with fhandler as f:
|
117
|
-
reader = parser.reader(f.read())
|
118
|
-
while True:
|
119
|
-
line = reader.readLine()
|
120
|
-
if line is not None:
|
121
|
-
yield line
|
122
|
-
else:
|
123
|
-
break
|
124
|
-
|
125
|
-
def read_text(self, fhandler):
|
126
|
-
with PY4JGateway() as gateway:
|
127
|
-
parser = gateway.jvm.parsers.TikaParser()
|
128
|
-
with fhandler as f:
|
129
|
-
yield parser.readText(f.read()).decode()
|
130
|
-
|
131
|
-
def convert_to_text(self, fhandler, dst_path, fname=None, storage_options=None):
|
132
|
-
dest = self._validate_dest(fhandler.path, dst_path, fname)
|
133
|
-
storage_options = {} if storage_options is None else storage_options
|
134
|
-
with fsspec.open(dest, mode="w", **storage_options) as f:
|
135
|
-
f.write(next(self.read_text(fhandler)))
|
136
|
-
return dest
|
137
|
-
|
138
|
-
def get_metadata(self, fhandler):
|
139
|
-
with PY4JGateway() as gateway:
|
140
|
-
parser = gateway.jvm.parsers.TikaParser()
|
141
|
-
meta = gateway.jvm.org.apache.tika.metadata.Metadata()
|
142
|
-
with fhandler as f:
|
143
|
-
parser.readText(f.read(), meta)
|
144
|
-
return json.loads(parser.getMetadata(meta))
|
145
|
-
|
146
|
-
def detect_encoding(self, fhandler: OpenFile):
|
147
|
-
with PY4JGateway() as gateway:
|
148
|
-
with fhandler as f:
|
149
|
-
return gateway.jvm.parsers.TikaParser.detectEncoding(f.read())
|
150
|
-
|
151
|
-
|
152
|
-
class PDFPlumber(Base):
|
153
|
-
@runtime_dependency(
|
154
|
-
module="pdfplumber", err_msg="pdfplumber must be installed first."
|
155
|
-
)
|
156
|
-
def __init__(self):
|
157
|
-
super().__init__()
|
158
|
-
|
159
|
-
def read_line(self, fhandler):
|
160
|
-
import pdfplumber
|
161
|
-
|
162
|
-
with fhandler as f:
|
163
|
-
pdf = pdfplumber.PDF(f)
|
164
|
-
for page in pdf.pages:
|
165
|
-
reader = io.StringIO(page.extract_text())
|
166
|
-
for line in reader:
|
167
|
-
yield line
|
168
|
-
|
169
|
-
def read_text(self, fhandler):
|
170
|
-
import pdfplumber
|
171
|
-
|
172
|
-
with fhandler as f:
|
173
|
-
pdf = pdfplumber.PDF(f)
|
174
|
-
texts = (page.extract_text() for page in pdf.pages)
|
175
|
-
yield "\n".join([text for text in texts if text is not None])
|
176
|
-
|
177
|
-
def convert_to_text(
|
178
|
-
self,
|
179
|
-
fhandler,
|
180
|
-
dst_path,
|
181
|
-
fname=None,
|
182
|
-
storage_options=None,
|
183
|
-
):
|
184
|
-
import pdfplumber
|
185
|
-
|
186
|
-
dest = self._validate_dest(fhandler.path, dst_path, fname)
|
187
|
-
storage_options = {} if storage_options is None else storage_options
|
188
|
-
with fhandler as fin:
|
189
|
-
pdf = pdfplumber.PDF(fin)
|
190
|
-
with fsspec.open(dest, mode="w", **storage_options) as fout:
|
191
|
-
for page in pdf.pages:
|
192
|
-
text = page.extract_text()
|
193
|
-
if text is not None:
|
194
|
-
fout.write(text)
|
195
|
-
return dest
|
196
|
-
|
197
|
-
def get_metadata(self, fhandler):
|
198
|
-
import pdfplumber
|
199
|
-
|
200
|
-
with fhandler as f:
|
201
|
-
pdf = pdfplumber.PDF(f)
|
202
|
-
return pdf.metadata
|
203
|
-
|
204
|
-
|
205
|
-
@experimental
|
206
|
-
class OITCC(Base): # pragma: no cover
|
207
|
-
def convert_to_text(self, fhandler, output_path, fname=None, storage_options=None):
|
208
|
-
dest = self._validate_dest(fhandler.path, output_path, fname)
|
209
|
-
storage_options = {} if storage_options is None else storage_options
|
210
|
-
with fsspec.open(dest, mode="w", **storage_options) as f:
|
211
|
-
f.write(next(self.read_text(fhandler)))
|