tako-sdk 2.2.2__tar.gz → 2.2.4__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.
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/PKG-INFO +3 -4
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/pyproject.toml +5 -6
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/__init__.py +4 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/__init__.py +4 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/api_client.py +1 -1
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/configuration.py +1 -1
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/__init__.py +2 -0
- tako_sdk-2.2.4/tako/aio/models/data_freshness.py +100 -0
- {tako_sdk-2.2.2/tako → tako_sdk-2.2.4/tako/aio}/models/knowledge_card_methodology.py +1 -1
- tako_sdk-2.2.4/tako/aio/models/metric_definition.py +90 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/tako_card.py +28 -2
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/api_client.py +1 -1
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/configuration.py +1 -1
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/lib/dataset.py +3 -2
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/__init__.py +2 -0
- tako_sdk-2.2.4/tako/models/data_freshness.py +100 -0
- {tako_sdk-2.2.2/tako/aio → tako_sdk-2.2.4/tako}/models/knowledge_card_methodology.py +1 -1
- tako_sdk-2.2.4/tako/models/metric_definition.py +90 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/tako_card.py +28 -2
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/.gitignore +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/LICENSE +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/README.md +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/api/__init__.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/api/agent_api.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/api/tako_api.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/api_response.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/exceptions.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/agent_answer_assumption.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/agent_answer_citation.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/agent_answer_definition.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/agent_answer_metadata.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/agent_answer_methodology_note.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/agent_output_settings.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/agent_run_status.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/answer_agent_effort.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/answer_agent_metadata.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/answer_agent_result.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/answer_agent_result_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/answer_agent_run.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/answer_agent_run_list.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/answer_agent_run_request.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/answer_agent_run_summary.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/answer_agent_stream_envelope.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/answer_response.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/api_error_type.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/base_api_error.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/block.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/block1.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/component_config.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/component_type_enum.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/content_item.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/contents_delivery_mode.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/contents_format.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/contents_request.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/contents_response.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/create_card400_response.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/create_card_request.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/data_pipeline_answer_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/data_source_settings.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/entity_class_name.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/error_object.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/export_pricing.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/graph_node.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/graph_node_type.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/graph_related_response.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/graph_relation.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/graph_relation_page.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/graph_search_response.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/heartbeat_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/knowledge_card_relevance.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/ner_label.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/output_settings.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/reasoning_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/relation_kind.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/result_content.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/rows_inner_inner.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/run_summary_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/search_agent_effort.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/search_agent_result.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/search_agent_result_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/search_agent_run.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/search_agent_run_list.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/search_agent_run_request.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/search_agent_run_summary.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/search_agent_stream_envelope.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/search_effort_level.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/search_request.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/search_response.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/source_settings.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/sources.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/status_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/stream_category.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/stream_done_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/stream_reset_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/structured_output_status.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/subagent_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/tako_card_node.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/tako_card_source.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/tako_dataset.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/tako_dataset_column.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/tako_dataset_column_type.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/tako_dataset_source.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/tako_source_index.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/text_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/thin_viz_card.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/tool_call_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/tool_error_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/tool_result_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/tool_retry_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/usage.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/usage_compute.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/usage_data.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/models/web_result.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/py.typed +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/aio/rest.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/api/__init__.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/api/agent_api.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/api/tako_api.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/api_response.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/exceptions.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/lib/__init__.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/lib/agent.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/lib/client.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/lib/schema.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/lib/streaming.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/agent_answer_assumption.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/agent_answer_citation.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/agent_answer_definition.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/agent_answer_metadata.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/agent_answer_methodology_note.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/agent_output_settings.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/agent_run_status.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/answer_agent_effort.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/answer_agent_metadata.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/answer_agent_result.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/answer_agent_result_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/answer_agent_run.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/answer_agent_run_list.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/answer_agent_run_request.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/answer_agent_run_summary.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/answer_agent_stream_envelope.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/answer_response.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/api_error_type.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/base_api_error.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/block.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/block1.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/component_config.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/component_type_enum.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/content_item.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/contents_delivery_mode.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/contents_format.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/contents_request.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/contents_response.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/create_card400_response.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/create_card_request.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/data_pipeline_answer_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/data_source_settings.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/entity_class_name.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/error_object.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/export_pricing.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/graph_node.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/graph_node_type.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/graph_related_response.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/graph_relation.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/graph_relation_page.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/graph_search_response.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/heartbeat_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/knowledge_card_relevance.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/ner_label.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/output_settings.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/reasoning_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/relation_kind.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/result_content.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/rows_inner_inner.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/run_summary_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/search_agent_effort.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/search_agent_result.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/search_agent_result_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/search_agent_run.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/search_agent_run_list.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/search_agent_run_request.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/search_agent_run_summary.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/search_agent_stream_envelope.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/search_effort_level.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/search_request.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/search_response.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/source_settings.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/sources.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/status_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/stream_category.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/stream_done_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/stream_reset_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/structured_output_status.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/subagent_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/tako_card_node.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/tako_card_source.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/tako_dataset.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/tako_dataset_column.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/tako_dataset_column_type.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/tako_dataset_source.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/tako_source_index.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/text_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/thin_viz_card.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/tool_call_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/tool_error_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/tool_result_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/tool_retry_event.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/usage.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/usage_compute.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/usage_data.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/models/web_result.py +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/py.typed +0 -0
- {tako_sdk-2.2.2 → tako_sdk-2.2.4}/tako/rest.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: tako-sdk
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.4
|
|
4
4
|
Summary: The official Python library for the tako API
|
|
5
5
|
Project-URL: Homepage, https://tako.com
|
|
6
6
|
Project-URL: Documentation, https://docs.tako.com
|
|
@@ -13,7 +13,6 @@ Classifier: Operating System :: Microsoft :: Windows
|
|
|
13
13
|
Classifier: Operating System :: OS Independent
|
|
14
14
|
Classifier: Operating System :: POSIX
|
|
15
15
|
Classifier: Operating System :: POSIX :: Linux
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
17
16
|
Classifier: Programming Language :: Python :: 3.10
|
|
18
17
|
Classifier: Programming Language :: Python :: 3.11
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -21,13 +20,13 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.14
|
|
22
21
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
23
22
|
Classifier: Typing :: Typed
|
|
24
|
-
Requires-Python: >=3.
|
|
23
|
+
Requires-Python: >=3.10
|
|
25
24
|
Requires-Dist: httpx-sse>=0.4
|
|
26
25
|
Requires-Dist: httpx<1,>=0.27
|
|
27
26
|
Requires-Dist: pydantic<3,>=2
|
|
28
27
|
Requires-Dist: python-dateutil>=2.8.2
|
|
29
28
|
Requires-Dist: typing-extensions>=4.7.1
|
|
30
|
-
Requires-Dist: urllib3<3,>=2.
|
|
29
|
+
Requires-Dist: urllib3<3,>=2.7.0
|
|
31
30
|
Provides-Extra: pandas
|
|
32
31
|
Requires-Dist: pandas>=1.5; extra == 'pandas'
|
|
33
32
|
Description-Content-Type: text/markdown
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "tako-sdk"
|
|
3
|
-
version = "2.2.
|
|
3
|
+
version = "2.2.4"
|
|
4
4
|
description = "The official Python library for the tako API"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "MIT"
|
|
@@ -13,7 +13,7 @@ authors = [
|
|
|
13
13
|
# httpx -> async (tako/aio/) client
|
|
14
14
|
# httpx-sse -> hand-written SSE layer (tako/lib)
|
|
15
15
|
dependencies = [
|
|
16
|
-
"urllib3>=2.
|
|
16
|
+
"urllib3>=2.7.0,<3",
|
|
17
17
|
"python-dateutil>=2.8.2",
|
|
18
18
|
"pydantic>=2,<3",
|
|
19
19
|
"typing-extensions>=4.7.1",
|
|
@@ -21,11 +21,10 @@ dependencies = [
|
|
|
21
21
|
"httpx-sse>=0.4",
|
|
22
22
|
]
|
|
23
23
|
|
|
24
|
-
requires-python = ">= 3.
|
|
24
|
+
requires-python = ">= 3.10"
|
|
25
25
|
classifiers = [
|
|
26
26
|
"Typing :: Typed",
|
|
27
27
|
"Intended Audience :: Developers",
|
|
28
|
-
"Programming Language :: Python :: 3.9",
|
|
29
28
|
"Programming Language :: Python :: 3.10",
|
|
30
29
|
"Programming Language :: Python :: 3.11",
|
|
31
30
|
"Programming Language :: Python :: 3.12",
|
|
@@ -96,7 +95,7 @@ markers = [
|
|
|
96
95
|
# reproducible; they are exercised by the import check and tests, not pyright.
|
|
97
96
|
[tool.pyright]
|
|
98
97
|
typeCheckingMode = "strict"
|
|
99
|
-
pythonVersion = "3.
|
|
98
|
+
pythonVersion = "3.10"
|
|
100
99
|
include = ["tako/lib"]
|
|
101
100
|
exclude = [".venv", ".nox", ".git"]
|
|
102
101
|
reportImplicitOverride = true
|
|
@@ -118,7 +117,7 @@ disallow_incomplete_defs = true
|
|
|
118
117
|
[tool.ruff]
|
|
119
118
|
line-length = 120
|
|
120
119
|
output-format = "grouped"
|
|
121
|
-
target-version = "
|
|
120
|
+
target-version = "py310"
|
|
122
121
|
# Lint only hand-written code; generated clients are produced by openapi-generator.
|
|
123
122
|
extend-exclude = [
|
|
124
123
|
"tako/api",
|
|
@@ -69,6 +69,7 @@ __all__ = [
|
|
|
69
69
|
"ContentsResponse",
|
|
70
70
|
"CreateCard400Response",
|
|
71
71
|
"CreateCardRequest",
|
|
72
|
+
"DataFreshness",
|
|
72
73
|
"DataPipelineAnswerEvent",
|
|
73
74
|
"DataSourceSettings",
|
|
74
75
|
"EntityClassName",
|
|
@@ -83,6 +84,7 @@ __all__ = [
|
|
|
83
84
|
"HeartbeatEvent",
|
|
84
85
|
"KnowledgeCardMethodology",
|
|
85
86
|
"KnowledgeCardRelevance",
|
|
87
|
+
"MetricDefinition",
|
|
86
88
|
"NerLabel",
|
|
87
89
|
"OutputSettings",
|
|
88
90
|
"ReasoningEvent",
|
|
@@ -175,6 +177,7 @@ from tako.models.contents_request import ContentsRequest as ContentsRequest
|
|
|
175
177
|
from tako.models.contents_response import ContentsResponse as ContentsResponse
|
|
176
178
|
from tako.models.create_card400_response import CreateCard400Response as CreateCard400Response
|
|
177
179
|
from tako.models.create_card_request import CreateCardRequest as CreateCardRequest
|
|
180
|
+
from tako.models.data_freshness import DataFreshness as DataFreshness
|
|
178
181
|
from tako.models.data_pipeline_answer_event import DataPipelineAnswerEvent as DataPipelineAnswerEvent
|
|
179
182
|
from tako.models.data_source_settings import DataSourceSettings as DataSourceSettings
|
|
180
183
|
from tako.models.entity_class_name import EntityClassName as EntityClassName
|
|
@@ -189,6 +192,7 @@ from tako.models.graph_search_response import GraphSearchResponse as GraphSearch
|
|
|
189
192
|
from tako.models.heartbeat_event import HeartbeatEvent as HeartbeatEvent
|
|
190
193
|
from tako.models.knowledge_card_methodology import KnowledgeCardMethodology as KnowledgeCardMethodology
|
|
191
194
|
from tako.models.knowledge_card_relevance import KnowledgeCardRelevance as KnowledgeCardRelevance
|
|
195
|
+
from tako.models.metric_definition import MetricDefinition as MetricDefinition
|
|
192
196
|
from tako.models.ner_label import NerLabel as NerLabel
|
|
193
197
|
from tako.models.output_settings import OutputSettings as OutputSettings
|
|
194
198
|
from tako.models.reasoning_event import ReasoningEvent as ReasoningEvent
|
|
@@ -69,6 +69,7 @@ __all__ = [
|
|
|
69
69
|
"ContentsResponse",
|
|
70
70
|
"CreateCard400Response",
|
|
71
71
|
"CreateCardRequest",
|
|
72
|
+
"DataFreshness",
|
|
72
73
|
"DataPipelineAnswerEvent",
|
|
73
74
|
"DataSourceSettings",
|
|
74
75
|
"EntityClassName",
|
|
@@ -83,6 +84,7 @@ __all__ = [
|
|
|
83
84
|
"HeartbeatEvent",
|
|
84
85
|
"KnowledgeCardMethodology",
|
|
85
86
|
"KnowledgeCardRelevance",
|
|
87
|
+
"MetricDefinition",
|
|
86
88
|
"NerLabel",
|
|
87
89
|
"OutputSettings",
|
|
88
90
|
"ReasoningEvent",
|
|
@@ -175,6 +177,7 @@ from tako.aio.models.contents_request import ContentsRequest as ContentsRequest
|
|
|
175
177
|
from tako.aio.models.contents_response import ContentsResponse as ContentsResponse
|
|
176
178
|
from tako.aio.models.create_card400_response import CreateCard400Response as CreateCard400Response
|
|
177
179
|
from tako.aio.models.create_card_request import CreateCardRequest as CreateCardRequest
|
|
180
|
+
from tako.aio.models.data_freshness import DataFreshness as DataFreshness
|
|
178
181
|
from tako.aio.models.data_pipeline_answer_event import DataPipelineAnswerEvent as DataPipelineAnswerEvent
|
|
179
182
|
from tako.aio.models.data_source_settings import DataSourceSettings as DataSourceSettings
|
|
180
183
|
from tako.aio.models.entity_class_name import EntityClassName as EntityClassName
|
|
@@ -189,6 +192,7 @@ from tako.aio.models.graph_search_response import GraphSearchResponse as GraphSe
|
|
|
189
192
|
from tako.aio.models.heartbeat_event import HeartbeatEvent as HeartbeatEvent
|
|
190
193
|
from tako.aio.models.knowledge_card_methodology import KnowledgeCardMethodology as KnowledgeCardMethodology
|
|
191
194
|
from tako.aio.models.knowledge_card_relevance import KnowledgeCardRelevance as KnowledgeCardRelevance
|
|
195
|
+
from tako.aio.models.metric_definition import MetricDefinition as MetricDefinition
|
|
192
196
|
from tako.aio.models.ner_label import NerLabel as NerLabel
|
|
193
197
|
from tako.aio.models.output_settings import OutputSettings as OutputSettings
|
|
194
198
|
from tako.aio.models.reasoning_event import ReasoningEvent as ReasoningEvent
|
|
@@ -91,7 +91,7 @@ class ApiClient:
|
|
|
91
91
|
self.default_headers[header_name] = header_value
|
|
92
92
|
self.cookie = cookie
|
|
93
93
|
# Set default User-Agent.
|
|
94
|
-
self.user_agent = 'OpenAPI-Generator/2.2.
|
|
94
|
+
self.user_agent = 'OpenAPI-Generator/2.2.3/python'
|
|
95
95
|
self.client_side_validation = configuration.client_side_validation
|
|
96
96
|
|
|
97
97
|
async def __aenter__(self):
|
|
@@ -552,7 +552,7 @@ conf = tako.aio.Configuration(
|
|
|
552
552
|
"OS: {env}\n"\
|
|
553
553
|
"Python Version: {pyversion}\n"\
|
|
554
554
|
"Version of the API: 1.0.0\n"\
|
|
555
|
-
"SDK Package Version: 2.2.
|
|
555
|
+
"SDK Package Version: 2.2.3".\
|
|
556
556
|
format(env=sys.platform, pyversion=sys.version)
|
|
557
557
|
|
|
558
558
|
def get_host_settings(self) -> List[HostSetting]:
|
|
@@ -43,6 +43,7 @@ from tako.aio.models.contents_request import ContentsRequest
|
|
|
43
43
|
from tako.aio.models.contents_response import ContentsResponse
|
|
44
44
|
from tako.aio.models.create_card400_response import CreateCard400Response
|
|
45
45
|
from tako.aio.models.create_card_request import CreateCardRequest
|
|
46
|
+
from tako.aio.models.data_freshness import DataFreshness
|
|
46
47
|
from tako.aio.models.data_pipeline_answer_event import DataPipelineAnswerEvent
|
|
47
48
|
from tako.aio.models.data_source_settings import DataSourceSettings
|
|
48
49
|
from tako.aio.models.entity_class_name import EntityClassName
|
|
@@ -57,6 +58,7 @@ from tako.aio.models.graph_search_response import GraphSearchResponse
|
|
|
57
58
|
from tako.aio.models.heartbeat_event import HeartbeatEvent
|
|
58
59
|
from tako.aio.models.knowledge_card_methodology import KnowledgeCardMethodology
|
|
59
60
|
from tako.aio.models.knowledge_card_relevance import KnowledgeCardRelevance
|
|
61
|
+
from tako.aio.models.metric_definition import MetricDefinition
|
|
60
62
|
from tako.aio.models.ner_label import NerLabel
|
|
61
63
|
from tako.aio.models.output_settings import OutputSettings
|
|
62
64
|
from tako.aio.models.reasoning_event import ReasoningEvent
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Knowledge Search API
|
|
5
|
+
|
|
6
|
+
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.0.0
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
+
from typing import Optional, Set
|
|
23
|
+
from typing_extensions import Self
|
|
24
|
+
from pydantic_core import to_jsonable_python
|
|
25
|
+
|
|
26
|
+
class DataFreshness(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
When the card's data was last observed and last refreshed. Either field may be null when that date isn't available for the card type.
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
data_as_of: Optional[StrictStr] = Field(default=None, description="Date of the most recent observation in the card's data, as an ISO date (YYYY-MM-DD). Null for card types without a coverage date.")
|
|
31
|
+
last_updated: Optional[StrictStr] = Field(default=None, description="Date Tako last refreshed the underlying data, as an ISO date (YYYY-MM-DD).")
|
|
32
|
+
__properties: ClassVar[List[str]] = ["data_as_of", "last_updated"]
|
|
33
|
+
|
|
34
|
+
model_config = ConfigDict(
|
|
35
|
+
validate_by_name=True,
|
|
36
|
+
validate_by_alias=True,
|
|
37
|
+
validate_assignment=True,
|
|
38
|
+
protected_namespaces=(),
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def to_str(self) -> str:
|
|
43
|
+
"""Returns the string representation of the model using alias"""
|
|
44
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
45
|
+
|
|
46
|
+
def to_json(self) -> str:
|
|
47
|
+
"""Returns the JSON representation of the model using alias"""
|
|
48
|
+
return json.dumps(to_jsonable_python(self.to_dict()))
|
|
49
|
+
|
|
50
|
+
@classmethod
|
|
51
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
52
|
+
"""Create an instance of DataFreshness from a JSON string"""
|
|
53
|
+
return cls.from_dict(json.loads(json_str))
|
|
54
|
+
|
|
55
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
56
|
+
"""Return the dictionary representation of the model using alias.
|
|
57
|
+
|
|
58
|
+
This has the following differences from calling pydantic's
|
|
59
|
+
`self.model_dump(by_alias=True)`:
|
|
60
|
+
|
|
61
|
+
* `None` is only added to the output dict for nullable fields that
|
|
62
|
+
were set at model initialization. Other fields with value `None`
|
|
63
|
+
are ignored.
|
|
64
|
+
"""
|
|
65
|
+
excluded_fields: Set[str] = set([
|
|
66
|
+
])
|
|
67
|
+
|
|
68
|
+
_dict = self.model_dump(
|
|
69
|
+
by_alias=True,
|
|
70
|
+
exclude=excluded_fields,
|
|
71
|
+
exclude_none=True,
|
|
72
|
+
)
|
|
73
|
+
# set to None if data_as_of (nullable) is None
|
|
74
|
+
# and model_fields_set contains the field
|
|
75
|
+
if self.data_as_of is None and "data_as_of" in self.model_fields_set:
|
|
76
|
+
_dict['data_as_of'] = None
|
|
77
|
+
|
|
78
|
+
# set to None if last_updated (nullable) is None
|
|
79
|
+
# and model_fields_set contains the field
|
|
80
|
+
if self.last_updated is None and "last_updated" in self.model_fields_set:
|
|
81
|
+
_dict['last_updated'] = None
|
|
82
|
+
|
|
83
|
+
return _dict
|
|
84
|
+
|
|
85
|
+
@classmethod
|
|
86
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
87
|
+
"""Create an instance of DataFreshness from a dict"""
|
|
88
|
+
if obj is None:
|
|
89
|
+
return None
|
|
90
|
+
|
|
91
|
+
if not isinstance(obj, dict):
|
|
92
|
+
return cls.model_validate(obj)
|
|
93
|
+
|
|
94
|
+
_obj = cls.model_validate({
|
|
95
|
+
"data_as_of": obj.get("data_as_of"),
|
|
96
|
+
"last_updated": obj.get("last_updated")
|
|
97
|
+
})
|
|
98
|
+
return _obj
|
|
99
|
+
|
|
100
|
+
|
|
@@ -28,7 +28,7 @@ class KnowledgeCardMethodology(BaseModel):
|
|
|
28
28
|
KnowledgeCardMethodology
|
|
29
29
|
""" # noqa: E501
|
|
30
30
|
methodology_name: Optional[StrictStr] = Field(description="The name of the methodology")
|
|
31
|
-
methodology_description: Optional[StrictStr] = Field(description="
|
|
31
|
+
methodology_description: Optional[StrictStr] = Field(description="A concise, one-sentence summary of the methodology (source and what is measured). Falls back to the full methodology text when no concise summary is available.")
|
|
32
32
|
__properties: ClassVar[List[str]] = ["methodology_name", "methodology_description"]
|
|
33
33
|
|
|
34
34
|
model_config = ConfigDict(
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Knowledge Search API
|
|
5
|
+
|
|
6
|
+
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.0.0
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
|
21
|
+
from typing import Any, ClassVar, Dict, List
|
|
22
|
+
from typing import Optional, Set
|
|
23
|
+
from typing_extensions import Self
|
|
24
|
+
from pydantic_core import to_jsonable_python
|
|
25
|
+
|
|
26
|
+
class MetricDefinition(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
Definition of a metric shown on a card. Sourced from the metric's ValueType definition — the same text as the in-app methodology 'Metrics' tab.
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
name: StrictStr = Field(description="The metric's display name")
|
|
31
|
+
definition: StrictStr = Field(description="Human-readable definition of the metric")
|
|
32
|
+
__properties: ClassVar[List[str]] = ["name", "definition"]
|
|
33
|
+
|
|
34
|
+
model_config = ConfigDict(
|
|
35
|
+
validate_by_name=True,
|
|
36
|
+
validate_by_alias=True,
|
|
37
|
+
validate_assignment=True,
|
|
38
|
+
protected_namespaces=(),
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def to_str(self) -> str:
|
|
43
|
+
"""Returns the string representation of the model using alias"""
|
|
44
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
45
|
+
|
|
46
|
+
def to_json(self) -> str:
|
|
47
|
+
"""Returns the JSON representation of the model using alias"""
|
|
48
|
+
return json.dumps(to_jsonable_python(self.to_dict()))
|
|
49
|
+
|
|
50
|
+
@classmethod
|
|
51
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
52
|
+
"""Create an instance of MetricDefinition from a JSON string"""
|
|
53
|
+
return cls.from_dict(json.loads(json_str))
|
|
54
|
+
|
|
55
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
56
|
+
"""Return the dictionary representation of the model using alias.
|
|
57
|
+
|
|
58
|
+
This has the following differences from calling pydantic's
|
|
59
|
+
`self.model_dump(by_alias=True)`:
|
|
60
|
+
|
|
61
|
+
* `None` is only added to the output dict for nullable fields that
|
|
62
|
+
were set at model initialization. Other fields with value `None`
|
|
63
|
+
are ignored.
|
|
64
|
+
"""
|
|
65
|
+
excluded_fields: Set[str] = set([
|
|
66
|
+
])
|
|
67
|
+
|
|
68
|
+
_dict = self.model_dump(
|
|
69
|
+
by_alias=True,
|
|
70
|
+
exclude=excluded_fields,
|
|
71
|
+
exclude_none=True,
|
|
72
|
+
)
|
|
73
|
+
return _dict
|
|
74
|
+
|
|
75
|
+
@classmethod
|
|
76
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
77
|
+
"""Create an instance of MetricDefinition from a dict"""
|
|
78
|
+
if obj is None:
|
|
79
|
+
return None
|
|
80
|
+
|
|
81
|
+
if not isinstance(obj, dict):
|
|
82
|
+
return cls.model_validate(obj)
|
|
83
|
+
|
|
84
|
+
_obj = cls.model_validate({
|
|
85
|
+
"name": obj.get("name"),
|
|
86
|
+
"definition": obj.get("definition")
|
|
87
|
+
})
|
|
88
|
+
return _obj
|
|
89
|
+
|
|
90
|
+
|
|
@@ -19,8 +19,10 @@ import json
|
|
|
19
19
|
|
|
20
20
|
from pydantic import BaseModel, ConfigDict, Field, StrictFloat, StrictInt, StrictStr
|
|
21
21
|
from typing import Any, ClassVar, Dict, List, Optional, Union
|
|
22
|
+
from tako.aio.models.data_freshness import DataFreshness
|
|
22
23
|
from tako.aio.models.knowledge_card_methodology import KnowledgeCardMethodology
|
|
23
24
|
from tako.aio.models.knowledge_card_relevance import KnowledgeCardRelevance
|
|
25
|
+
from tako.aio.models.metric_definition import MetricDefinition
|
|
24
26
|
from tako.aio.models.result_content import ResultContent
|
|
25
27
|
from tako.aio.models.tako_card_node import TakoCardNode
|
|
26
28
|
from tako.aio.models.tako_card_source import TakoCardSource
|
|
@@ -48,7 +50,9 @@ class TakoCard(BaseModel):
|
|
|
48
50
|
content: Optional[ResultContent] = None
|
|
49
51
|
relevance_score: Optional[Union[StrictFloat, StrictInt]] = Field(default=None, description="Numeric relevance of this card to the query on a 1.0-5.0 scale (5.0 = exact match; higher is more relevant). Only populated for entitled accounts; null otherwise.")
|
|
50
52
|
nodes: Optional[List[TakoCardNode]] = Field(default=None, description="Graph nodes (entities and metrics) this card was built from, returned by default. Absent for web-only cards or when node resolution was unavailable. Use each id with /beta/graph/node/{id} for full detail (aliases, subtype), or pass ids in sources.data.node_ids to pin these nodes in future searches.")
|
|
51
|
-
|
|
53
|
+
metric_definitions: Optional[List[MetricDefinition]] = Field(default=None, description="Definitions of the metrics this card displays (name + definition). Null when no displayed metric has a definition available.")
|
|
54
|
+
data_freshness: Optional[DataFreshness] = Field(default=None, description="Freshness dates for the card's data: the coverage date (data_as_of) and the last refresh date (last_updated). Null when neither date is available.")
|
|
55
|
+
__properties: ClassVar[List[str]] = ["card_id", "title", "description", "semantic_description", "webpage_url", "image_url", "embed_url", "sources", "methodologies", "source_indexes", "card_type", "relevance", "content", "relevance_score", "nodes", "metric_definitions", "data_freshness"]
|
|
52
56
|
|
|
53
57
|
model_config = ConfigDict(
|
|
54
58
|
validate_by_name=True,
|
|
@@ -113,6 +117,16 @@ class TakoCard(BaseModel):
|
|
|
113
117
|
if _item_nodes:
|
|
114
118
|
_items.append(_item_nodes.to_dict())
|
|
115
119
|
_dict['nodes'] = _items
|
|
120
|
+
# override the default output from pydantic by calling `to_dict()` of each item in metric_definitions (list)
|
|
121
|
+
_items = []
|
|
122
|
+
if self.metric_definitions:
|
|
123
|
+
for _item_metric_definitions in self.metric_definitions:
|
|
124
|
+
if _item_metric_definitions:
|
|
125
|
+
_items.append(_item_metric_definitions.to_dict())
|
|
126
|
+
_dict['metric_definitions'] = _items
|
|
127
|
+
# override the default output from pydantic by calling `to_dict()` of data_freshness
|
|
128
|
+
if self.data_freshness:
|
|
129
|
+
_dict['data_freshness'] = self.data_freshness.to_dict()
|
|
116
130
|
# set to None if card_id (nullable) is None
|
|
117
131
|
# and model_fields_set contains the field
|
|
118
132
|
if self.card_id is None and "card_id" in self.model_fields_set:
|
|
@@ -188,6 +202,16 @@ class TakoCard(BaseModel):
|
|
|
188
202
|
if self.nodes is None and "nodes" in self.model_fields_set:
|
|
189
203
|
_dict['nodes'] = None
|
|
190
204
|
|
|
205
|
+
# set to None if metric_definitions (nullable) is None
|
|
206
|
+
# and model_fields_set contains the field
|
|
207
|
+
if self.metric_definitions is None and "metric_definitions" in self.model_fields_set:
|
|
208
|
+
_dict['metric_definitions'] = None
|
|
209
|
+
|
|
210
|
+
# set to None if data_freshness (nullable) is None
|
|
211
|
+
# and model_fields_set contains the field
|
|
212
|
+
if self.data_freshness is None and "data_freshness" in self.model_fields_set:
|
|
213
|
+
_dict['data_freshness'] = None
|
|
214
|
+
|
|
191
215
|
return _dict
|
|
192
216
|
|
|
193
217
|
@classmethod
|
|
@@ -214,7 +238,9 @@ class TakoCard(BaseModel):
|
|
|
214
238
|
"relevance": obj.get("relevance"),
|
|
215
239
|
"content": ResultContent.from_dict(obj["content"]) if obj.get("content") is not None else None,
|
|
216
240
|
"relevance_score": obj.get("relevance_score"),
|
|
217
|
-
"nodes": [TakoCardNode.from_dict(_item) for _item in obj["nodes"]] if obj.get("nodes") is not None else None
|
|
241
|
+
"nodes": [TakoCardNode.from_dict(_item) for _item in obj["nodes"]] if obj.get("nodes") is not None else None,
|
|
242
|
+
"metric_definitions": [MetricDefinition.from_dict(_item) for _item in obj["metric_definitions"]] if obj.get("metric_definitions") is not None else None,
|
|
243
|
+
"data_freshness": DataFreshness.from_dict(obj["data_freshness"]) if obj.get("data_freshness") is not None else None
|
|
218
244
|
})
|
|
219
245
|
return _obj
|
|
220
246
|
|
|
@@ -91,7 +91,7 @@ class ApiClient:
|
|
|
91
91
|
self.default_headers[header_name] = header_value
|
|
92
92
|
self.cookie = cookie
|
|
93
93
|
# Set default User-Agent.
|
|
94
|
-
self.user_agent = 'OpenAPI-Generator/2.2.
|
|
94
|
+
self.user_agent = 'OpenAPI-Generator/2.2.3/python'
|
|
95
95
|
self.client_side_validation = configuration.client_side_validation
|
|
96
96
|
|
|
97
97
|
def __enter__(self):
|
|
@@ -554,7 +554,7 @@ conf = tako.Configuration(
|
|
|
554
554
|
"OS: {env}\n"\
|
|
555
555
|
"Python Version: {pyversion}\n"\
|
|
556
556
|
"Version of the API: 1.0.0\n"\
|
|
557
|
-
"SDK Package Version: 2.2.
|
|
557
|
+
"SDK Package Version: 2.2.3".\
|
|
558
558
|
format(env=sys.platform, pyversion=sys.version)
|
|
559
559
|
|
|
560
560
|
def get_host_settings(self) -> List[HostSetting]:
|
|
@@ -80,7 +80,7 @@ class TakoDatasetView:
|
|
|
80
80
|
def records(self) -> List[Dict[str, Any]]:
|
|
81
81
|
"""One dict per row, keyed by column name. No third-party dependency."""
|
|
82
82
|
names = self.column_names
|
|
83
|
-
return [dict(zip(names, row)) for row in self._normalized_rows()]
|
|
83
|
+
return [dict(zip(names, row, strict=False)) for row in self._normalized_rows()]
|
|
84
84
|
|
|
85
85
|
def to_dataframe(self) -> Any:
|
|
86
86
|
"""A pandas ``DataFrame`` with dtypes coerced from the ``columns`` header.
|
|
@@ -114,7 +114,8 @@ class TakoDatasetView:
|
|
|
114
114
|
frame[name] = pd.to_numeric(frame[name], errors="coerce")
|
|
115
115
|
elif col_type == "boolean":
|
|
116
116
|
frame[name] = frame[name].astype("boolean")
|
|
117
|
-
# "string" (and anything unrecognized) stays object
|
|
117
|
+
# "string" (and anything unrecognized) stays uncoerced: object
|
|
118
|
+
# under pandas < 3, the new str/string dtype under pandas 3
|
|
118
119
|
except (ValueError, TypeError):
|
|
119
120
|
pass # leave the column untouched on an unexpected value
|
|
120
121
|
return frame
|
|
@@ -43,6 +43,7 @@ from tako.models.contents_request import ContentsRequest
|
|
|
43
43
|
from tako.models.contents_response import ContentsResponse
|
|
44
44
|
from tako.models.create_card400_response import CreateCard400Response
|
|
45
45
|
from tako.models.create_card_request import CreateCardRequest
|
|
46
|
+
from tako.models.data_freshness import DataFreshness
|
|
46
47
|
from tako.models.data_pipeline_answer_event import DataPipelineAnswerEvent
|
|
47
48
|
from tako.models.data_source_settings import DataSourceSettings
|
|
48
49
|
from tako.models.entity_class_name import EntityClassName
|
|
@@ -57,6 +58,7 @@ from tako.models.graph_search_response import GraphSearchResponse
|
|
|
57
58
|
from tako.models.heartbeat_event import HeartbeatEvent
|
|
58
59
|
from tako.models.knowledge_card_methodology import KnowledgeCardMethodology
|
|
59
60
|
from tako.models.knowledge_card_relevance import KnowledgeCardRelevance
|
|
61
|
+
from tako.models.metric_definition import MetricDefinition
|
|
60
62
|
from tako.models.ner_label import NerLabel
|
|
61
63
|
from tako.models.output_settings import OutputSettings
|
|
62
64
|
from tako.models.reasoning_event import ReasoningEvent
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Knowledge Search API
|
|
5
|
+
|
|
6
|
+
No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.0.0
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
|
21
|
+
from typing import Any, ClassVar, Dict, List, Optional
|
|
22
|
+
from typing import Optional, Set
|
|
23
|
+
from typing_extensions import Self
|
|
24
|
+
from pydantic_core import to_jsonable_python
|
|
25
|
+
|
|
26
|
+
class DataFreshness(BaseModel):
|
|
27
|
+
"""
|
|
28
|
+
When the card's data was last observed and last refreshed. Either field may be null when that date isn't available for the card type.
|
|
29
|
+
""" # noqa: E501
|
|
30
|
+
data_as_of: Optional[StrictStr] = Field(default=None, description="Date of the most recent observation in the card's data, as an ISO date (YYYY-MM-DD). Null for card types without a coverage date.")
|
|
31
|
+
last_updated: Optional[StrictStr] = Field(default=None, description="Date Tako last refreshed the underlying data, as an ISO date (YYYY-MM-DD).")
|
|
32
|
+
__properties: ClassVar[List[str]] = ["data_as_of", "last_updated"]
|
|
33
|
+
|
|
34
|
+
model_config = ConfigDict(
|
|
35
|
+
validate_by_name=True,
|
|
36
|
+
validate_by_alias=True,
|
|
37
|
+
validate_assignment=True,
|
|
38
|
+
protected_namespaces=(),
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def to_str(self) -> str:
|
|
43
|
+
"""Returns the string representation of the model using alias"""
|
|
44
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
45
|
+
|
|
46
|
+
def to_json(self) -> str:
|
|
47
|
+
"""Returns the JSON representation of the model using alias"""
|
|
48
|
+
return json.dumps(to_jsonable_python(self.to_dict()))
|
|
49
|
+
|
|
50
|
+
@classmethod
|
|
51
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
52
|
+
"""Create an instance of DataFreshness from a JSON string"""
|
|
53
|
+
return cls.from_dict(json.loads(json_str))
|
|
54
|
+
|
|
55
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
56
|
+
"""Return the dictionary representation of the model using alias.
|
|
57
|
+
|
|
58
|
+
This has the following differences from calling pydantic's
|
|
59
|
+
`self.model_dump(by_alias=True)`:
|
|
60
|
+
|
|
61
|
+
* `None` is only added to the output dict for nullable fields that
|
|
62
|
+
were set at model initialization. Other fields with value `None`
|
|
63
|
+
are ignored.
|
|
64
|
+
"""
|
|
65
|
+
excluded_fields: Set[str] = set([
|
|
66
|
+
])
|
|
67
|
+
|
|
68
|
+
_dict = self.model_dump(
|
|
69
|
+
by_alias=True,
|
|
70
|
+
exclude=excluded_fields,
|
|
71
|
+
exclude_none=True,
|
|
72
|
+
)
|
|
73
|
+
# set to None if data_as_of (nullable) is None
|
|
74
|
+
# and model_fields_set contains the field
|
|
75
|
+
if self.data_as_of is None and "data_as_of" in self.model_fields_set:
|
|
76
|
+
_dict['data_as_of'] = None
|
|
77
|
+
|
|
78
|
+
# set to None if last_updated (nullable) is None
|
|
79
|
+
# and model_fields_set contains the field
|
|
80
|
+
if self.last_updated is None and "last_updated" in self.model_fields_set:
|
|
81
|
+
_dict['last_updated'] = None
|
|
82
|
+
|
|
83
|
+
return _dict
|
|
84
|
+
|
|
85
|
+
@classmethod
|
|
86
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
87
|
+
"""Create an instance of DataFreshness from a dict"""
|
|
88
|
+
if obj is None:
|
|
89
|
+
return None
|
|
90
|
+
|
|
91
|
+
if not isinstance(obj, dict):
|
|
92
|
+
return cls.model_validate(obj)
|
|
93
|
+
|
|
94
|
+
_obj = cls.model_validate({
|
|
95
|
+
"data_as_of": obj.get("data_as_of"),
|
|
96
|
+
"last_updated": obj.get("last_updated")
|
|
97
|
+
})
|
|
98
|
+
return _obj
|
|
99
|
+
|
|
100
|
+
|
|
@@ -28,7 +28,7 @@ class KnowledgeCardMethodology(BaseModel):
|
|
|
28
28
|
KnowledgeCardMethodology
|
|
29
29
|
""" # noqa: E501
|
|
30
30
|
methodology_name: Optional[StrictStr] = Field(description="The name of the methodology")
|
|
31
|
-
methodology_description: Optional[StrictStr] = Field(description="
|
|
31
|
+
methodology_description: Optional[StrictStr] = Field(description="A concise, one-sentence summary of the methodology (source and what is measured). Falls back to the full methodology text when no concise summary is available.")
|
|
32
32
|
__properties: ClassVar[List[str]] = ["methodology_name", "methodology_description"]
|
|
33
33
|
|
|
34
34
|
model_config = ConfigDict(
|