elements-api 2025.11.4.dev0__tar.gz → 2025.11.5__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.
- {elements_api-2025.11.4.dev0/src/py/elements_api.egg-info → elements_api-2025.11.5}/PKG-INFO +1 -1
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/elements_base_api.py +12 -12
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5/src/py/elements_api.egg-info}/PKG-INFO +1 -1
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/LICENSE +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/README.md +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/pyproject.toml +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/setup.cfg +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/setup.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/__init__.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/async_client.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/async_interceptors.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/__init__.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/algorithm_computation_execution_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/algorithm_computation_execution_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/algorithm_computation_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/algorithm_computation_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/algorithm_config_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/algorithm_config_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/algorithm_manifest_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/algorithm_manifest_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/algorithm_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/algorithm_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/algorithm_version_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/algorithm_version_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/analysis_computation_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/analysis_computation_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/analysis_config_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/analysis_config_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/analysis_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/analysis_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/analysis_version_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/analysis_version_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/aoi_catalog_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/aoi_catalog_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/aoi_collection_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/aoi_collection_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/aoi_export_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/aoi_export_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/aoi_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/aoi_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/aoi_transaction_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/aoi_transaction_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/aoi_version_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/aoi_version_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/common_models_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/common_models_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/credit_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/credit_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/data_source_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/data_source_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/data_tracking_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/data_tracking_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/data_type_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/data_type_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/filter_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/filter_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/forgot_password_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/forgot_password_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/notification_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/notification_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/order_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/order_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/order_recommendation_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/order_recommendation_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/permission_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/permission_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/project_analysis_config_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/project_analysis_config_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/project_aoi_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/project_aoi_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/project_collaborator_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/project_collaborator_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/project_filter_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/project_filter_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/project_group_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/project_group_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/project_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/project_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/project_result_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/project_result_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/provider_quotas_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/provider_quotas_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/resource_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/resource_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/result_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/result_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/s3_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/s3_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/subject_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/subject_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/system_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/system_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/tasking_order_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/tasking_order_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/tile_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/tile_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/toi_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/toi_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/token_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/token_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/user_collection_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/user_collection_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/user_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/user_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/visualization_pb2.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/visualization_pb2.pyi +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/__init__.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/algorithm_computation_execution_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/algorithm_computation_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/algorithm_config_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/algorithm_manifest_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/algorithm_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/algorithm_version_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/analysis_computation_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/analysis_config_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/analysis_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/analysis_version_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/aoi_catalog_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/aoi_collection_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/aoi_export_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/aoi_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/aoi_transaction_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/aoi_version_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/common_models_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/credit_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/data_source_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/data_tracking_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/data_type_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/filter_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/forgot_password_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/notification_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/order_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/order_recommendation_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/permission_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/project_analysis_config_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/project_aoi_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/project_collaborator_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/project_filter_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/project_group_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/project_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/project_result_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/provider_quotas_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/resource_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/result_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/s3_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/subject_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/system_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/tasking_order_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/tile_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/toi_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/token_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/user_collection_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/user_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/visualization_pb2_grpc.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/sync_client.py +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api.egg-info/SOURCES.txt +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api.egg-info/dependency_links.txt +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api.egg-info/requires.txt +0 -0
- {elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api.egg-info/top_level.txt +0 -0
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/elements_base_api.py
RENAMED
|
@@ -31,16 +31,21 @@ def json_from_jwt(jwt_token: str) -> dict[str, object]:
|
|
|
31
31
|
return {}
|
|
32
32
|
|
|
33
33
|
|
|
34
|
-
def is_token_expiring(
|
|
35
|
-
claims = json_from_jwt(
|
|
34
|
+
def is_token_expiring(jwt_token: str, within_secs=300) -> bool:
|
|
35
|
+
claims = json_from_jwt(jwt_token)
|
|
36
36
|
return claims.get('exp') < time.time() + within_secs
|
|
37
37
|
|
|
38
38
|
|
|
39
|
-
def is_offline_token(
|
|
40
|
-
claims = json_from_jwt(
|
|
39
|
+
def is_offline_token(jwt_token: str) -> bool:
|
|
40
|
+
claims = json_from_jwt(jwt_token)
|
|
41
41
|
return claims.get('typ') == 'Offline'
|
|
42
42
|
|
|
43
43
|
|
|
44
|
+
def get_token_issuing_client(jwt_token: str):
|
|
45
|
+
claims = json_from_jwt(jwt_token)
|
|
46
|
+
return claims.get('azp')
|
|
47
|
+
|
|
48
|
+
|
|
44
49
|
def check_access_token(func) -> bool:
|
|
45
50
|
# decorator
|
|
46
51
|
@wraps(func)
|
|
@@ -62,10 +67,8 @@ class ElementsBaseApi(ABC):
|
|
|
62
67
|
self._root_certificates_file = root_certificates_file
|
|
63
68
|
self._channel = None
|
|
64
69
|
self.api_token: Optional[str] = os.environ.get(API_TOKEN, "").strip() if api_token is None else api_token.strip()
|
|
65
|
-
|
|
66
70
|
# check if this is an offline token, which is a refresh token, and obtain access tokens from it periodically
|
|
67
|
-
self.
|
|
68
|
-
self.access_token: Optional[str] = self.api_token if not is_offline_token else None
|
|
71
|
+
self.access_token: Optional[str] = self.api_token if not is_offline_token(self.api_token) else None
|
|
69
72
|
self.access_token_expiration_threshold = int(os.getenv('ACCESS_TOKEN_EXPIRATION_THRESHOLD', '300'))
|
|
70
73
|
# (token will be renewed when it has less than this threshhold before expiry)
|
|
71
74
|
self.options = [('grpc.max_send_message_length', -1),
|
|
@@ -158,7 +161,6 @@ class ElementsBaseApi(ABC):
|
|
|
158
161
|
if self.api_token and not is_offline_token(self.api_token):
|
|
159
162
|
return False # in which case it is an access token, and it was not refreshed
|
|
160
163
|
# check expiration on the access_token
|
|
161
|
-
|
|
162
164
|
if self.access_token and not is_token_expiring(
|
|
163
165
|
self.access_token,
|
|
164
166
|
within_secs=self.access_token_expiration_threshold
|
|
@@ -174,8 +176,8 @@ class ElementsBaseApi(ABC):
|
|
|
174
176
|
f'{oidc_base_url}/realms/{oidc_realm}/protocol/openid-connect/token')
|
|
175
177
|
|
|
176
178
|
# note: api token is an offline token, which is a special refresh token.
|
|
177
|
-
oidc_client_id =
|
|
178
|
-
|
|
179
|
+
oidc_client_id = get_token_issuing_client(self.api_token)
|
|
180
|
+
# there will be no secret since typically a login client issues this token
|
|
179
181
|
|
|
180
182
|
request_json = {
|
|
181
183
|
'refresh_token': self.api_token,
|
|
@@ -183,8 +185,6 @@ class ElementsBaseApi(ABC):
|
|
|
183
185
|
'grant_type': 'refresh_token',
|
|
184
186
|
'scope': 'openid offline_access'
|
|
185
187
|
}
|
|
186
|
-
if oidc_client_secret:
|
|
187
|
-
request_json['client_secret'] = oidc_client_secret
|
|
188
188
|
|
|
189
189
|
response = requests.post(
|
|
190
190
|
oidc_token_endpoint,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/async_interceptors.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/algorithm_pb2.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/algorithm_pb2.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/analysis_pb2.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/analysis_pb2.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/aoi_catalog_pb2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/aoi_export_pb2.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/aoi_export_pb2.pyi
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/aoi_pb2.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/aoi_pb2.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/aoi_version_pb2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/credit_pb2.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/credit_pb2.pyi
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/data_source_pb2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/data_type_pb2.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/data_type_pb2.pyi
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/filter_pb2.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/filter_pb2.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/order_pb2.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/order_pb2.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/permission_pb2.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/permission_pb2.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/project_aoi_pb2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/project_pb2.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/project_pb2.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/resource_pb2.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/resource_pb2.pyi
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/result_pb2.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/result_pb2.pyi
RENAMED
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/s3_pb2.pyi
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/subject_pb2.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/subject_pb2.pyi
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/system_pb2.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/system_pb2.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/tile_pb2.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/tile_pb2.pyi
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/toi_pb2.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/toi_pb2.pyi
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/token_pb2.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/token_pb2.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/user_pb2.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/models/user_pb2.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/aoi_pb2_grpc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/credit_pb2_grpc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/filter_pb2_grpc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/order_pb2_grpc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/project_pb2_grpc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/result_pb2_grpc.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/s3_pb2_grpc.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/subject_pb2_grpc.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/system_pb2_grpc.py
RENAMED
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/tile_pb2_grpc.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/toi_pb2_grpc.py
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/token_pb2_grpc.py
RENAMED
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api/stubs/user_pb2_grpc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api.egg-info/requires.txt
RENAMED
|
File without changes
|
{elements_api-2025.11.4.dev0 → elements_api-2025.11.5}/src/py/elements_api.egg-info/top_level.txt
RENAMED
|
File without changes
|