payi 0.1.0a106__tar.gz → 0.1.0a108__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.
Potentially problematic release.
This version of payi might be problematic. Click here for more details.
- payi-0.1.0a108/.release-please-manifest.json +3 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/CHANGELOG.md +17 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/PKG-INFO +1 -1
- {payi-0.1.0a106 → payi-0.1.0a108}/api.md +4 -10
- {payi-0.1.0a106 → payi-0.1.0a108}/pyproject.toml +1 -1
- {payi-0.1.0a106 → payi-0.1.0a108}/requirements-dev.lock +1 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/requirements.lock +3 -2
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_base_client.py +4 -1
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_files.py +4 -4
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_version.py +1 -1
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/lib/helpers.py +9 -4
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/lib/instrument.py +39 -1
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/ingest.py +4 -4
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/limits/limits.py +0 -8
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/use_cases/definitions/kpis.py +12 -12
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/use_cases/kpis.py +4 -2
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/use_cases/properties.py +5 -5
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/use_cases/use_cases.py +13 -15
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/__init__.py +1 -3
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/category_resource_response.py +4 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/cost_details.py +0 -2
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/ingest_event_param.py +4 -10
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/ingest_units_params.py +2 -2
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limit_create_params.py +0 -4
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/shared/xproxy_result.py +2 -2
- payi-0.1.0a106/src/payi/types/use_case_delete_response.py → payi-0.1.0a108/src/payi/types/use_case_instance_response.py +2 -2
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/__init__.py +0 -1
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definitions/kpi_create_params.py +3 -3
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/kpi_update_params.py +2 -1
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/test_ingest.py +6 -16
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/test_use_cases.py +19 -19
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/use_cases/definitions/test_kpis.py +8 -4
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/use_cases/test_kpis.py +2 -2
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/use_cases/test_properties.py +7 -7
- payi-0.1.0a106/.release-please-manifest.json +0 -3
- payi-0.1.0a106/src/payi/types/use_case_create_response.py +0 -15
- payi-0.1.0a106/src/payi/types/use_case_retrieve_response.py +0 -15
- payi-0.1.0a106/src/payi/types/use_cases/property_create_response.py +0 -15
- {payi-0.1.0a106 → payi-0.1.0a108}/.gitignore +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/CONTRIBUTING.md +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/LICENSE +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/README.md +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/SECURITY.md +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/bin/check-release-environment +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/bin/publish-pypi +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/examples/.keep +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/mypy.ini +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/noxfile.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/release-please-config.json +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_client.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_compat.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_constants.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_exceptions.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_models.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_qs.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_resource.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_streaming.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_types.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_utils/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_utils/_logs.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_utils/_proxy.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_utils/_reflection.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_utils/_resources_proxy.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_utils/_streams.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_utils/_sync.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_utils/_transform.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_utils/_typing.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/_utils/_utils.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/lib/.keep +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/lib/AnthropicInstrumentor.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/lib/BedrockInstrumentor.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/lib/GoogleGenAiInstrumentor.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/lib/OpenAIInstrumentor.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/lib/Stopwatch.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/lib/VertexInstrumentor.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/lib/VertexRequest.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/lib/version_helper.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/pagination.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/py.typed +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/categories/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/categories/categories.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/categories/fixed_cost_resources.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/categories/resources.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/limits/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/limits/tags.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/requests/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/requests/request_id/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/requests/request_id/properties.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/requests/request_id/request_id.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/requests/request_id/result.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/requests/requests.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/requests/response_id/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/requests/response_id/properties.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/requests/response_id/response_id.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/requests/response_id/result.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/use_cases/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/use_cases/definitions/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/use_cases/definitions/definitions.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/use_cases/definitions/limit_config.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/resources/use_cases/definitions/version.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/bulk_ingest_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/categories/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/categories/fixed_cost_resource_create_params.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/categories/resource_create_params.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/categories/resource_list_params.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/category_delete_resource_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/category_delete_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/category_list_params.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/category_list_resources_params.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/category_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/cost_data.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/default_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/ingest_bulk_params.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/ingest_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limit_history_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limit_list_params.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limit_list_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limit_reset_params.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limit_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limit_update_params.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limits/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limits/limit_tags.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limits/tag_create_params.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limits/tag_create_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limits/tag_delete_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limits/tag_list_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limits/tag_remove_params.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limits/tag_remove_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limits/tag_update_params.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/limits/tag_update_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/pay_i_common_models_api_router_header_info_param.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/request_result.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/requests/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/requests/request_id/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/requests/request_id/property_update_params.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/requests/response_id/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/requests/response_id/property_update_params.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/requests_data.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/shared/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/shared/evaluation_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/shared/ingest_units.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/shared/pay_i_common_models_budget_management_cost_details_base.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/shared/pay_i_common_models_budget_management_create_limit_base.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/shared/properties_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/shared/xproxy_error.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/shared_params/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/shared_params/ingest_units.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/shared_params/pay_i_common_models_budget_management_create_limit_base.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/total_cost_data.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definition_create_params.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definition_list_params.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definition_update_params.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definitions/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definitions/kpi_create_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definitions/kpi_delete_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definitions/kpi_list_params.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definitions/kpi_list_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definitions/kpi_retrieve_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definitions/kpi_update_params.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definitions/kpi_update_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/definitions/limit_config_create_params.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/kpi_list_params.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/kpi_list_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/property_update_params.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/src/payi/types/use_cases/use_case_definition.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/categories/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/categories/test_fixed_cost_resources.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/categories/test_resources.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/limits/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/limits/test_tags.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/requests/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/requests/request_id/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/requests/request_id/test_properties.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/requests/request_id/test_result.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/requests/response_id/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/requests/response_id/test_properties.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/requests/response_id/test_result.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/test_categories.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/test_limits.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/use_cases/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/use_cases/definitions/__init__.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/use_cases/definitions/test_limit_config.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/use_cases/definitions/test_version.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/api_resources/use_cases/test_definitions.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/conftest.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/sample_file.txt +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_client.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_deepcopy.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_extract_files.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_files.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_models.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_qs.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_required_args.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_response.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_streaming.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_transform.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_utils/test_proxy.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/test_utils/test_typing.py +0 -0
- {payi-0.1.0a106 → payi-0.1.0a108}/tests/utils.py +0 -0
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.0-alpha.108 (2025-08-05)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.1.0-alpha.107...v0.1.0-alpha.108](https://github.com/Pay-i/pay-i-python/compare/v0.1.0-alpha.107...v0.1.0-alpha.108)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* account_name ([#352](https://github.com/Pay-i/pay-i-python/issues/352)) ([719e871](https://github.com/Pay-i/pay-i-python/commit/719e871927187e2bce511d637144fd99a59b7234))
|
|
10
|
+
|
|
11
|
+
## 0.1.0-alpha.107 (2025-07-31)
|
|
12
|
+
|
|
13
|
+
Full Changelog: [v0.1.0-alpha.106...v0.1.0-alpha.107](https://github.com/Pay-i/pay-i-python/compare/v0.1.0-alpha.106...v0.1.0-alpha.107)
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* **api:** manual updates ([d348443](https://github.com/Pay-i/pay-i-python/commit/d3484438517ab70577dea7d77abfe9864a5678aa))
|
|
18
|
+
* **client:** support file upload requests ([5019812](https://github.com/Pay-i/pay-i-python/commit/501981286bb2996403bcf0415542325d7efb8d2f))
|
|
19
|
+
|
|
3
20
|
## 0.1.0-alpha.106 (2025-07-30)
|
|
4
21
|
|
|
5
22
|
Full Changelog: [v0.1.0-alpha.105...v0.1.0-alpha.106](https://github.com/Pay-i/pay-i-python/compare/v0.1.0-alpha.105...v0.1.0-alpha.106)
|
|
@@ -119,14 +119,14 @@ Methods:
|
|
|
119
119
|
Types:
|
|
120
120
|
|
|
121
121
|
```python
|
|
122
|
-
from payi.types import
|
|
122
|
+
from payi.types import UseCaseInstanceResponse
|
|
123
123
|
```
|
|
124
124
|
|
|
125
125
|
Methods:
|
|
126
126
|
|
|
127
|
-
- <code title="post /api/v1/use_cases/instances/{use_case_name}">client.use_cases.<a href="./src/payi/resources/use_cases/use_cases.py">create</a>(use_case_name) -> <a href="./src/payi/types/
|
|
128
|
-
- <code title="get /api/v1/use_cases/instances/{use_case_id}">client.use_cases.<a href="./src/payi/resources/use_cases/use_cases.py">retrieve</a>(use_case_id) -> <a href="./src/payi/types/
|
|
129
|
-
- <code title="delete /api/v1/use_cases/instances/{use_case_id}">client.use_cases.<a href="./src/payi/resources/use_cases/use_cases.py">delete</a>(use_case_id) -> <a href="./src/payi/types/
|
|
127
|
+
- <code title="post /api/v1/use_cases/instances/{use_case_name}">client.use_cases.<a href="./src/payi/resources/use_cases/use_cases.py">create</a>(use_case_name) -> <a href="./src/payi/types/use_case_instance_response.py">UseCaseInstanceResponse</a></code>
|
|
128
|
+
- <code title="get /api/v1/use_cases/instances/{use_case_id}">client.use_cases.<a href="./src/payi/resources/use_cases/use_cases.py">retrieve</a>(use_case_id) -> <a href="./src/payi/types/use_case_instance_response.py">UseCaseInstanceResponse</a></code>
|
|
129
|
+
- <code title="delete /api/v1/use_cases/instances/{use_case_id}">client.use_cases.<a href="./src/payi/resources/use_cases/use_cases.py">delete</a>(use_case_id) -> <a href="./src/payi/types/use_case_instance_response.py">UseCaseInstanceResponse</a></code>
|
|
130
130
|
|
|
131
131
|
## Kpis
|
|
132
132
|
|
|
@@ -194,12 +194,6 @@ Methods:
|
|
|
194
194
|
|
|
195
195
|
## Properties
|
|
196
196
|
|
|
197
|
-
Types:
|
|
198
|
-
|
|
199
|
-
```python
|
|
200
|
-
from payi.types.use_cases import PropertyCreateResponse
|
|
201
|
-
```
|
|
202
|
-
|
|
203
197
|
Methods:
|
|
204
198
|
|
|
205
199
|
- <code title="put /api/v1/use_cases/instances/{use_case_id}/properties">client.use_cases.properties.<a href="./src/payi/resources/use_cases/properties.py">update</a>(use_case_id, \*\*<a href="src/payi/types/use_cases/property_update_params.py">params</a>) -> <a href="./src/payi/types/use_case_instance_response.py">UseCaseInstanceResponse</a></code>
|
|
@@ -51,15 +51,16 @@ httpx-aiohttp==0.1.8
|
|
|
51
51
|
idna==3.4
|
|
52
52
|
# via anyio
|
|
53
53
|
# via httpx
|
|
54
|
+
# via requests
|
|
54
55
|
# via yarl
|
|
55
56
|
multidict==6.4.4
|
|
56
57
|
# via aiohttp
|
|
57
58
|
# via yarl
|
|
59
|
+
nest-asyncio==1.6.0
|
|
60
|
+
# via payi
|
|
58
61
|
propcache==0.3.1
|
|
59
62
|
# via aiohttp
|
|
60
63
|
# via yarl
|
|
61
|
-
nest-asyncio==1.6.0
|
|
62
|
-
# via payi
|
|
63
64
|
pydantic==2.10.3
|
|
64
65
|
# via payi
|
|
65
66
|
pydantic-core==2.27.1
|
|
@@ -532,7 +532,10 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
|
|
|
532
532
|
is_body_allowed = options.method.lower() != "get"
|
|
533
533
|
|
|
534
534
|
if is_body_allowed:
|
|
535
|
-
|
|
535
|
+
if isinstance(json_data, bytes):
|
|
536
|
+
kwargs["content"] = json_data
|
|
537
|
+
else:
|
|
538
|
+
kwargs["json"] = json_data if is_given(json_data) else None
|
|
536
539
|
kwargs["files"] = files
|
|
537
540
|
else:
|
|
538
541
|
headers.pop("Content-Type", None)
|
|
@@ -69,12 +69,12 @@ def _transform_file(file: FileTypes) -> HttpxFileTypes:
|
|
|
69
69
|
return file
|
|
70
70
|
|
|
71
71
|
if is_tuple_t(file):
|
|
72
|
-
return (file[0],
|
|
72
|
+
return (file[0], read_file_content(file[1]), *file[2:])
|
|
73
73
|
|
|
74
74
|
raise TypeError(f"Expected file types input to be a FileContent type or to be a tuple")
|
|
75
75
|
|
|
76
76
|
|
|
77
|
-
def
|
|
77
|
+
def read_file_content(file: FileContent) -> HttpxFileContent:
|
|
78
78
|
if isinstance(file, os.PathLike):
|
|
79
79
|
return pathlib.Path(file).read_bytes()
|
|
80
80
|
return file
|
|
@@ -111,12 +111,12 @@ async def _async_transform_file(file: FileTypes) -> HttpxFileTypes:
|
|
|
111
111
|
return file
|
|
112
112
|
|
|
113
113
|
if is_tuple_t(file):
|
|
114
|
-
return (file[0], await
|
|
114
|
+
return (file[0], await async_read_file_content(file[1]), *file[2:])
|
|
115
115
|
|
|
116
116
|
raise TypeError(f"Expected file types input to be a FileContent type or to be a tuple")
|
|
117
117
|
|
|
118
118
|
|
|
119
|
-
async def
|
|
119
|
+
async def async_read_file_content(file: FileContent) -> HttpxFileContent:
|
|
120
120
|
if isinstance(file, os.PathLike):
|
|
121
121
|
return await anyio.Path(file).read_bytes()
|
|
122
122
|
|
|
@@ -11,6 +11,7 @@ class PayiHeaderNames:
|
|
|
11
11
|
use_case_version:str = "xProxy-UseCase-Version"
|
|
12
12
|
use_case_step:str = "xProxy-UseCase-Step"
|
|
13
13
|
user_id:str = "xProxy-User-ID"
|
|
14
|
+
account_name:str = "xProxy-Account-Name"
|
|
14
15
|
price_as_category:str = "xProxy-PriceAs-Category"
|
|
15
16
|
price_as_resource:str = "xProxy-PriceAs-Resource"
|
|
16
17
|
provider_base_uri = "xProxy-Provider-BaseUri"
|
|
@@ -24,7 +25,7 @@ class PayiCategories:
|
|
|
24
25
|
aws_bedrock:str = "system.aws.bedrock"
|
|
25
26
|
google_vertex:str = "system.google.vertex"
|
|
26
27
|
|
|
27
|
-
def create_limit_header_from_ids(limit_ids: List[str]) -> Dict[str, str]:
|
|
28
|
+
def create_limit_header_from_ids(*, limit_ids: List[str]) -> Dict[str, str]:
|
|
28
29
|
if not isinstance(limit_ids, list): # type: ignore
|
|
29
30
|
raise TypeError("limit_ids must be a list")
|
|
30
31
|
|
|
@@ -32,7 +33,7 @@ def create_limit_header_from_ids(limit_ids: List[str]) -> Dict[str, str]:
|
|
|
32
33
|
|
|
33
34
|
return { PayiHeaderNames.limit_ids: ",".join(valid_ids) } if valid_ids else {}
|
|
34
35
|
|
|
35
|
-
def create_request_header_from_tags(request_tags: List[str]) -> Dict[str, str]:
|
|
36
|
+
def create_request_header_from_tags(*, request_tags: List[str]) -> Dict[str, str]:
|
|
36
37
|
if not isinstance(request_tags, list): # type: ignore
|
|
37
38
|
raise TypeError("request_tags must be a list")
|
|
38
39
|
|
|
@@ -41,9 +42,11 @@ def create_request_header_from_tags(request_tags: List[str]) -> Dict[str, str]:
|
|
|
41
42
|
return { PayiHeaderNames.request_tags: ",".join(valid_tags) } if valid_tags else {}
|
|
42
43
|
|
|
43
44
|
def create_headers(
|
|
45
|
+
*,
|
|
44
46
|
limit_ids: Union[List[str], None] = None,
|
|
45
47
|
request_tags: Union[List[str], None] = None,
|
|
46
48
|
user_id: Union[str, None] = None,
|
|
49
|
+
account_name: Union[str, None] = None,
|
|
47
50
|
use_case_id: Union[str, None] = None,
|
|
48
51
|
use_case_name: Union[str, None] = None,
|
|
49
52
|
use_case_version: Union[int, None] = None,
|
|
@@ -55,11 +58,13 @@ def create_headers(
|
|
|
55
58
|
headers: Dict[str, str] = {}
|
|
56
59
|
|
|
57
60
|
if limit_ids:
|
|
58
|
-
headers.update(create_limit_header_from_ids(limit_ids))
|
|
61
|
+
headers.update(create_limit_header_from_ids(limit_ids=limit_ids))
|
|
59
62
|
if request_tags:
|
|
60
|
-
headers.update(create_request_header_from_tags(request_tags))
|
|
63
|
+
headers.update(create_request_header_from_tags(request_tags=request_tags))
|
|
61
64
|
if user_id:
|
|
62
65
|
headers.update({ PayiHeaderNames.user_id: user_id})
|
|
66
|
+
if account_name:
|
|
67
|
+
headers.update({ PayiHeaderNames.account_name: account_name})
|
|
63
68
|
if use_case_id:
|
|
64
69
|
headers.update({ PayiHeaderNames.use_case_id: use_case_id})
|
|
65
70
|
if use_case_name:
|
|
@@ -157,6 +157,7 @@ class PayiInstrumentConfig(TypedDict, total=False):
|
|
|
157
157
|
use_case_version: Optional[int]
|
|
158
158
|
use_case_properties: Optional["dict[str, str]"]
|
|
159
159
|
user_id: Optional[str]
|
|
160
|
+
account_name: Optional[str]
|
|
160
161
|
request_tags: Optional["list[str]"]
|
|
161
162
|
request_properties: Optional["dict[str, str]"]
|
|
162
163
|
|
|
@@ -168,6 +169,7 @@ class PayiContext(TypedDict, total=False):
|
|
|
168
169
|
use_case_properties: Optional["dict[str, str]"]
|
|
169
170
|
limit_ids: Optional['list[str]']
|
|
170
171
|
user_id: Optional[str]
|
|
172
|
+
account_name: Optional[str]
|
|
171
173
|
request_tags: Optional["list[str]"]
|
|
172
174
|
request_properties: Optional["dict[str, str]"]
|
|
173
175
|
price_as_category: Optional[str]
|
|
@@ -184,6 +186,7 @@ class _Context(TypedDict, total=False):
|
|
|
184
186
|
use_case_properties: Optional["dict[str, str]"]
|
|
185
187
|
limit_ids: Optional['list[str]']
|
|
186
188
|
user_id: Optional[str]
|
|
189
|
+
account_name: Optional[str]
|
|
187
190
|
request_tags: Optional["list[str]"]
|
|
188
191
|
request_properties: Optional["dict[str, str]"]
|
|
189
192
|
price_as_category: Optional[str]
|
|
@@ -655,6 +658,7 @@ class _PayiInstrumentor:
|
|
|
655
658
|
use_case_version: Optional[int]= None,
|
|
656
659
|
use_case_step: Optional[str]= None,
|
|
657
660
|
user_id: Optional[str]= None,
|
|
661
|
+
account_name: Optional[str]= None,
|
|
658
662
|
request_tags: Optional["list[str]"] = None,
|
|
659
663
|
request_properties: Optional["dict[str, str]"] = None,
|
|
660
664
|
use_case_properties: Optional["dict[str, str]"] = None,
|
|
@@ -747,6 +751,16 @@ class _PayiInstrumentor:
|
|
|
747
751
|
else:
|
|
748
752
|
context["user_id"] = user_id
|
|
749
753
|
|
|
754
|
+
parent_account_name = parent_context.get("account_name", None)
|
|
755
|
+
if account_name is None:
|
|
756
|
+
# use the parent account_name if it exists
|
|
757
|
+
context["account_name"] = parent_account_name
|
|
758
|
+
elif len(account_name) == 0:
|
|
759
|
+
# caller passing an empty string explicitly blocks inheriting from the parent state
|
|
760
|
+
context["account_name"] = None
|
|
761
|
+
else:
|
|
762
|
+
context["account_name"] = account_name
|
|
763
|
+
|
|
750
764
|
parent_request_tags = parent_context.get("request_tags", None)
|
|
751
765
|
if request_tags is not None:
|
|
752
766
|
if len(request_tags) == 0:
|
|
@@ -795,6 +809,7 @@ class _PayiInstrumentor:
|
|
|
795
809
|
use_case_id: Optional[str],
|
|
796
810
|
use_case_version: Optional[int],
|
|
797
811
|
user_id: Optional[str],
|
|
812
|
+
account_name: Optional[str],
|
|
798
813
|
request_tags: Optional["list[str]"] = None,
|
|
799
814
|
request_properties: Optional["dict[str, str]"] = None,
|
|
800
815
|
use_case_properties: Optional["dict[str, str]"] = None,
|
|
@@ -809,6 +824,7 @@ class _PayiInstrumentor:
|
|
|
809
824
|
use_case_id=use_case_id,
|
|
810
825
|
use_case_version=use_case_version,
|
|
811
826
|
user_id=user_id,
|
|
827
|
+
account_name=account_name,
|
|
812
828
|
request_tags=request_tags,
|
|
813
829
|
request_properties=request_properties,
|
|
814
830
|
use_case_properties=use_case_properties
|
|
@@ -824,6 +840,7 @@ class _PayiInstrumentor:
|
|
|
824
840
|
use_case_id: Optional[str],
|
|
825
841
|
use_case_version: Optional[int],
|
|
826
842
|
user_id: Optional[str],
|
|
843
|
+
account_name: Optional[str],
|
|
827
844
|
request_tags: Optional["list[str]"] = None,
|
|
828
845
|
request_properties: Optional["dict[str, str]"] = None,
|
|
829
846
|
use_case_properties: Optional["dict[str, str]"] = None,
|
|
@@ -838,6 +855,7 @@ class _PayiInstrumentor:
|
|
|
838
855
|
use_case_id=use_case_id,
|
|
839
856
|
use_case_version=use_case_version,
|
|
840
857
|
user_id=user_id,
|
|
858
|
+
account_name=account_name,
|
|
841
859
|
request_tags=request_tags,
|
|
842
860
|
request_properties=request_properties,
|
|
843
861
|
use_case_properties=use_case_properties)
|
|
@@ -879,6 +897,7 @@ class _PayiInstrumentor:
|
|
|
879
897
|
use_case_step = ingest_extra_headers.pop(PayiHeaderNames.use_case_step, None)
|
|
880
898
|
|
|
881
899
|
user_id = ingest_extra_headers.pop(PayiHeaderNames.user_id, None)
|
|
900
|
+
account_name = ingest_extra_headers.pop(PayiHeaderNames.account_name, None)
|
|
882
901
|
|
|
883
902
|
if limit_ids:
|
|
884
903
|
request._ingest["limit_ids"] = limit_ids.split(",")
|
|
@@ -894,6 +913,8 @@ class _PayiInstrumentor:
|
|
|
894
913
|
request._ingest["use_case_step"] = use_case_step
|
|
895
914
|
if user_id:
|
|
896
915
|
request._ingest["user_id"] = user_id
|
|
916
|
+
if account_name:
|
|
917
|
+
request._ingest["account_name"] = account_name
|
|
897
918
|
|
|
898
919
|
request_properties = context.get("request_properties", None)
|
|
899
920
|
if request_properties:
|
|
@@ -1207,6 +1228,7 @@ class _PayiInstrumentor:
|
|
|
1207
1228
|
context_use_case_step: Optional[str] = context.get("use_case_step")
|
|
1208
1229
|
|
|
1209
1230
|
context_user_id: Optional[str] = context.get("user_id")
|
|
1231
|
+
context_account_name: Optional[str] = context.get("account_name")
|
|
1210
1232
|
context_request_tags: Optional[list[str]] = context.get("request_tags")
|
|
1211
1233
|
|
|
1212
1234
|
context_price_as_category: Optional[str] = context.get("price_as_category")
|
|
@@ -1239,6 +1261,17 @@ class _PayiInstrumentor:
|
|
|
1239
1261
|
elif context_user_id:
|
|
1240
1262
|
extra_headers[PayiHeaderNames.user_id] = context_user_id
|
|
1241
1263
|
|
|
1264
|
+
if PayiHeaderNames.account_name in extra_headers:
|
|
1265
|
+
headers_account_name = extra_headers.get(PayiHeaderNames.account_name, None)
|
|
1266
|
+
if headers_account_name is None or len(headers_account_name) == 0:
|
|
1267
|
+
# headers_account_name is empty, remove it from extra_headers
|
|
1268
|
+
extra_headers.pop(PayiHeaderNames.account_name, None)
|
|
1269
|
+
else:
|
|
1270
|
+
# leave the value in extra_headers
|
|
1271
|
+
...
|
|
1272
|
+
elif context_account_name:
|
|
1273
|
+
extra_headers[PayiHeaderNames.account_name] = context_account_name
|
|
1274
|
+
|
|
1242
1275
|
if PayiHeaderNames.use_case_name in extra_headers:
|
|
1243
1276
|
headers_use_case_name = extra_headers.get(PayiHeaderNames.use_case_name, None)
|
|
1244
1277
|
if headers_use_case_name is None or len(headers_use_case_name) == 0:
|
|
@@ -1711,6 +1744,7 @@ def track(
|
|
|
1711
1744
|
use_case_id: Optional[str] = None,
|
|
1712
1745
|
use_case_version: Optional[int] = None,
|
|
1713
1746
|
user_id: Optional[str] = None,
|
|
1747
|
+
account_name: Optional[str] = None,
|
|
1714
1748
|
request_tags: Optional["list[str]"] = None,
|
|
1715
1749
|
request_properties: Optional["dict[str, str]"] = None,
|
|
1716
1750
|
use_case_properties: Optional["dict[str, str]"] = None,
|
|
@@ -1735,6 +1769,7 @@ def track(
|
|
|
1735
1769
|
use_case_id,
|
|
1736
1770
|
use_case_version,
|
|
1737
1771
|
user_id,
|
|
1772
|
+
account_name,
|
|
1738
1773
|
request_tags,
|
|
1739
1774
|
request_properties,
|
|
1740
1775
|
use_case_properties,
|
|
@@ -1748,7 +1783,7 @@ def track(
|
|
|
1748
1783
|
_g_logger.debug(f"track: no instrumentor!")
|
|
1749
1784
|
return func(*args, **kwargs)
|
|
1750
1785
|
|
|
1751
|
-
_instrumentor._logger.debug(f"track: call sync function (proxy={proxy}, limit_ids={limit_ids}, use_case_name={use_case_name}, use_case_id={use_case_id}, use_case_version={use_case_version}, user_id={user_id})")
|
|
1786
|
+
_instrumentor._logger.debug(f"track: call sync function (proxy={proxy}, limit_ids={limit_ids}, use_case_name={use_case_name}, use_case_id={use_case_id}, use_case_version={use_case_version}, user_id={user_id}, account_name={account_name})")
|
|
1752
1787
|
|
|
1753
1788
|
return _instrumentor._call_func(
|
|
1754
1789
|
func,
|
|
@@ -1758,6 +1793,7 @@ def track(
|
|
|
1758
1793
|
use_case_id,
|
|
1759
1794
|
use_case_version,
|
|
1760
1795
|
user_id,
|
|
1796
|
+
account_name,
|
|
1761
1797
|
request_tags,
|
|
1762
1798
|
request_properties,
|
|
1763
1799
|
use_case_properties,
|
|
@@ -1775,6 +1811,7 @@ def track_context(
|
|
|
1775
1811
|
use_case_version: Optional[int] = None,
|
|
1776
1812
|
use_case_step: Optional[str] = None,
|
|
1777
1813
|
user_id: Optional[str] = None,
|
|
1814
|
+
account_name: Optional[str] = None,
|
|
1778
1815
|
request_tags: Optional["list[str]"] = None,
|
|
1779
1816
|
request_properties: Optional["dict[str, str]"] = None,
|
|
1780
1817
|
use_case_properties: Optional["dict[str, str]"] = None,
|
|
@@ -1796,6 +1833,7 @@ def track_context(
|
|
|
1796
1833
|
context["use_case_step"] = use_case_step
|
|
1797
1834
|
|
|
1798
1835
|
context["user_id"] = user_id
|
|
1836
|
+
context["account_name"] = account_name
|
|
1799
1837
|
context["request_tags"] = request_tags
|
|
1800
1838
|
|
|
1801
1839
|
context["price_as_category"] = price_as_category
|
|
@@ -86,7 +86,6 @@ class IngestResource(SyncAPIResource):
|
|
|
86
86
|
self,
|
|
87
87
|
*,
|
|
88
88
|
category: str,
|
|
89
|
-
resource: str,
|
|
90
89
|
units: Dict[str, IngestUnits],
|
|
91
90
|
end_to_end_latency_ms: Optional[int] | NotGiven = NOT_GIVEN,
|
|
92
91
|
event_timestamp: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
|
|
@@ -101,6 +100,7 @@ class IngestResource(SyncAPIResource):
|
|
|
101
100
|
provider_response_id: Optional[str] | NotGiven = NOT_GIVEN,
|
|
102
101
|
provider_response_json: Union[str, List[str], None] | NotGiven = NOT_GIVEN,
|
|
103
102
|
provider_uri: Optional[str] | NotGiven = NOT_GIVEN,
|
|
103
|
+
resource: Optional[str] | NotGiven = NOT_GIVEN,
|
|
104
104
|
time_to_first_completion_token_ms: Optional[int] | NotGiven = NOT_GIVEN,
|
|
105
105
|
time_to_first_token_ms: Optional[int] | NotGiven = NOT_GIVEN,
|
|
106
106
|
use_case_properties: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
@@ -233,7 +233,6 @@ class IngestResource(SyncAPIResource):
|
|
|
233
233
|
body=maybe_transform(
|
|
234
234
|
{
|
|
235
235
|
"category": category,
|
|
236
|
-
"resource": resource,
|
|
237
236
|
"units": units,
|
|
238
237
|
"end_to_end_latency_ms": end_to_end_latency_ms,
|
|
239
238
|
"event_timestamp": event_timestamp,
|
|
@@ -247,6 +246,7 @@ class IngestResource(SyncAPIResource):
|
|
|
247
246
|
"provider_response_id": provider_response_id,
|
|
248
247
|
"provider_response_json": provider_response_json,
|
|
249
248
|
"provider_uri": provider_uri,
|
|
249
|
+
"resource": resource,
|
|
250
250
|
"time_to_first_completion_token_ms": time_to_first_completion_token_ms,
|
|
251
251
|
"time_to_first_token_ms": time_to_first_token_ms,
|
|
252
252
|
"use_case_properties": use_case_properties,
|
|
@@ -316,7 +316,6 @@ class AsyncIngestResource(AsyncAPIResource):
|
|
|
316
316
|
self,
|
|
317
317
|
*,
|
|
318
318
|
category: str,
|
|
319
|
-
resource: str,
|
|
320
319
|
units: Dict[str, IngestUnits],
|
|
321
320
|
end_to_end_latency_ms: Optional[int] | NotGiven = NOT_GIVEN,
|
|
322
321
|
event_timestamp: Union[str, datetime, None] | NotGiven = NOT_GIVEN,
|
|
@@ -331,6 +330,7 @@ class AsyncIngestResource(AsyncAPIResource):
|
|
|
331
330
|
provider_response_id: Optional[str] | NotGiven = NOT_GIVEN,
|
|
332
331
|
provider_response_json: Union[str, List[str], None] | NotGiven = NOT_GIVEN,
|
|
333
332
|
provider_uri: Optional[str] | NotGiven = NOT_GIVEN,
|
|
333
|
+
resource: Optional[str] | NotGiven = NOT_GIVEN,
|
|
334
334
|
time_to_first_completion_token_ms: Optional[int] | NotGiven = NOT_GIVEN,
|
|
335
335
|
time_to_first_token_ms: Optional[int] | NotGiven = NOT_GIVEN,
|
|
336
336
|
use_case_properties: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
|
|
@@ -461,7 +461,6 @@ class AsyncIngestResource(AsyncAPIResource):
|
|
|
461
461
|
body=await async_maybe_transform(
|
|
462
462
|
{
|
|
463
463
|
"category": category,
|
|
464
|
-
"resource": resource,
|
|
465
464
|
"units": units,
|
|
466
465
|
"end_to_end_latency_ms": end_to_end_latency_ms,
|
|
467
466
|
"event_timestamp": event_timestamp,
|
|
@@ -475,6 +474,7 @@ class AsyncIngestResource(AsyncAPIResource):
|
|
|
475
474
|
"provider_response_id": provider_response_id,
|
|
476
475
|
"provider_response_json": provider_response_json,
|
|
477
476
|
"provider_uri": provider_uri,
|
|
477
|
+
"resource": resource,
|
|
478
478
|
"time_to_first_completion_token_ms": time_to_first_completion_token_ms,
|
|
479
479
|
"time_to_first_token_ms": time_to_first_token_ms,
|
|
480
480
|
"use_case_properties": use_case_properties,
|
|
@@ -66,8 +66,6 @@ class LimitsResource(SyncAPIResource):
|
|
|
66
66
|
*,
|
|
67
67
|
limit_name: str,
|
|
68
68
|
max: float,
|
|
69
|
-
billing_model_id: Optional[str] | NotGiven = NOT_GIVEN,
|
|
70
|
-
limit_basis: Literal["base", "billed"] | NotGiven = NOT_GIVEN,
|
|
71
69
|
limit_id: Optional[str] | NotGiven = NOT_GIVEN,
|
|
72
70
|
limit_tags: Optional[List[str]] | NotGiven = NOT_GIVEN,
|
|
73
71
|
limit_type: Literal["block", "allow"] | NotGiven = NOT_GIVEN,
|
|
@@ -97,8 +95,6 @@ class LimitsResource(SyncAPIResource):
|
|
|
97
95
|
{
|
|
98
96
|
"limit_name": limit_name,
|
|
99
97
|
"max": max,
|
|
100
|
-
"billing_model_id": billing_model_id,
|
|
101
|
-
"limit_basis": limit_basis,
|
|
102
98
|
"limit_id": limit_id,
|
|
103
99
|
"limit_tags": limit_tags,
|
|
104
100
|
"limit_type": limit_type,
|
|
@@ -337,8 +333,6 @@ class AsyncLimitsResource(AsyncAPIResource):
|
|
|
337
333
|
*,
|
|
338
334
|
limit_name: str,
|
|
339
335
|
max: float,
|
|
340
|
-
billing_model_id: Optional[str] | NotGiven = NOT_GIVEN,
|
|
341
|
-
limit_basis: Literal["base", "billed"] | NotGiven = NOT_GIVEN,
|
|
342
336
|
limit_id: Optional[str] | NotGiven = NOT_GIVEN,
|
|
343
337
|
limit_tags: Optional[List[str]] | NotGiven = NOT_GIVEN,
|
|
344
338
|
limit_type: Literal["block", "allow"] | NotGiven = NOT_GIVEN,
|
|
@@ -368,8 +362,6 @@ class AsyncLimitsResource(AsyncAPIResource):
|
|
|
368
362
|
{
|
|
369
363
|
"limit_name": limit_name,
|
|
370
364
|
"max": max,
|
|
371
|
-
"billing_model_id": billing_model_id,
|
|
372
|
-
"limit_basis": limit_basis,
|
|
373
365
|
"limit_id": limit_id,
|
|
374
366
|
"limit_tags": limit_tags,
|
|
375
367
|
"limit_type": limit_type,
|
|
@@ -54,9 +54,9 @@ class KpisResource(SyncAPIResource):
|
|
|
54
54
|
use_case_name: str,
|
|
55
55
|
*,
|
|
56
56
|
description: str,
|
|
57
|
+
goal: float,
|
|
58
|
+
kpi_type: Literal["boolean", "number", "percentage", "likert5", "likert7", "likert10"],
|
|
57
59
|
name: str,
|
|
58
|
-
goal: float | NotGiven = NOT_GIVEN,
|
|
59
|
-
kpi_type: Literal["boolean", "number", "percentage", "likert5", "likert7", "likert10"] | NotGiven = NOT_GIVEN,
|
|
60
60
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
61
61
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
62
62
|
extra_headers: Headers | None = None,
|
|
@@ -65,7 +65,7 @@ class KpisResource(SyncAPIResource):
|
|
|
65
65
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
66
66
|
) -> KpiCreateResponse:
|
|
67
67
|
"""
|
|
68
|
-
Create a new Use Case
|
|
68
|
+
Create a new KPI definition for a Use Case
|
|
69
69
|
|
|
70
70
|
Args:
|
|
71
71
|
extra_headers: Send extra headers
|
|
@@ -83,9 +83,9 @@ class KpisResource(SyncAPIResource):
|
|
|
83
83
|
body=maybe_transform(
|
|
84
84
|
{
|
|
85
85
|
"description": description,
|
|
86
|
-
"name": name,
|
|
87
86
|
"goal": goal,
|
|
88
87
|
"kpi_type": kpi_type,
|
|
88
|
+
"name": name,
|
|
89
89
|
},
|
|
90
90
|
kpi_create_params.KpiCreateParams,
|
|
91
91
|
),
|
|
@@ -146,7 +146,7 @@ class KpisResource(SyncAPIResource):
|
|
|
146
146
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
147
147
|
) -> KpiUpdateResponse:
|
|
148
148
|
"""
|
|
149
|
-
Update a Use Case
|
|
149
|
+
Update a KPI definition for a Use Case
|
|
150
150
|
|
|
151
151
|
Args:
|
|
152
152
|
extra_headers: Send extra headers
|
|
@@ -239,7 +239,7 @@ class KpisResource(SyncAPIResource):
|
|
|
239
239
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
240
240
|
) -> KpiDeleteResponse:
|
|
241
241
|
"""
|
|
242
|
-
Delete a Use Case
|
|
242
|
+
Delete a KPI definition for a Use Case
|
|
243
243
|
|
|
244
244
|
Args:
|
|
245
245
|
extra_headers: Send extra headers
|
|
@@ -288,9 +288,9 @@ class AsyncKpisResource(AsyncAPIResource):
|
|
|
288
288
|
use_case_name: str,
|
|
289
289
|
*,
|
|
290
290
|
description: str,
|
|
291
|
+
goal: float,
|
|
292
|
+
kpi_type: Literal["boolean", "number", "percentage", "likert5", "likert7", "likert10"],
|
|
291
293
|
name: str,
|
|
292
|
-
goal: float | NotGiven = NOT_GIVEN,
|
|
293
|
-
kpi_type: Literal["boolean", "number", "percentage", "likert5", "likert7", "likert10"] | NotGiven = NOT_GIVEN,
|
|
294
294
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
295
295
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
296
296
|
extra_headers: Headers | None = None,
|
|
@@ -299,7 +299,7 @@ class AsyncKpisResource(AsyncAPIResource):
|
|
|
299
299
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
300
300
|
) -> KpiCreateResponse:
|
|
301
301
|
"""
|
|
302
|
-
Create a new Use Case
|
|
302
|
+
Create a new KPI definition for a Use Case
|
|
303
303
|
|
|
304
304
|
Args:
|
|
305
305
|
extra_headers: Send extra headers
|
|
@@ -317,9 +317,9 @@ class AsyncKpisResource(AsyncAPIResource):
|
|
|
317
317
|
body=await async_maybe_transform(
|
|
318
318
|
{
|
|
319
319
|
"description": description,
|
|
320
|
-
"name": name,
|
|
321
320
|
"goal": goal,
|
|
322
321
|
"kpi_type": kpi_type,
|
|
322
|
+
"name": name,
|
|
323
323
|
},
|
|
324
324
|
kpi_create_params.KpiCreateParams,
|
|
325
325
|
),
|
|
@@ -380,7 +380,7 @@ class AsyncKpisResource(AsyncAPIResource):
|
|
|
380
380
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
381
381
|
) -> KpiUpdateResponse:
|
|
382
382
|
"""
|
|
383
|
-
Update a Use Case
|
|
383
|
+
Update a KPI definition for a Use Case
|
|
384
384
|
|
|
385
385
|
Args:
|
|
386
386
|
extra_headers: Send extra headers
|
|
@@ -473,7 +473,7 @@ class AsyncKpisResource(AsyncAPIResource):
|
|
|
473
473
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
474
474
|
) -> KpiDeleteResponse:
|
|
475
475
|
"""
|
|
476
|
-
Delete a Use Case
|
|
476
|
+
Delete a KPI definition for a Use Case
|
|
477
477
|
|
|
478
478
|
Args:
|
|
479
479
|
extra_headers: Send extra headers
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
from typing import Union
|
|
6
|
+
|
|
5
7
|
import httpx
|
|
6
8
|
|
|
7
9
|
from ..._types import NOT_GIVEN, Body, Query, Headers, NoneType, NotGiven
|
|
@@ -47,7 +49,7 @@ class KpisResource(SyncAPIResource):
|
|
|
47
49
|
kpi_name: str,
|
|
48
50
|
*,
|
|
49
51
|
use_case_id: str,
|
|
50
|
-
score: float | NotGiven = NOT_GIVEN,
|
|
52
|
+
score: Union[bool, float, None] | NotGiven = NOT_GIVEN,
|
|
51
53
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
52
54
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
53
55
|
extra_headers: Headers | None = None,
|
|
@@ -157,7 +159,7 @@ class AsyncKpisResource(AsyncAPIResource):
|
|
|
157
159
|
kpi_name: str,
|
|
158
160
|
*,
|
|
159
161
|
use_case_id: str,
|
|
160
|
-
score: float | NotGiven = NOT_GIVEN,
|
|
162
|
+
score: Union[bool, float, None] | NotGiven = NOT_GIVEN,
|
|
161
163
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
162
164
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
163
165
|
extra_headers: Headers | None = None,
|
|
@@ -18,7 +18,7 @@ from ..._response import (
|
|
|
18
18
|
)
|
|
19
19
|
from ..._base_client import make_request_options
|
|
20
20
|
from ...types.use_cases import property_update_params
|
|
21
|
-
from ...types.
|
|
21
|
+
from ...types.use_case_instance_response import UseCaseInstanceResponse
|
|
22
22
|
|
|
23
23
|
__all__ = ["PropertiesResource", "AsyncPropertiesResource"]
|
|
24
24
|
|
|
@@ -54,7 +54,7 @@ class PropertiesResource(SyncAPIResource):
|
|
|
54
54
|
extra_query: Query | None = None,
|
|
55
55
|
extra_body: Body | None = None,
|
|
56
56
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
57
|
-
) ->
|
|
57
|
+
) -> UseCaseInstanceResponse:
|
|
58
58
|
"""
|
|
59
59
|
Update a Use Case instance properties
|
|
60
60
|
|
|
@@ -75,7 +75,7 @@ class PropertiesResource(SyncAPIResource):
|
|
|
75
75
|
options=make_request_options(
|
|
76
76
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
77
77
|
),
|
|
78
|
-
cast_to=
|
|
78
|
+
cast_to=UseCaseInstanceResponse,
|
|
79
79
|
)
|
|
80
80
|
|
|
81
81
|
|
|
@@ -110,7 +110,7 @@ class AsyncPropertiesResource(AsyncAPIResource):
|
|
|
110
110
|
extra_query: Query | None = None,
|
|
111
111
|
extra_body: Body | None = None,
|
|
112
112
|
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
113
|
-
) ->
|
|
113
|
+
) -> UseCaseInstanceResponse:
|
|
114
114
|
"""
|
|
115
115
|
Update a Use Case instance properties
|
|
116
116
|
|
|
@@ -131,7 +131,7 @@ class AsyncPropertiesResource(AsyncAPIResource):
|
|
|
131
131
|
options=make_request_options(
|
|
132
132
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
133
133
|
),
|
|
134
|
-
cast_to=
|
|
134
|
+
cast_to=UseCaseInstanceResponse,
|
|
135
135
|
)
|
|
136
136
|
|
|
137
137
|
|