pydelfini 1.10.0__tar.gz
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.
- pydelfini-1.10.0/.openapi-python-client/config.yaml +5 -0
- pydelfini-1.10.0/.openapi-python-client/templates/endpoint_init.py.jinja +1 -0
- pydelfini-1.10.0/.openapi-python-client/templates/endpoint_macros.py.jinja +190 -0
- pydelfini-1.10.0/.openapi-python-client/templates/endpoint_module.py.jinja +163 -0
- pydelfini-1.10.0/.openapi-python-client/templates/model.py.jinja +200 -0
- pydelfini-1.10.0/.openapi-python-client/templates/types.py.jinja +48 -0
- pydelfini-1.10.0/PKG-INFO +73 -0
- pydelfini-1.10.0/README.md +33 -0
- pydelfini-1.10.0/autogenerate.sh +109 -0
- pydelfini-1.10.0/docs/.gitignore +2 -0
- pydelfini-1.10.0/docs/Makefile +20 -0
- pydelfini-1.10.0/docs/README.md +7 -0
- pydelfini-1.10.0/docs/make.bat +35 -0
- pydelfini-1.10.0/docs/source/_static/custom.css +24 -0
- pydelfini-1.10.0/docs/source/_templates/custom-class-template.rst +20 -0
- pydelfini-1.10.0/docs/source/_templates/custom-module-template.rst +63 -0
- pydelfini-1.10.0/docs/source/conf.py +45 -0
- pydelfini-1.10.0/docs/source/dcmd_cli.rst +168 -0
- pydelfini-1.10.0/docs/source/delfini_core.rst +196 -0
- pydelfini-1.10.0/docs/source/index.rst +102 -0
- pydelfini-1.10.0/docs/source/pydelfini_api.rst +233 -0
- pydelfini-1.10.0/examples/delfini-example-1.ipynb +852 -0
- pydelfini-1.10.0/examples/delfini-example-2.ipynb +1028 -0
- pydelfini-1.10.0/examples/example.py +37 -0
- pydelfini-1.10.0/pydelfini/__init__.py +3 -0
- pydelfini-1.10.0/pydelfini/client.py +132 -0
- pydelfini-1.10.0/pydelfini/collections.py +660 -0
- pydelfini-1.10.0/pydelfini/dcmd/__init__.py +0 -0
- pydelfini-1.10.0/pydelfini/dcmd/__main__.py +3 -0
- pydelfini-1.10.0/pydelfini/dcmd/cli.py +118 -0
- pydelfini-1.10.0/pydelfini/dcmd/commands/__init__.py +22 -0
- pydelfini-1.10.0/pydelfini/dcmd/commands/accounts.py +74 -0
- pydelfini-1.10.0/pydelfini/dcmd/commands/admin.py +76 -0
- pydelfini-1.10.0/pydelfini/dcmd/commands/auth.py +40 -0
- pydelfini-1.10.0/pydelfini/dcmd/commands/base_commands.py +94 -0
- pydelfini-1.10.0/pydelfini/dcmd/commands/cde.py +81 -0
- pydelfini-1.10.0/pydelfini/dcmd/commands/collection.py +70 -0
- pydelfini-1.10.0/pydelfini/dcmd/commands/config.py +100 -0
- pydelfini-1.10.0/pydelfini/dcmd/commands/groups.py +86 -0
- pydelfini-1.10.0/pydelfini/dcmd/commands/pdd.py +110 -0
- pydelfini-1.10.0/pydelfini/dcmd/commands/tasks.py +51 -0
- pydelfini-1.10.0/pydelfini/dcmd/commands/users.py +47 -0
- pydelfini-1.10.0/pydelfini/delfini_core/.ignore +2 -0
- pydelfini-1.10.0/pydelfini/delfini_core/.opcignore +4 -0
- pydelfini-1.10.0/pydelfini/delfini_core/__init__.py +12 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/__init__.py +1 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/account/__init__.py +1 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/account/account_create_account.py +185 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/account/account_delete_account.py +180 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/account/account_get_account.py +169 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/account/account_get_account_page.py +188 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/account/account_list_accounts.py +255 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/account/account_update_account.py +203 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/account/account_update_account_pages.py +203 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/admin/__init__.py +1 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/admin/admin_get_config.py +159 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/admin/admin_grant_admin.py +202 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/admin/admin_list_admins.py +159 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/admin/admin_put_config.py +200 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/admin/admin_tasks_results.py +196 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/admin/admin_tasks_schedules.py +147 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/admin/admin_tasks_stats.py +147 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/auth/__init__.py +1 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/auth/auth_activate_session.py +200 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/auth/auth_authenticate_user.py +177 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/auth/auth_get_csrf.py +139 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/auth/auth_get_session.py +143 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/auth/auth_new_session.py +155 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/auth/auth_provider_authorized.py +165 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/auth/auth_provider_login.py +165 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/auth/auth_provider_signin_provider.py +170 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/auth/auth_providers_req.py +139 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/auth/auth_signin.py +138 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/auth/auth_signout.py +139 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/cde/__init__.py +1 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/cde/cdes_delete_cdeset.py +180 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/cde/cdes_get_data_element_latest.py +191 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/cde/cdes_get_data_element_version.py +213 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/cde/cdes_get_ordered_cdeset.py +170 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/cde/cdes_list_cdesets.py +147 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/cde/cdes_list_data_elements.py +171 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/cde/cdes_new_cdeset.py +192 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/collections/__init__.py +1 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/collections/collections_create_collection.py +197 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/collections/collections_create_collection_version.py +244 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/collections/collections_delete_collection_version.py +218 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/collections/collections_get_cde_stats.py +224 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/collections/collections_get_collection_authorization.py +217 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/collections/collections_get_collection_version.py +195 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/collections/collections_get_collections.py +453 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/collections/collections_get_stats.py +187 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/collections/collections_move_collection_datastore.py +209 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/collections/collections_trace_query_data_elements.py +210 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/collections/collections_update_collection_authorization.py +209 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/collections/collections_update_collection_meta.py +211 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/collections/collections_update_collection_metapatch.py +227 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/data_dictionaries/__init__.py +1 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/data_dictionaries/collections_dictionaries_copy_to_cdeset.py +241 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/data_dictionaries/collections_dictionaries_create_a_new_data_element.py +244 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/data_dictionaries/collections_dictionaries_create_a_new_data_element_ref.py +244 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/data_dictionaries/collections_dictionaries_create_new_data_element_ref_version.py +258 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/data_dictionaries/collections_dictionaries_create_new_data_element_version.py +258 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/data_dictionaries/collections_dictionaries_delete_bundle.py +230 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/data_dictionaries/collections_dictionaries_delete_data_element.py +226 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/data_dictionaries/collections_dictionaries_get_bundle.py +231 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/data_dictionaries/collections_dictionaries_get_data_element_latest.py +227 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/data_dictionaries/collections_dictionaries_get_data_element_ref_latest.py +228 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/data_dictionaries/collections_dictionaries_get_data_element_ref_version.py +242 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/data_dictionaries/collections_dictionaries_get_data_element_version.py +241 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/data_dictionaries/collections_dictionaries_get_order.py +213 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/data_dictionaries/collections_dictionaries_get_ordered_dictionary.py +214 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/data_dictionaries/collections_dictionaries_list_bundles.py +221 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/data_dictionaries/collections_dictionaries_list_data_element_refs.py +227 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/data_dictionaries/collections_dictionaries_list_data_elements.py +221 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/data_dictionaries/collections_dictionaries_list_dictionaries.py +203 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/data_dictionaries/collections_dictionaries_new_bundle.py +240 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/data_dictionaries/collections_dictionaries_set_order.py +235 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/data_dictionaries/collections_dictionaries_update_bundle.py +254 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/federation/__init__.py +1 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/federation/collections_get_collection_apc_inbox.py +187 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/federation/collections_get_collection_apc_members.py +217 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/federation/collections_get_collection_apc_members_pending.py +187 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/federation/collections_get_collection_apc_outbox.py +187 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/federation/collections_process_inbox_message.py +262 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/general/__init__.py +1 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/general/parsers_get_parsers.py +151 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/general/parsers_resolve_prql_modules.py +189 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/general/root_get_datastores.py +151 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/general/root_resolve_data_element_ref.py +223 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/general/root_upload_part.py +247 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/group/__init__.py +1 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/group/group_create_group.py +177 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/group/group_delete_group.py +180 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/group/group_get_group.py +173 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/group/group_get_group_member.py +191 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/group/group_get_group_members.py +204 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/group/group_get_groups.py +280 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/group/group_remove_group_member.py +190 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/group/group_set_group_member.py +203 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/group/group_update_group.py +203 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/items/__init__.py +1 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/items/collections_items_complete_multipart_upload.py +245 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/items/collections_items_copy_item.py +338 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/items/collections_items_create_item.py +443 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/items/collections_items_delete_item.py +216 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/items/collections_items_get_item.py +225 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/items/collections_items_get_item_data.py +258 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/items/collections_items_get_item_status.py +213 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/items/collections_items_get_parser_hints.py +248 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/items/collections_items_initiate_multipart_upload.py +266 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/items/collections_items_list_items.py +370 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/items/collections_items_put_item.py +284 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/items/collections_items_put_item_data.py +259 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/metadata/__init__.py +1 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/metadata/metadata_get_field_groups.py +139 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/metadata/metadata_get_field_groups_by_resource.py +168 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/metadata/metadata_get_fields.py +139 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/metadata/metadata_get_tags.py +145 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/metadata/metadata_set_field_groups.py +184 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/metadata/metadata_set_fields.py +184 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/metadata/metadata_set_tags.py +184 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/metrics/__init__.py +1 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/metrics/metrics_delete_history_metric.py +172 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/metrics/metrics_export_event_data.py +275 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/metrics/metrics_get_history_metric.py +190 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/metrics/metrics_get_history_metric_data.py +213 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/metrics/metrics_list_events.py +147 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/metrics/metrics_list_history_metrics.py +147 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/metrics/metrics_new_history_metric.py +180 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/metrics/metrics_query_event_data.py +297 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/metrics/metrics_update_history_metric.py +195 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/organizational/__init__.py +1 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/organizational/projects_create_project.py +189 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/organizational/projects_delete_project.py +192 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/organizational/projects_get_project.py +185 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/organizational/projects_get_projects.py +196 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/organizational/projects_update_project.py +211 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/search/__init__.py +1 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/search/search_get_collection_terms.py +141 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/search/search_get_dictionary_search_options.py +143 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/search/search_search_collections.py +181 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/search/search_search_dictionaries.py +181 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/search/search_search_dictionaries_by_item.py +226 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/search/search_search_dictionaries_by_item_inverse.py +237 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/tables/__init__.py +1 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/tables/collections_tables_get_formatted_table_data.py +228 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/tables/collections_tables_get_table_data.py +244 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/tables/collections_tables_get_table_data_elements.py +217 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/tables/collections_tables_get_table_info.py +221 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/tables/collections_tables_list_tables.py +209 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/tables/collections_tables_preview_table_data.py +238 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/user/__init__.py +1 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/user/user_create_user.py +181 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/user/user_delete_user.py +184 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/user/user_get_outbox_activity.py +187 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/user/user_get_user.py +185 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/user/user_get_user_admin.py +177 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/user/user_get_user_apc_inbox.py +173 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/user/user_get_user_apc_liked.py +173 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/user/user_get_user_apc_outbox.py +173 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/user/user_get_users.py +235 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/user/user_receive_in_user_inbox.py +224 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/user/user_send_to_user_outbox.py +224 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/user/user_update_user.py +207 -0
- pydelfini-1.10.0/pydelfini/delfini_core/api/user/user_update_user_admin.py +200 -0
- pydelfini-1.10.0/pydelfini/delfini_core/client.py +279 -0
- pydelfini-1.10.0/pydelfini/delfini_core/errors.py +14 -0
- pydelfini-1.10.0/pydelfini/delfini_core/login.py +218 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/__init__.py +746 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/account.py +104 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/account_create_account_body.py +75 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/account_create_account_body_metadata.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/account_list.py +65 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/account_list_accounts_visibility_level.py +9 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/account_metadata.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/account_update_account_body.py +81 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/account_update_account_body_metadata.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/admin_grant_admin_admin_list_request.py +56 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/admin_grants.py +64 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/admin_list.py +79 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/auth_activate_session_body.py +45 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/auth_authenticate_user_authentication_request.py +86 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/auth_authenticate_user_response_200.py +45 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/auth_get_csrf_response_200.py +45 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/auth_get_session_response_200.py +56 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/auth_provider_authorized_provider.py +9 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/auth_provider_login_provider.py +9 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/auth_provider_signin_provider_provider.py +9 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/auth_provider_signin_provider_response_200.py +45 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/auth_providers_req_response_200.py +63 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/auth_signout_no_data.py +30 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/authorized_actions_item.py +13 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/bundle.py +74 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/bundle_definition.py +75 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/cache_file.py +100 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/cache_file_type.py +8 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/cache_mem.py +84 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/cache_mem_type.py +8 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/cdes_list_data_elements_response_200.py +65 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/cdes_new_cdeset_body.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/cdeset.py +59 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/cdeset_list.py +56 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection.py +126 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection_access_level.py +11 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection_authorization.py +99 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection_authorization_change.py +97 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection_authorization_grant.py +80 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection_authorization_inherited.py +63 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection_authorization_permit.py +63 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection_authorization_remove_identity.py +56 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection_authorization_remove_identity_action.py +8 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection_authorization_set_identity.py +100 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection_authorization_set_identity_action.py +8 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection_authorization_update_access_level.py +68 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection_authorization_update_access_level_action.py +8 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection_cde_stats.py +77 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection_cde_stats_item_distrib_item.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection_cde_stats_per_cde.py +55 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection_metadata.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection_move_datastore.py +45 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection_role.py +11 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection_stats.py +63 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection_stats_item_stats.py +69 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection_stats_item_stats_additional_property.py +86 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collection_stats_item_stats_additional_property_num_failed.py +54 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_dictionaries_copy_to_cdeset_body.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_dictionaries_list_bundles_response_200.py +65 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_dictionaries_list_data_element_refs_response_200.py +65 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_dictionaries_list_data_elements_response_200.py +65 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_dictionaries_list_dictionaries_response_200.py +65 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_get_collection_apc_members_filter.py +9 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_get_collection_authorization_filter.py +9 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_get_collections_collection_list.py +65 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_get_collections_sort.py +10 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_get_collections_sort_dir.py +9 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_get_collections_version.py +10 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_items_complete_multipart_upload_body.py +126 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_items_complete_multipart_upload_body_action.py +9 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_items_complete_multipart_upload_body_checksum.py +54 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_items_complete_multipart_upload_body_parts_item.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_items_copy_item_body.py +65 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_items_create_item_files_form_style_upload.py +273 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_items_create_item_files_form_style_upload_metadata.py +54 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_items_create_item_json_new_item_request.py +237 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_items_create_item_json_new_item_request_content_type_1.py +8 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_items_get_item_data_dl.py +9 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_items_initiate_multipart_upload_body.py +65 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_items_list_items_response_200.py +65 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_items_put_item_body.py +200 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_items_put_item_body_content.py +75 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_items_put_item_body_content_checksum.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_tables_get_formatted_table_data_export_format.py +11 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_tables_get_table_data_elements_response_200.py +65 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_tables_get_table_data_elements_response_200_element_map.py +65 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_tables_get_table_data_elements_response_200_error_map.py +63 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_tables_list_tables_response_200.py +81 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/collections_tables_preview_table_data_body.py +133 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/column_schema_type.py +20 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_dictionary.py +75 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_dictionary_source_item.py +12 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_element.py +265 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_element_bundle.py +84 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_element_concept.py +68 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_element_concept_applies_to.py +11 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_element_data_type.py +10 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_element_definition.py +75 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_element_definition_definition_type.py +16 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_element_permissible_values_date_time_format.py +54 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_element_permissible_values_date_time_format_date_time_format.py +100 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_element_permissible_values_date_time_format_date_time_format_format_type_0.py +54 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_element_permissible_values_date_time_format_date_time_format_format_type_0_isoformat.py +13 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_element_permissible_values_date_time_format_date_time_format_format_type_1.py +49 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_element_permissible_values_external_reference.py +54 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_element_permissible_values_external_reference_external_reference.py +64 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_element_permissible_values_number_range.py +51 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_element_permissible_values_number_range_number_range.py +71 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_element_permissible_values_text_range.py +51 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_element_permissible_values_text_range_text_range.py +71 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_element_permissible_values_value_set.py +61 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_element_permissible_values_value_set_value_set_item.py +95 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/data_element_reference.py +66 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/datastore.py +82 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/datastore_type.py +10 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/dictionary_search_options.py +65 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/dictionary_search_options_options.py +71 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/dictionary_search_options_options_additional_property.py +60 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/dictionary_search_options_options_additional_property_type.py +11 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/error.py +64 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/event_metric.py +119 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/event_metric_dimensions.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/event_metric_type.py +8 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/federation_activity.py +354 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/federation_address_or_object_type_2.py +101 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/federation_collection.py +108 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/federation_collection_page.py +184 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/federation_collection_page_type.py +9 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/federation_collection_type.py +8 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/federation_user.py +124 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/federation_user_type.py +8 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/group.py +92 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/group_create_group_body.py +89 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/group_create_group_body_metadata.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/group_get_groups_response_200.py +75 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/group_get_groups_response_200_self_roles.py +63 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/group_get_groups_visibility_level.py +9 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/group_member.py +65 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/group_members.py +84 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/group_members_users.py +61 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/group_metadata.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/group_role.py +11 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/group_update_group_body.py +79 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/group_update_group_body_metadata.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/identity.py +71 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/item.py +246 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/item_column.py +105 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/item_content.py +73 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/item_content_checksum.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/item_metadata.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/item_parser.py +89 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/item_parser_options.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/item_sensitivity_labels.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/item_status.py +63 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/item_status_detail.py +74 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/item_status_details.py +85 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/item_status_value.py +13 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/item_storage.py +86 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/item_storage_checksum.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/item_type.py +12 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metadata_field.py +73 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metadata_field_group.py +106 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metadata_field_group_resource.py +12 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metadata_field_groups.py +93 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metadata_field_groups_data_elements.py +65 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metadata_fields.py +76 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metadata_fields_data_elements.py +63 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metadata_get_field_groups_by_resource_resource_type.py +12 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metadata_metric.py +72 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metadata_metric_type.py +8 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metadata_set_field_groups_body.py +56 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metadata_tags.py +47 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metric_agg_func.py +11 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metric_data.py +56 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metric_event.py +69 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metric_event_list.py +56 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metric_list.py +81 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metric_log.py +56 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metric_log_entry.py +76 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metric_log_entry_dimensions.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metric_timepoint.py +79 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metric_timepoint_partitions.py +67 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metrics_export_event_data_format.py +9 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/metrics_query_event_data_period.py +13 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/multipart_upload_details.py +71 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/multipart_upload_details_target_urls.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/new_collection.py +96 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/new_collection_metadata.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/new_collection_version.py +88 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/new_collection_version_metadata.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/new_data_element.py +244 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/new_data_element_data_type.py +10 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/new_data_element_ref.py +45 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/new_project.py +79 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/new_project_metadata.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/new_user.py +73 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/oauth_provider.py +85 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/operations.py +16 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/ordered_dictionary.py +90 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/pagination.py +67 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/parser.py +83 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/parser_option.py +87 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/parser_option_type.py +11 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/parser_options.py +63 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/parsers_get_parsers_response_200.py +56 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/parsers_resolve_prql_modules_response_200.py +56 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/preferred_order.py +47 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/project.py +94 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/project_metadata.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/projects_get_projects_project_list.py +64 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/prql_module.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/query_data_element_request.py +57 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/query_data_elements.py +72 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/query_data_elements_element_map.py +63 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/query_data_elements_error_map.py +61 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/query_data_elements_frames_item.py +92 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/root_get_datastores_response_200.py +56 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/search_collections_response.py +75 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/search_collections_response_hits_item.py +68 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/search_collections_response_hits_item_items_item.py +75 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/search_dictionaries_by_item_column_hits.py +78 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/search_dictionaries_by_item_column_hits_search_dictionaries_hit.py +65 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/search_dictionaries_by_item_inverse_response.py +56 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/search_dictionaries_by_item_response.py +69 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/search_dictionaries_inverse_result.py +68 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/search_dictionaries_inverse_result_queries_item.py +71 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/search_dictionaries_response.py +65 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/search_get_collection_terms_response_200.py +47 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/search_get_dictionary_search_options_response_200.py +56 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/search_search_collections_body.py +67 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/search_search_collections_body_facets.py +63 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/search_search_dictionaries_body.py +63 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/search_search_dictionaries_body_options.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/search_search_dictionaries_by_item_body.py +88 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/search_search_dictionaries_by_item_body_method.py +8 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/search_search_dictionaries_by_item_inverse_body.py +88 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/search_search_dictionaries_by_item_inverse_body_method.py +8 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/server_error.py +76 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/session_token.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/session_user.py +110 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/session_user_metadata.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration.py +91 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_authentication.py +154 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_authentication_credentials.py +94 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_authentication_credentials_type.py +8 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_authentication_github.py +103 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_authentication_github_type.py +8 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_authentication_google.py +103 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_authentication_google_type.py +8 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_authentication_oauth.py +146 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_authentication_oauth_type.py +8 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_cache.py +86 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_cache_cache_type.py +8 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_datastores.py +131 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_datastores_local.py +102 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_datastores_local_type.py +8 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_datastores_plugin.py +158 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_datastores_plugin_options.py +71 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_datastores_plugin_type.py +8 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_datastores_s3.py +172 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_datastores_s3_type.py +8 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_plugins.py +69 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_plugins_additional_property.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_sessions.py +76 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_workers.py +103 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/system_configuration_workers_backend_type.py +9 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/table.py +90 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/table_data.py +90 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/table_data_data_item.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/table_data_data_model.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/table_data_model.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/task_def.py +179 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/task_def_data_type_4.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/task_def_retry_item.py +124 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/task_result.py +180 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/task_result_data_type_4.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/task_result_errors_item.py +85 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/task_result_status.py +16 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/task_schedule_def.py +130 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/task_schedule_def_frequency.py +11 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/tasks_results.py +56 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/tasks_schedules.py +56 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/tasks_schedules_schedules_item.py +56 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/tasks_stats.py +59 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/termset.py +76 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/termset_additional_property_item.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/update_account_pages.py +62 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/update_collection.py +95 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/update_collection_metadata.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/update_project.py +71 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/update_project_metadata.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/update_user.py +111 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/update_user_metadata.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/user.py +133 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/user_admin.py +72 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/user_admin_update.py +68 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/user_get_users_response_200.py +64 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/user_metadata.py +52 -0
- pydelfini-1.10.0/pydelfini/delfini_core/models/visibility_level.py +9 -0
- pydelfini-1.10.0/pydelfini/delfini_core/paginator.py +129 -0
- pydelfini-1.10.0/pydelfini/delfini_core/types.py +53 -0
- pydelfini-1.10.0/pydelfini/item_io.py +496 -0
- pydelfini-1.10.0/pydelfini.egg-info/PKG-INFO +73 -0
- pydelfini-1.10.0/pydelfini.egg-info/SOURCES.txt +524 -0
- pydelfini-1.10.0/pydelfini.egg-info/dependency_links.txt +1 -0
- pydelfini-1.10.0/pydelfini.egg-info/entry_points.txt +2 -0
- pydelfini-1.10.0/pydelfini.egg-info/requires.txt +31 -0
- pydelfini-1.10.0/pydelfini.egg-info/top_level.txt +1 -0
- pydelfini-1.10.0/pyproject.toml +94 -0
- pydelfini-1.10.0/setup.cfg +4 -0
- pydelfini-1.10.0/tests/client_test.py +31 -0
- pydelfini-1.10.0/tests/collections_test.py +337 -0
- pydelfini-1.10.0/tests/conftest.py +9 -0
- pydelfini-1.10.0/tests/dcmd/__snapshots__/integration_test.ambr +108 -0
- pydelfini-1.10.0/tests/dcmd/common_pdd.json +78 -0
- pydelfini-1.10.0/tests/dcmd/integration_test.py +431 -0
- pydelfini-1.10.0/tests/delfini_core/login_test.py +85 -0
- pydelfini-1.10.0/tests/delfini_core/paginator_test.py +63 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""{{ endpoint_collection.tag | capitalize }} operations"""
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
{% from "property_templates/helpers.jinja" import guarded_statement %}
|
|
2
|
+
{% from "helpers.jinja" import safe_docstring %}
|
|
3
|
+
|
|
4
|
+
{% macro header_params(endpoint) %}
|
|
5
|
+
{% if endpoint.header_parameters or endpoint.bodies | length > 0 %}
|
|
6
|
+
headers: Dict[str, Any] = {}
|
|
7
|
+
{% if endpoint.header_parameters %}
|
|
8
|
+
{% for parameter in endpoint.header_parameters.values() %}
|
|
9
|
+
{% import "property_templates/" + parameter.template as param_template %}
|
|
10
|
+
{% if param_template.transform_header %}
|
|
11
|
+
{% set expression = param_template.transform_header(parameter.python_name) %}
|
|
12
|
+
{% else %}
|
|
13
|
+
{% set expression = parameter.python_name %}
|
|
14
|
+
{% endif %}
|
|
15
|
+
{% set statement = 'headers["' + parameter.name + '"]' + " = " + expression %}
|
|
16
|
+
{{ guarded_statement(parameter, parameter.python_name, statement) }}
|
|
17
|
+
{% endfor %}
|
|
18
|
+
{% endif %}
|
|
19
|
+
{% endif %}
|
|
20
|
+
{% endmacro %}
|
|
21
|
+
|
|
22
|
+
{% macro cookie_params(endpoint) %}
|
|
23
|
+
{% if endpoint.cookie_parameters %}
|
|
24
|
+
cookies = {}
|
|
25
|
+
{% for parameter in endpoint.cookie_parameters.values() %}
|
|
26
|
+
{% if parameter.required %}
|
|
27
|
+
cookies["{{ parameter.name}}"] = {{ parameter.python_name }}
|
|
28
|
+
{% else %}
|
|
29
|
+
if {{ parameter.python_name }} is not UNSET:
|
|
30
|
+
cookies["{{ parameter.name}}"] = {{ parameter.python_name }}
|
|
31
|
+
{% endif %}
|
|
32
|
+
|
|
33
|
+
{% endfor %}
|
|
34
|
+
{% endif %}
|
|
35
|
+
{% endmacro %}
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
{% macro query_params(endpoint) %}
|
|
39
|
+
{% if endpoint.query_parameters %}
|
|
40
|
+
params: Dict[str, Any] = {}
|
|
41
|
+
|
|
42
|
+
{% for property in endpoint.query_parameters.values() %}
|
|
43
|
+
{% set destination = property.python_name %}
|
|
44
|
+
{% import "property_templates/" + property.template as prop_template %}
|
|
45
|
+
{% if prop_template.transform %}
|
|
46
|
+
{% set destination = "json_" + property.python_name %}
|
|
47
|
+
{{ prop_template.transform(property, property.python_name, destination) }}
|
|
48
|
+
{% endif %}
|
|
49
|
+
{%- if not property.json_is_dict %}
|
|
50
|
+
params["{{ property.name }}"] = {{ destination }}
|
|
51
|
+
{% else %}
|
|
52
|
+
{{ guarded_statement(property, destination, "params.update(" + destination + ")") }}
|
|
53
|
+
{% endif %}
|
|
54
|
+
|
|
55
|
+
{% endfor %}
|
|
56
|
+
|
|
57
|
+
params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
|
|
58
|
+
{% endif %}
|
|
59
|
+
{% endmacro %}
|
|
60
|
+
|
|
61
|
+
{% macro body_to_kwarg(body, destination) %}
|
|
62
|
+
{% if body.body_type == "data" %}
|
|
63
|
+
{{ destination }} = body.to_dict()
|
|
64
|
+
{% elif body.body_type == "files"%}
|
|
65
|
+
{{ multipart_body(body, destination) }}
|
|
66
|
+
{% elif body.body_type == "json" %}
|
|
67
|
+
{{ json_body(body, destination) }}
|
|
68
|
+
{% elif body.body_type == "content" %}
|
|
69
|
+
{{ destination }} = body.payload
|
|
70
|
+
{% endif %}
|
|
71
|
+
{% endmacro %}
|
|
72
|
+
|
|
73
|
+
{% macro json_body(body, destination) %}
|
|
74
|
+
{% set property = body.prop %}
|
|
75
|
+
{% import "property_templates/" + property.template as prop_template %}
|
|
76
|
+
{% if prop_template.transform %}
|
|
77
|
+
{{ prop_template.transform(property, property.python_name, destination) }}
|
|
78
|
+
{% else %}
|
|
79
|
+
{{ destination }} = {{ property.python_name }}
|
|
80
|
+
{% endif %}
|
|
81
|
+
{% endmacro %}
|
|
82
|
+
|
|
83
|
+
{% macro multipart_body(body, destination) %}
|
|
84
|
+
{% set property = body.prop %}
|
|
85
|
+
{% import "property_templates/" + property.template as prop_template %}
|
|
86
|
+
{% if prop_template.transform_multipart %}
|
|
87
|
+
{{ prop_template.transform_multipart(property, property.python_name, destination) }}
|
|
88
|
+
{% endif %}
|
|
89
|
+
{% endmacro %}
|
|
90
|
+
|
|
91
|
+
{# The all the kwargs passed into an endpoint (and variants thereof)) #}
|
|
92
|
+
{% macro arguments(endpoint, include_client=True) %}
|
|
93
|
+
{# path parameters #}
|
|
94
|
+
{% for parameter in endpoint.path_parameters.values() %}
|
|
95
|
+
{{ parameter.to_string() }},
|
|
96
|
+
{% endfor %}
|
|
97
|
+
{% if include_client or ((endpoint.list_all_parameters() | length) > (endpoint.path_parameters | length)) %}
|
|
98
|
+
*,
|
|
99
|
+
{% endif %}
|
|
100
|
+
{# Proper client based on whether or not the endpoint requires authentication #}
|
|
101
|
+
{% if include_client %}
|
|
102
|
+
{% if endpoint.requires_security %}
|
|
103
|
+
client: AuthenticatedClient,
|
|
104
|
+
{% else %}
|
|
105
|
+
client: Union[AuthenticatedClient, Client],
|
|
106
|
+
{% endif %}
|
|
107
|
+
{% endif %}
|
|
108
|
+
{# Any allowed bodies #}
|
|
109
|
+
{% if endpoint.bodies | length == 1 %}
|
|
110
|
+
body: {{ endpoint.bodies[0].prop.get_type_string() }},
|
|
111
|
+
{% elif endpoint.bodies | length > 1 %}
|
|
112
|
+
body: Union[
|
|
113
|
+
{% for body in endpoint.bodies %}
|
|
114
|
+
{{ body.prop.get_type_string() }},
|
|
115
|
+
{% endfor %}
|
|
116
|
+
],
|
|
117
|
+
{% endif %}
|
|
118
|
+
{# query parameters #}
|
|
119
|
+
{% for parameter in endpoint.query_parameters.values() %}
|
|
120
|
+
{{ parameter.to_string() }},
|
|
121
|
+
{% endfor %}
|
|
122
|
+
{% for parameter in endpoint.header_parameters.values() %}
|
|
123
|
+
{{ parameter.to_string() }},
|
|
124
|
+
{% endfor %}
|
|
125
|
+
{# cookie parameters #}
|
|
126
|
+
{% for parameter in endpoint.cookie_parameters.values() %}
|
|
127
|
+
{{ parameter.to_string() }},
|
|
128
|
+
{% endfor %}
|
|
129
|
+
{% endmacro %}
|
|
130
|
+
|
|
131
|
+
{# Just lists all kwargs to endpoints as name=name for passing to other functions #}
|
|
132
|
+
{% macro kwargs(endpoint, include_client=True) %}
|
|
133
|
+
{% for parameter in endpoint.path_parameters.values() %}
|
|
134
|
+
{{ parameter.python_name }}={{ parameter.python_name }},
|
|
135
|
+
{% endfor %}
|
|
136
|
+
{% if include_client %}
|
|
137
|
+
client=client,
|
|
138
|
+
{% endif %}
|
|
139
|
+
{% if endpoint.bodies | length > 0 %}
|
|
140
|
+
body=body,
|
|
141
|
+
{% endif %}
|
|
142
|
+
{% for parameter in endpoint.query_parameters.values() %}
|
|
143
|
+
{{ parameter.python_name }}={{ parameter.python_name }},
|
|
144
|
+
{% endfor %}
|
|
145
|
+
{% for parameter in endpoint.header_parameters.values() %}
|
|
146
|
+
{{ parameter.python_name }}={{ parameter.python_name }},
|
|
147
|
+
{% endfor %}
|
|
148
|
+
{% for parameter in endpoint.cookie_parameters.values() %}
|
|
149
|
+
{{ parameter.python_name }}={{ parameter.python_name }},
|
|
150
|
+
{% endfor %}
|
|
151
|
+
{% endmacro %}
|
|
152
|
+
|
|
153
|
+
{% macro docstring_content(endpoint, return_string, is_detailed) %}
|
|
154
|
+
{% if endpoint.summary %}{{ endpoint.summary | wordwrap(100)}}
|
|
155
|
+
|
|
156
|
+
{% endif -%}
|
|
157
|
+
{%- if endpoint.description %}{{ endpoint.description | wordwrap(100) }}
|
|
158
|
+
|
|
159
|
+
{% endif %}
|
|
160
|
+
{% if not endpoint.summary and not endpoint.description %}
|
|
161
|
+
{# Leave extra space so that Args or Returns isn't at the top #}
|
|
162
|
+
|
|
163
|
+
{% endif %}
|
|
164
|
+
{% set all_parameters = endpoint.list_all_parameters() %}
|
|
165
|
+
{% if all_parameters %}
|
|
166
|
+
Args:
|
|
167
|
+
{% for parameter in all_parameters %}
|
|
168
|
+
{{ parameter.to_docstring() | wordwrap(90) | indent(8) }}
|
|
169
|
+
{% endfor %}
|
|
170
|
+
|
|
171
|
+
{% endif %}
|
|
172
|
+
Raises:
|
|
173
|
+
{% if is_detailed %}
|
|
174
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
175
|
+
{% else %}
|
|
176
|
+
errors.UnexpectedStatus: If the server returns a status code greater than or equal to 300.
|
|
177
|
+
{% endif %}
|
|
178
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
179
|
+
|
|
180
|
+
Returns:
|
|
181
|
+
{% if is_detailed %}
|
|
182
|
+
Response[{{ return_string }}]
|
|
183
|
+
{% else %}
|
|
184
|
+
{{ return_string }}
|
|
185
|
+
{% endif %}
|
|
186
|
+
{% endmacro %}
|
|
187
|
+
|
|
188
|
+
{% macro docstring(endpoint, return_string, is_detailed) %}
|
|
189
|
+
{{ safe_docstring(docstring_content(endpoint, return_string, is_detailed)) }}
|
|
190
|
+
{% endmacro %}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"""{{ endpoint.summary }}"""
|
|
2
|
+
from http import HTTPStatus
|
|
3
|
+
from typing import Any, Dict, List, Optional, Union, cast
|
|
4
|
+
|
|
5
|
+
import httpx
|
|
6
|
+
|
|
7
|
+
from ...client import AuthenticatedClient, Client
|
|
8
|
+
from ...types import Response, UNSET
|
|
9
|
+
from ... import errors
|
|
10
|
+
|
|
11
|
+
{% for relative in endpoint.relative_imports %}
|
|
12
|
+
{{ relative }}
|
|
13
|
+
{% endfor %}
|
|
14
|
+
|
|
15
|
+
{% from "endpoint_macros.py.jinja" import header_params, cookie_params, query_params,
|
|
16
|
+
arguments, client, kwargs, parse_response, docstring, body_to_kwarg %}
|
|
17
|
+
|
|
18
|
+
{% set return_string = endpoint.response_type() %}
|
|
19
|
+
{% set parsed_responses = (endpoint.responses | length > 0) and return_string != "Any" %}
|
|
20
|
+
|
|
21
|
+
def _get_kwargs(
|
|
22
|
+
{{ arguments(endpoint, include_client=False) | indent(4) }}
|
|
23
|
+
) -> Dict[str, Any]:
|
|
24
|
+
{{ header_params(endpoint) | indent(4) }}
|
|
25
|
+
|
|
26
|
+
{{ cookie_params(endpoint) | indent(4) }}
|
|
27
|
+
|
|
28
|
+
{{ query_params(endpoint) | indent(4) }}
|
|
29
|
+
|
|
30
|
+
_kwargs: Dict[str, Any] = {
|
|
31
|
+
"method": "{{ endpoint.method }}",
|
|
32
|
+
{% if endpoint.path_parameters %}
|
|
33
|
+
"url": "{{ endpoint.path }}".format(
|
|
34
|
+
{%- for parameter in endpoint.path_parameters.values() -%}
|
|
35
|
+
{{parameter.name}}={{parameter.python_name}},
|
|
36
|
+
{%- endfor -%}
|
|
37
|
+
),
|
|
38
|
+
{% else %}
|
|
39
|
+
"url": "{{ endpoint.path }}",
|
|
40
|
+
{% endif %}
|
|
41
|
+
{% if endpoint.query_parameters %}
|
|
42
|
+
"params": params,
|
|
43
|
+
{% endif %}
|
|
44
|
+
{% if endpoint.cookie_parameters %}
|
|
45
|
+
"cookies": cookies,
|
|
46
|
+
{% endif %}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
{% if endpoint.bodies | length > 1 %}
|
|
50
|
+
{% for body in endpoint.bodies %}
|
|
51
|
+
if isinstance(body, {{body.prop.get_type_string() }}):
|
|
52
|
+
{% set destination = "_" + body.body_type + "_body" %}
|
|
53
|
+
{{ body_to_kwarg(body, destination) | indent(8) }}
|
|
54
|
+
_kwargs["{{ body.body_type.value }}"] = {{ destination }}
|
|
55
|
+
{% if body.content_type != "multipart/form-data" %}
|
|
56
|
+
headers["Content-Type"] = "{{ body.content_type }}"
|
|
57
|
+
{% endif %}
|
|
58
|
+
{% endfor %}
|
|
59
|
+
{% elif endpoint.bodies | length == 1 %}
|
|
60
|
+
{% set body = endpoint.bodies[0] %}
|
|
61
|
+
{{ body_to_kwarg(body, "_body") | indent(4) }}
|
|
62
|
+
_kwargs["{{ body.body_type.value }}"] = _body
|
|
63
|
+
{% if body.content_type != "multipart/form-data" %}{# Need httpx to set the boundary automatically #}
|
|
64
|
+
headers["Content-Type"] = "{{ body.content_type }}"
|
|
65
|
+
{% endif %}
|
|
66
|
+
{% endif %}
|
|
67
|
+
|
|
68
|
+
{% if endpoint.header_parameters or endpoint.bodies | length > 0 %}
|
|
69
|
+
_kwargs["headers"] = headers
|
|
70
|
+
{% endif %}
|
|
71
|
+
return _kwargs
|
|
72
|
+
|
|
73
|
+
def _parse_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> {{ return_string }}:
|
|
74
|
+
{% for response in endpoint.responses %}
|
|
75
|
+
if response.status_code == HTTPStatus.{{ response.status_code.name }}:
|
|
76
|
+
{% if parsed_responses %}{% import "property_templates/" + response.prop.template as prop_template %}
|
|
77
|
+
{% if prop_template.construct %}
|
|
78
|
+
{{ prop_template.construct(response.prop, response.source.attribute) | indent(8) }}
|
|
79
|
+
{% elif response.source.return_type == response.prop.get_type_string() %}
|
|
80
|
+
{{ response.prop.python_name }} = {{ response.source.attribute }}
|
|
81
|
+
{% else %}
|
|
82
|
+
{{ response.prop.python_name }} = cast({{ response.prop.get_type_string() }}, {{ response.source }})
|
|
83
|
+
{% endif %}
|
|
84
|
+
return {{ response.prop.python_name }}
|
|
85
|
+
{% else %}
|
|
86
|
+
return None
|
|
87
|
+
{% endif %}
|
|
88
|
+
{% endfor %}
|
|
89
|
+
|
|
90
|
+
raise errors.UnexpectedStatus(response.status_code, response.content)
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
def _build_response(*, client: Union[AuthenticatedClient, Client], response: httpx.Response) -> Response[{{ return_string }}]:
|
|
94
|
+
return Response(
|
|
95
|
+
status_code=HTTPStatus(response.status_code),
|
|
96
|
+
content=response.content,
|
|
97
|
+
headers=response.headers,
|
|
98
|
+
parsed=_parse_response(client=client, response=response),
|
|
99
|
+
)
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
def sync_detailed(
|
|
103
|
+
{{ arguments(endpoint) | indent(4) }}
|
|
104
|
+
) -> Response[{{ return_string }}]:
|
|
105
|
+
{{ docstring(endpoint, return_string, is_detailed=true) | indent(4) }}
|
|
106
|
+
|
|
107
|
+
kwargs = _get_kwargs(
|
|
108
|
+
{{ kwargs(endpoint, include_client=False) }}
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
response = client.get_httpx_client().request(
|
|
112
|
+
**kwargs,
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
return _build_response(client=client, response=response)
|
|
116
|
+
|
|
117
|
+
{% if parsed_responses %}
|
|
118
|
+
{% set return_without_error = return_string | replace(', ServerError', '') | replace('ServerError, ', '') %}
|
|
119
|
+
def sync(
|
|
120
|
+
{{ arguments(endpoint) | indent(4) }}
|
|
121
|
+
) -> {{ return_without_error }}:
|
|
122
|
+
{{ docstring(endpoint, return_without_error, is_detailed=false) | indent(4) }}
|
|
123
|
+
|
|
124
|
+
response = sync_detailed(
|
|
125
|
+
{{ kwargs(endpoint) }}
|
|
126
|
+
)
|
|
127
|
+
if isinstance(response.parsed, ServerError):
|
|
128
|
+
raise errors.UnexpectedStatus(response.status_code, response.content)
|
|
129
|
+
|
|
130
|
+
return response.parsed
|
|
131
|
+
|
|
132
|
+
{% endif %}
|
|
133
|
+
|
|
134
|
+
async def asyncio_detailed(
|
|
135
|
+
{{ arguments(endpoint) | indent(4) }}
|
|
136
|
+
) -> Response[{{ return_string }}]:
|
|
137
|
+
{{ docstring(endpoint, return_string, is_detailed=true) | indent(4) }}
|
|
138
|
+
|
|
139
|
+
kwargs = _get_kwargs(
|
|
140
|
+
{{ kwargs(endpoint, include_client=False) }}
|
|
141
|
+
)
|
|
142
|
+
|
|
143
|
+
response = await client.get_async_httpx_client().request(
|
|
144
|
+
**kwargs
|
|
145
|
+
)
|
|
146
|
+
|
|
147
|
+
return _build_response(client=client, response=response)
|
|
148
|
+
|
|
149
|
+
{% if parsed_responses %}
|
|
150
|
+
{% set return_without_error = return_string | replace(', ServerError', '') | replace('ServerError, ', '') %}
|
|
151
|
+
async def asyncio(
|
|
152
|
+
{{ arguments(endpoint) | indent(4) }}
|
|
153
|
+
) -> {{ return_without_error }}:
|
|
154
|
+
{{ docstring(endpoint, return_without_error, is_detailed=false) | indent(4) }}
|
|
155
|
+
|
|
156
|
+
response = await asyncio_detailed(
|
|
157
|
+
{{ kwargs(endpoint) }}
|
|
158
|
+
)
|
|
159
|
+
if isinstance(response.parsed, ServerError):
|
|
160
|
+
raise errors.UnexpectedStatus(response.status_code, response.content)
|
|
161
|
+
|
|
162
|
+
return response.parsed
|
|
163
|
+
{% endif %}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
from typing import Any, Dict, Type, TypeVar, Tuple, Optional, BinaryIO, TextIO, TYPE_CHECKING
|
|
2
|
+
|
|
3
|
+
{% if model.additional_properties %}
|
|
4
|
+
from typing import List
|
|
5
|
+
|
|
6
|
+
{% endif %}
|
|
7
|
+
|
|
8
|
+
from attrs import define as _attrs_define
|
|
9
|
+
from attrs import field as _attrs_field
|
|
10
|
+
{% if model.is_multipart_body %}
|
|
11
|
+
import json
|
|
12
|
+
{% endif %}
|
|
13
|
+
|
|
14
|
+
from ..types import UNSET, Unset
|
|
15
|
+
|
|
16
|
+
{% for relative in model.relative_imports %}
|
|
17
|
+
{{ relative }}
|
|
18
|
+
{% endfor %}
|
|
19
|
+
|
|
20
|
+
{% for lazy_import in model.lazy_imports | sort %}
|
|
21
|
+
{{ lazy_import }}
|
|
22
|
+
{% endfor %}
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
{% if model.additional_properties %}
|
|
26
|
+
{% set additional_property_type = 'Any' if model.additional_properties == True else model.additional_properties.get_type_string(quoted=not model.additional_properties.is_base_type) %}
|
|
27
|
+
{% endif %}
|
|
28
|
+
|
|
29
|
+
{% set class_name = model.class_info.name %}
|
|
30
|
+
{% set module_name = model.class_info.module_name %}
|
|
31
|
+
|
|
32
|
+
{% from "helpers.jinja" import safe_docstring %}
|
|
33
|
+
|
|
34
|
+
T = TypeVar("T", bound="{{ class_name }}")
|
|
35
|
+
|
|
36
|
+
{% macro class_docstring_content(model) %}
|
|
37
|
+
{% if model.title %}{{ model.title | wordwrap(116) }}
|
|
38
|
+
|
|
39
|
+
{% endif -%}
|
|
40
|
+
{%- if model.description %}{{ model.description | wordwrap(116) }}
|
|
41
|
+
|
|
42
|
+
{% endif %}
|
|
43
|
+
{% if not model.title and not model.description %}
|
|
44
|
+
{{ class_name }} model
|
|
45
|
+
|
|
46
|
+
{% endif %}
|
|
47
|
+
{% if model.example %}
|
|
48
|
+
Example:
|
|
49
|
+
|
|
50
|
+
>>> model = {{ class_name }}.from_dict({{ model.example | pprint | indent(' ... ') }})
|
|
51
|
+
|
|
52
|
+
{% endif %}
|
|
53
|
+
{% if model.required_properties or model.optional_properties %}
|
|
54
|
+
Attributes:
|
|
55
|
+
{% for property in model.required_properties + model.optional_properties %}
|
|
56
|
+
{{ property.to_docstring() | wordwrap(112) | indent(12) }}
|
|
57
|
+
{% endfor %}{% endif %}
|
|
58
|
+
{% endmacro %}
|
|
59
|
+
|
|
60
|
+
@_attrs_define
|
|
61
|
+
class {{ class_name }}:
|
|
62
|
+
{{ safe_docstring(class_docstring_content(model)) | indent(4) }}
|
|
63
|
+
|
|
64
|
+
{% for property in model.required_properties + model.optional_properties %}
|
|
65
|
+
{% if property.default is none and property.required %}
|
|
66
|
+
{{ property.to_string() }}
|
|
67
|
+
{% endif %}
|
|
68
|
+
{% endfor %}
|
|
69
|
+
{% for property in model.required_properties + model.optional_properties %}
|
|
70
|
+
{% if property.default is not none or not property.required %}
|
|
71
|
+
{{ property.to_string() }}
|
|
72
|
+
{% endif %}
|
|
73
|
+
{% endfor %}
|
|
74
|
+
{% if model.additional_properties %}
|
|
75
|
+
additional_properties: Dict[str, {{ additional_property_type }}] = _attrs_field(init=False, factory=dict)
|
|
76
|
+
{% endif %}
|
|
77
|
+
|
|
78
|
+
{% macro _to_dict(multipart=False) %}
|
|
79
|
+
{% for property in model.required_properties + model.optional_properties %}
|
|
80
|
+
{% import "property_templates/" + property.template as prop_template %}
|
|
81
|
+
{% if prop_template.transform %}
|
|
82
|
+
{{ prop_template.transform(property, "self." + property.python_name, property.python_name, multipart=multipart) }}
|
|
83
|
+
{% elif multipart %}
|
|
84
|
+
{{ property.python_name }} = self.{{ property.python_name }} if isinstance(self.{{ property.python_name }}, Unset) else (None, str(self.{{ property.python_name }}).encode(), "text/plain")
|
|
85
|
+
{% else %}
|
|
86
|
+
{{ property.python_name }} = self.{{ property.python_name }}
|
|
87
|
+
{% endif %}
|
|
88
|
+
{% endfor %}
|
|
89
|
+
|
|
90
|
+
field_dict: Dict[str, Any] = {}
|
|
91
|
+
{% if model.additional_properties %}
|
|
92
|
+
{% if model.additional_properties.template %}{# Can be a bool instead of an object #}
|
|
93
|
+
{% import "property_templates/" + model.additional_properties.template as prop_template %}
|
|
94
|
+
{% else %}
|
|
95
|
+
{% set prop_template = None %}
|
|
96
|
+
{% endif %}
|
|
97
|
+
{% if prop_template and prop_template.transform %}
|
|
98
|
+
for prop_name, prop in self.additional_properties.items():
|
|
99
|
+
{{ prop_template.transform(model.additional_properties, "prop", "field_dict[prop_name]", multipart=multipart, declare_type=false) | indent(4) }}
|
|
100
|
+
{% elif multipart %}
|
|
101
|
+
field_dict.update({
|
|
102
|
+
key: (None, str(value).encode(), "text/plain")
|
|
103
|
+
for key, value in self.additional_properties.items()
|
|
104
|
+
})
|
|
105
|
+
{% else %}
|
|
106
|
+
field_dict.update(self.additional_properties)
|
|
107
|
+
{% endif %}
|
|
108
|
+
{% endif %}
|
|
109
|
+
field_dict.update({
|
|
110
|
+
{% for property in model.required_properties + model.optional_properties %}
|
|
111
|
+
{% if property.required %}
|
|
112
|
+
"{{ property.name }}": {{ property.python_name }},
|
|
113
|
+
{% endif %}
|
|
114
|
+
{% endfor %}
|
|
115
|
+
})
|
|
116
|
+
{% for property in model.optional_properties %}
|
|
117
|
+
{% if not property.required %}
|
|
118
|
+
if {{ property.python_name }} is not UNSET:
|
|
119
|
+
field_dict["{{ property.name }}"] = {{ property.python_name }}
|
|
120
|
+
{% endif %}
|
|
121
|
+
{% endfor %}
|
|
122
|
+
|
|
123
|
+
return field_dict
|
|
124
|
+
{% endmacro %}
|
|
125
|
+
|
|
126
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
127
|
+
"""Convert to a dict"""
|
|
128
|
+
{{ _to_dict() | indent(8) }}
|
|
129
|
+
|
|
130
|
+
{% if model.is_multipart_body %}
|
|
131
|
+
def to_multipart(self) -> Dict[str, Any]:
|
|
132
|
+
{{ _to_dict(multipart=True) | indent(8) }}
|
|
133
|
+
{% endif %}
|
|
134
|
+
|
|
135
|
+
@classmethod
|
|
136
|
+
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
|
137
|
+
"""Create an instance of :py:class:`{{ class_name }}` from a dict"""
|
|
138
|
+
d = src_dict.copy()
|
|
139
|
+
{% for property in model.required_properties + model.optional_properties %}
|
|
140
|
+
{% if property.required %}
|
|
141
|
+
{% set property_source = 'd.pop("' + property.name + '")' %}
|
|
142
|
+
{% else %}
|
|
143
|
+
{% set property_source = 'd.pop("' + property.name + '", UNSET)' %}
|
|
144
|
+
{% endif %}
|
|
145
|
+
{% import "property_templates/" + property.template as prop_template %}
|
|
146
|
+
{% if prop_template.construct %}
|
|
147
|
+
{{ prop_template.construct(property, property_source) | indent(8) }}
|
|
148
|
+
{% else %}
|
|
149
|
+
{{ property.python_name }} = {{ property_source }}
|
|
150
|
+
{% endif %}
|
|
151
|
+
|
|
152
|
+
{% endfor %}
|
|
153
|
+
{{ module_name }} = cls(
|
|
154
|
+
{% for property in model.required_properties + model.optional_properties %}
|
|
155
|
+
{{ property.python_name }}={{ property.python_name }},
|
|
156
|
+
{% endfor %}
|
|
157
|
+
)
|
|
158
|
+
|
|
159
|
+
{% if model.additional_properties %}
|
|
160
|
+
{% if model.additional_properties.template %}{# Can be a bool instead of an object #}
|
|
161
|
+
{% import "property_templates/" + model.additional_properties.template as prop_template %}
|
|
162
|
+
|
|
163
|
+
{% if model.additional_properties.lazy_imports %}
|
|
164
|
+
{% for lazy_import in model.additional_properties.lazy_imports | sort %}
|
|
165
|
+
{{ lazy_import }}
|
|
166
|
+
{% endfor %}
|
|
167
|
+
{% endif %}
|
|
168
|
+
{% else %}
|
|
169
|
+
{% set prop_template = None %}
|
|
170
|
+
{% endif %}
|
|
171
|
+
{% if prop_template and prop_template.construct %}
|
|
172
|
+
additional_properties = {}
|
|
173
|
+
for prop_name, prop_dict in d.items():
|
|
174
|
+
{{ prop_template.construct(model.additional_properties, "prop_dict") | indent(12) }}
|
|
175
|
+
additional_properties[prop_name] = {{ model.additional_properties.python_name }}
|
|
176
|
+
|
|
177
|
+
{{ module_name }}.additional_properties = additional_properties
|
|
178
|
+
{% else %}
|
|
179
|
+
{{ module_name }}.additional_properties = d
|
|
180
|
+
{% endif %}
|
|
181
|
+
{% endif %}
|
|
182
|
+
return {{ module_name }}
|
|
183
|
+
|
|
184
|
+
{% if model.additional_properties %}
|
|
185
|
+
@property
|
|
186
|
+
def additional_keys(self) -> List[str]:
|
|
187
|
+
return list(self.additional_properties.keys())
|
|
188
|
+
|
|
189
|
+
def __getitem__(self, key: str) -> {{ additional_property_type }}:
|
|
190
|
+
return self.additional_properties[key]
|
|
191
|
+
|
|
192
|
+
def __setitem__(self, key: str, value: {{ additional_property_type }}) -> None:
|
|
193
|
+
self.additional_properties[key] = value
|
|
194
|
+
|
|
195
|
+
def __delitem__(self, key: str) -> None:
|
|
196
|
+
del self.additional_properties[key]
|
|
197
|
+
|
|
198
|
+
def __contains__(self, key: str) -> bool:
|
|
199
|
+
return key in self.additional_properties
|
|
200
|
+
{% endif %}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
""" Contains some shared types for properties """
|
|
2
|
+
from http import HTTPStatus
|
|
3
|
+
from typing import Any, BinaryIO, Generic, MutableMapping, Optional, Tuple, TypeVar, Literal
|
|
4
|
+
|
|
5
|
+
from attrs import define
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class Unset:
|
|
9
|
+
def __bool__(self) -> Literal[False]:
|
|
10
|
+
return False
|
|
11
|
+
|
|
12
|
+
def __repr__(self) -> str:
|
|
13
|
+
return "Unset"
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
UNSET: Unset = Unset()
|
|
17
|
+
|
|
18
|
+
{# Used as `FileProperty._json_type_string` #}
|
|
19
|
+
FileJsonType = Tuple[Optional[str], BinaryIO, Optional[str]]
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
@define
|
|
23
|
+
class File:
|
|
24
|
+
""" Contains information for file uploads """
|
|
25
|
+
|
|
26
|
+
payload: BinaryIO
|
|
27
|
+
file_name: Optional[str] = None
|
|
28
|
+
mime_type: Optional[str] = None
|
|
29
|
+
|
|
30
|
+
def to_tuple(self) -> FileJsonType:
|
|
31
|
+
""" Return a tuple representation that httpx will accept for multipart/form-data """
|
|
32
|
+
return self.file_name, self.payload, self.mime_type
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
T = TypeVar("T")
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
@define
|
|
39
|
+
class Response(Generic[T]):
|
|
40
|
+
""" A response from an endpoint """
|
|
41
|
+
|
|
42
|
+
status_code: HTTPStatus
|
|
43
|
+
content: bytes
|
|
44
|
+
headers: MutableMapping[str, str]
|
|
45
|
+
parsed: T
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
__all__ = ["File", "Response", "FileJsonType"]
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: pydelfini
|
|
3
|
+
Version: 1.10.0
|
|
4
|
+
Summary: an easy-to-use Python client for Delfini
|
|
5
|
+
Author-email: BioTeam <contact@bioteam.net>
|
|
6
|
+
Classifier: Programming Language :: Python :: 3
|
|
7
|
+
Classifier: License :: OSI Approved :: BSD License
|
|
8
|
+
Classifier: Operating System :: OS Independent
|
|
9
|
+
Requires-Python: >=3.9
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
Requires-Dist: pyyaml>=6.0
|
|
12
|
+
Requires-Dist: httpx<=0.27.2,>=0.20.0
|
|
13
|
+
Requires-Dist: attrs>=21.3.0
|
|
14
|
+
Requires-Dist: python-dateutil
|
|
15
|
+
Requires-Dist: pyarrow>=20.0.0
|
|
16
|
+
Requires-Dist: pandas
|
|
17
|
+
Requires-Dist: tqdm
|
|
18
|
+
Requires-Dist: tabulate
|
|
19
|
+
Provides-Extra: dev
|
|
20
|
+
Requires-Dist: sphinx; extra == "dev"
|
|
21
|
+
Requires-Dist: pytest; extra == "dev"
|
|
22
|
+
Requires-Dist: pytest-httpx<=0.27.2,>=0.20.0; extra == "dev"
|
|
23
|
+
Requires-Dist: syrupy>=4; extra == "dev"
|
|
24
|
+
Requires-Dist: pydantic==2.8.2; extra == "dev"
|
|
25
|
+
Requires-Dist: pydantic_core==2.20.1; extra == "dev"
|
|
26
|
+
Requires-Dist: openapi-python-client==0.17.2; extra == "dev"
|
|
27
|
+
Requires-Dist: reorder-python-imports; extra == "dev"
|
|
28
|
+
Requires-Dist: ruff>=0.5.0; extra == "dev"
|
|
29
|
+
Requires-Dist: black==23.12.1; extra == "dev"
|
|
30
|
+
Requires-Dist: mypy; extra == "dev"
|
|
31
|
+
Requires-Dist: types-python-dateutil; extra == "dev"
|
|
32
|
+
Requires-Dist: pandas-stubs; extra == "dev"
|
|
33
|
+
Requires-Dist: types-tqdm; extra == "dev"
|
|
34
|
+
Requires-Dist: types-PyYAML; extra == "dev"
|
|
35
|
+
Requires-Dist: types-tabulate; extra == "dev"
|
|
36
|
+
Requires-Dist: build; extra == "dev"
|
|
37
|
+
Requires-Dist: twine; extra == "dev"
|
|
38
|
+
Provides-Extra: doc
|
|
39
|
+
Requires-Dist: sphinx; extra == "doc"
|
|
40
|
+
|
|
41
|
+
# PyDelfini
|
|
42
|
+
|
|
43
|
+
PyDelfini is an easy-to-use Python client for the Delfini data commons
|
|
44
|
+
platform. It's great for scripts, notebooks, or as a foundation for
|
|
45
|
+
other clients to interact with Delfini's public API.
|
|
46
|
+
|
|
47
|
+
# Quickstart
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
$ pip install pydelfini
|
|
51
|
+
$ python
|
|
52
|
+
>>> from pydelfini import login
|
|
53
|
+
>>> client = login('delfini.bioteam.net')
|
|
54
|
+
To activate your session, visit the URL below:
|
|
55
|
+
https://delfini.bioteam.net/login/activate/........
|
|
56
|
+
|
|
57
|
+
Waiting for session activation...
|
|
58
|
+
>>> collection = client.get_collection_by_name('MHSVI')
|
|
59
|
+
>>> collection
|
|
60
|
+
<DelfiniCollection: name=MHSVI version=LIVE id=...>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
# Features
|
|
64
|
+
|
|
65
|
+
* Interact with collections, folders, and items
|
|
66
|
+
* Read and write data streams (raw files)
|
|
67
|
+
* Read and write data tables via Pandas DataFrames
|
|
68
|
+
|
|
69
|
+
Coming soon:
|
|
70
|
+
|
|
71
|
+
* Work with data elements
|
|
72
|
+
* Persist data elements through DataFrames
|
|
73
|
+
* Work with dataviews (create, edit using simple construction tools)
|