qtype 0.0.10__tar.gz → 0.1.7__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.
- {qtype-0.0.10/qtype.egg-info → qtype-0.1.7}/PKG-INFO +26 -5
- {qtype-0.0.10 → qtype-0.1.7}/pyproject.toml +45 -10
- qtype-0.1.7/qtype/application/__init__.py +12 -0
- qtype-0.1.7/qtype/application/commons/__init__.py +7 -0
- {qtype-0.0.10/qtype → qtype-0.1.7/qtype/application}/commons/tools.py +1 -1
- qtype-0.1.7/qtype/application/converters/tools_from_api.py +489 -0
- {qtype-0.0.10/qtype → qtype-0.1.7/qtype/application}/converters/tools_from_module.py +40 -16
- qtype-0.1.7/qtype/application/converters/types.py +18 -0
- qtype-0.0.10/qtype/dsl/document.py → qtype-0.1.7/qtype/application/documentation.py +3 -1
- qtype-0.1.7/qtype/application/facade.py +177 -0
- qtype-0.1.7/qtype/base/__init__.py +14 -0
- qtype-0.1.7/qtype/base/exceptions.py +49 -0
- qtype-0.1.7/qtype/base/logging.py +39 -0
- qtype-0.1.7/qtype/base/types.py +249 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/cli.py +5 -1
- qtype-0.1.7/qtype/commands/convert.py +150 -0
- qtype-0.1.7/qtype/commands/generate.py +210 -0
- qtype-0.1.7/qtype/commands/run.py +202 -0
- qtype-0.1.7/qtype/commands/serve.py +117 -0
- qtype-0.1.7/qtype/commands/validate.py +99 -0
- qtype-0.1.7/qtype/commands/visualize.py +122 -0
- qtype-0.1.7/qtype/dsl/__init__.py +11 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/dsl/custom_types.py +6 -4
- qtype-0.1.7/qtype/dsl/domain_types.py +140 -0
- qtype-0.1.7/qtype/dsl/linker.py +384 -0
- qtype-0.1.7/qtype/dsl/loader.py +315 -0
- qtype-0.1.7/qtype/dsl/model.py +1296 -0
- qtype-0.1.7/qtype/dsl/parser.py +200 -0
- qtype-0.1.7/qtype/dsl/types.py +50 -0
- qtype-0.1.7/qtype/interpreter/api.py +123 -0
- qtype-0.1.7/qtype/interpreter/auth/__init__.py +3 -0
- qtype-0.1.7/qtype/interpreter/auth/aws.py +244 -0
- qtype-0.1.7/qtype/interpreter/auth/cache.py +67 -0
- qtype-0.1.7/qtype/interpreter/auth/generic.py +180 -0
- qtype-0.1.7/qtype/interpreter/base/base_step_executor.py +436 -0
- qtype-0.1.7/qtype/interpreter/base/batch_step_executor.py +171 -0
- qtype-0.1.7/qtype/interpreter/base/exceptions.py +50 -0
- qtype-0.1.7/qtype/interpreter/base/executor_context.py +91 -0
- qtype-0.1.7/qtype/interpreter/base/factory.py +84 -0
- qtype-0.1.7/qtype/interpreter/base/progress_tracker.py +110 -0
- qtype-0.1.7/qtype/interpreter/base/secrets.py +339 -0
- qtype-0.1.7/qtype/interpreter/base/step_cache.py +74 -0
- qtype-0.1.7/qtype/interpreter/base/stream_emitter.py +469 -0
- qtype-0.1.7/qtype/interpreter/conversions.py +637 -0
- qtype-0.1.7/qtype/interpreter/converters.py +79 -0
- qtype-0.1.7/qtype/interpreter/endpoints.py +355 -0
- qtype-0.1.7/qtype/interpreter/executors/agent_executor.py +242 -0
- qtype-0.1.7/qtype/interpreter/executors/aggregate_executor.py +93 -0
- qtype-0.1.7/qtype/interpreter/executors/bedrock_reranker_executor.py +195 -0
- qtype-0.1.7/qtype/interpreter/executors/decoder_executor.py +163 -0
- qtype-0.1.7/qtype/interpreter/executors/doc_to_text_executor.py +112 -0
- qtype-0.1.7/qtype/interpreter/executors/document_embedder_executor.py +123 -0
- qtype-0.1.7/qtype/interpreter/executors/document_search_executor.py +113 -0
- qtype-0.1.7/qtype/interpreter/executors/document_source_executor.py +118 -0
- qtype-0.1.7/qtype/interpreter/executors/document_splitter_executor.py +105 -0
- qtype-0.1.7/qtype/interpreter/executors/echo_executor.py +63 -0
- qtype-0.1.7/qtype/interpreter/executors/field_extractor_executor.py +165 -0
- qtype-0.1.7/qtype/interpreter/executors/file_source_executor.py +101 -0
- qtype-0.1.7/qtype/interpreter/executors/file_writer_executor.py +110 -0
- qtype-0.1.7/qtype/interpreter/executors/index_upsert_executor.py +232 -0
- qtype-0.1.7/qtype/interpreter/executors/invoke_embedding_executor.py +104 -0
- qtype-0.1.7/qtype/interpreter/executors/invoke_flow_executor.py +51 -0
- qtype-0.1.7/qtype/interpreter/executors/invoke_tool_executor.py +358 -0
- qtype-0.1.7/qtype/interpreter/executors/llm_inference_executor.py +272 -0
- qtype-0.1.7/qtype/interpreter/executors/prompt_template_executor.py +78 -0
- qtype-0.1.7/qtype/interpreter/executors/sql_source_executor.py +106 -0
- qtype-0.1.7/qtype/interpreter/executors/vector_search_executor.py +91 -0
- qtype-0.1.7/qtype/interpreter/flow.py +187 -0
- qtype-0.1.7/qtype/interpreter/logging_progress.py +61 -0
- qtype-0.1.7/qtype/interpreter/metadata_api.py +115 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/interpreter/resource_cache.py +6 -3
- qtype-0.1.7/qtype/interpreter/rich_progress.py +225 -0
- qtype-0.1.7/qtype/interpreter/stream/chat/__init__.py +15 -0
- qtype-0.1.7/qtype/interpreter/stream/chat/converter.py +391 -0
- {qtype-0.0.10/qtype/interpreter → qtype-0.1.7/qtype/interpreter/stream}/chat/file_conversions.py +2 -2
- qtype-0.1.7/qtype/interpreter/stream/chat/ui_request_to_domain_type.py +140 -0
- qtype-0.1.7/qtype/interpreter/stream/chat/vercel.py +609 -0
- qtype-0.1.7/qtype/interpreter/stream/utils/__init__.py +15 -0
- qtype-0.1.7/qtype/interpreter/stream/utils/build_vercel_ai_formatter.py +74 -0
- qtype-0.1.7/qtype/interpreter/stream/utils/callback_to_stream.py +66 -0
- qtype-0.1.7/qtype/interpreter/stream/utils/create_streaming_response.py +18 -0
- qtype-0.1.7/qtype/interpreter/stream/utils/default_chat_extract_text.py +20 -0
- qtype-0.1.7/qtype/interpreter/stream/utils/error_streaming_response.py +20 -0
- qtype-0.1.7/qtype/interpreter/telemetry.py +143 -0
- qtype-0.1.7/qtype/interpreter/tools/__init__.py +5 -0
- qtype-0.1.7/qtype/interpreter/tools/function_tool_helper.py +265 -0
- qtype-0.1.7/qtype/interpreter/types.py +330 -0
- qtype-0.1.7/qtype/interpreter/typing.py +127 -0
- qtype-0.1.7/qtype/interpreter/ui/404/index.html +1 -0
- qtype-0.1.7/qtype/interpreter/ui/404.html +1 -0
- {qtype-0.0.10/qtype/interpreter/ui/_next/static/Jb2murBlt2XkN6punrQbE → qtype-0.1.7/qtype/interpreter/ui/_next/static/20HoJN6otZ_LyHLHpCPE6}/_buildManifest.js +1 -1
- qtype-0.1.7/qtype/interpreter/ui/_next/static/chunks/434-b2112d19f25c44ff.js +36 -0
- qtype-0.0.10/qtype/interpreter/ui/_next/static/chunks/964-ed4ab073db645007.js → qtype-0.1.7/qtype/interpreter/ui/_next/static/chunks/964-2b041321a01cbf56.js +1 -1
- qtype-0.0.10/qtype/interpreter/ui/_next/static/chunks/app/layout-5ccbc44fd528d089.js → qtype-0.1.7/qtype/interpreter/ui/_next/static/chunks/app/layout-a05273ead5de2c41.js +1 -1
- qtype-0.1.7/qtype/interpreter/ui/_next/static/chunks/app/page-8c67d16ac90d23cb.js +1 -0
- qtype-0.1.7/qtype/interpreter/ui/_next/static/chunks/ba12c10f-546f2714ff8abc66.js +1 -0
- qtype-0.0.10/qtype/interpreter/ui/_next/static/chunks/main-6d261b6c5d6fb6c2.js → qtype-0.1.7/qtype/interpreter/ui/_next/static/chunks/main-e26b9cb206da2cac.js +1 -1
- qtype-0.1.7/qtype/interpreter/ui/_next/static/chunks/webpack-08642e441b39b6c2.js +1 -0
- qtype-0.1.7/qtype/interpreter/ui/_next/static/css/8a8d1269e362fef7.css +3 -0
- qtype-0.1.7/qtype/interpreter/ui/_next/static/media/4cf2300e9c8272f7-s.p.woff2 +0 -0
- qtype-0.1.7/qtype/interpreter/ui/icon.png +0 -0
- qtype-0.1.7/qtype/interpreter/ui/index.html +1 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/interpreter/ui/index.txt +5 -5
- qtype-0.1.7/qtype/semantic/checker.py +643 -0
- qtype-0.1.7/qtype/semantic/generate.py +624 -0
- qtype-0.1.7/qtype/semantic/loader.py +95 -0
- qtype-0.1.7/qtype/semantic/model.py +839 -0
- qtype-0.1.7/qtype/semantic/resolver.py +141 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/semantic/visualize.py +50 -35
- {qtype-0.0.10 → qtype-0.1.7/qtype.egg-info}/PKG-INFO +26 -5
- qtype-0.1.7/qtype.egg-info/SOURCES.txt +140 -0
- qtype-0.1.7/qtype.egg-info/requires.txt +44 -0
- qtype-0.0.10/qtype/commands/convert.py +0 -89
- qtype-0.0.10/qtype/commands/generate.py +0 -115
- qtype-0.0.10/qtype/commands/run.py +0 -123
- qtype-0.0.10/qtype/commands/serve.py +0 -73
- qtype-0.0.10/qtype/commands/validate.py +0 -93
- qtype-0.0.10/qtype/commands/visualize.py +0 -87
- qtype-0.0.10/qtype/commons/generate.py +0 -93
- qtype-0.0.10/qtype/converters/tools_from_api.py +0 -24
- qtype-0.0.10/qtype/converters/types.py +0 -66
- qtype-0.0.10/qtype/dsl/__init__.py +0 -1
- qtype-0.0.10/qtype/dsl/base_types.py +0 -30
- qtype-0.0.10/qtype/dsl/domain_types.py +0 -59
- qtype-0.0.10/qtype/dsl/model.py +0 -672
- qtype-0.0.10/qtype/dsl/validator.py +0 -459
- qtype-0.0.10/qtype/interpreter/api.py +0 -140
- qtype-0.0.10/qtype/interpreter/chat/chat_api.py +0 -237
- qtype-0.0.10/qtype/interpreter/chat/vercel.py +0 -314
- qtype-0.0.10/qtype/interpreter/conversions.py +0 -155
- qtype-0.0.10/qtype/interpreter/exceptions.py +0 -10
- qtype-0.0.10/qtype/interpreter/flow.py +0 -37
- qtype-0.0.10/qtype/interpreter/step.py +0 -67
- qtype-0.0.10/qtype/interpreter/steps/__init__.py +0 -0
- qtype-0.0.10/qtype/interpreter/steps/agent.py +0 -114
- qtype-0.0.10/qtype/interpreter/steps/condition.py +0 -36
- qtype-0.0.10/qtype/interpreter/steps/decoder.py +0 -84
- qtype-0.0.10/qtype/interpreter/steps/llm_inference.py +0 -152
- qtype-0.0.10/qtype/interpreter/steps/prompt_template.py +0 -54
- qtype-0.0.10/qtype/interpreter/steps/search.py +0 -24
- qtype-0.0.10/qtype/interpreter/steps/tool.py +0 -53
- qtype-0.0.10/qtype/interpreter/streaming_helpers.py +0 -123
- qtype-0.0.10/qtype/interpreter/telemetry.py +0 -16
- qtype-0.0.10/qtype/interpreter/typing.py +0 -97
- qtype-0.0.10/qtype/interpreter/ui/404/index.html +0 -1
- qtype-0.0.10/qtype/interpreter/ui/404.html +0 -1
- qtype-0.0.10/qtype/interpreter/ui/_next/static/chunks/736-7fc606e244fedcb1.js +0 -36
- qtype-0.0.10/qtype/interpreter/ui/_next/static/chunks/app/page-c72e847e888e549d.js +0 -1
- qtype-0.0.10/qtype/interpreter/ui/_next/static/chunks/ba12c10f-22556063851a6df2.js +0 -1
- qtype-0.0.10/qtype/interpreter/ui/_next/static/chunks/webpack-8289c17c67827f22.js +0 -1
- qtype-0.0.10/qtype/interpreter/ui/_next/static/css/a262c53826df929b.css +0 -3
- qtype-0.0.10/qtype/interpreter/ui/_next/static/media/569ce4b8f30dc480-s.p.woff2 +0 -0
- qtype-0.0.10/qtype/interpreter/ui/favicon.ico +0 -0
- qtype-0.0.10/qtype/interpreter/ui/index.html +0 -1
- qtype-0.0.10/qtype/loader.py +0 -390
- qtype-0.0.10/qtype/semantic/__init__.py +0 -0
- qtype-0.0.10/qtype/semantic/errors.py +0 -4
- qtype-0.0.10/qtype/semantic/generate.py +0 -389
- qtype-0.0.10/qtype/semantic/model.py +0 -336
- qtype-0.0.10/qtype/semantic/resolver.py +0 -97
- qtype-0.0.10/qtype.egg-info/SOURCES.txt +0 -98
- qtype-0.0.10/qtype.egg-info/requires.txt +0 -23
- qtype-0.0.10/tests/test_dsl_loader.py +0 -706
- qtype-0.0.10/tests/test_dsl_validation.py +0 -157
- qtype-0.0.10/tests/test_semantic_resolver.py +0 -84
- qtype-0.0.10/tests/test_tools_from_module.py +0 -296
- {qtype-0.0.10 → qtype-0.1.7}/LICENSE +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/README.md +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/__init__.py +0 -0
- {qtype-0.0.10/qtype/commons → qtype-0.1.7/qtype/application/converters}/__init__.py +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/commands/__init__.py +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/interpreter/__init__.py +0 -0
- {qtype-0.0.10/qtype/interpreter/ui/_next/static/Jb2murBlt2XkN6punrQbE → qtype-0.1.7/qtype/interpreter/ui/_next/static/20HoJN6otZ_LyHLHpCPE6}/_ssgManifest.js +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/interpreter/ui/_next/static/chunks/4bd1b696-cf72ae8a39fa05aa.js +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/interpreter/ui/_next/static/chunks/app/_not-found/page-e110d2a9d0a83d82.js +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/interpreter/ui/_next/static/chunks/framework-7c95b8e5103c9e90.js +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/interpreter/ui/_next/static/chunks/main-app-6fc6346bc8f7f163.js +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/interpreter/ui/_next/static/chunks/pages/_app-0a0020ddd67f79cf.js +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/interpreter/ui/_next/static/chunks/pages/_error-03529f2c21436739.js +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/interpreter/ui/_next/static/chunks/polyfills-42372ed130431b0a.js +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/interpreter/ui/_next/static/media/747892c23ea88013-s.woff2 +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/interpreter/ui/_next/static/media/8d697b304b401681-s.woff2 +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/interpreter/ui/_next/static/media/93f479601ee12b01-s.p.woff2 +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/interpreter/ui/_next/static/media/9610d9e46709d722-s.woff2 +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/interpreter/ui/_next/static/media/ba015fad6dcf6784-s.woff2 +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/interpreter/ui/file.svg +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/interpreter/ui/globe.svg +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/interpreter/ui/next.svg +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/interpreter/ui/vercel.svg +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/interpreter/ui/window.svg +0 -0
- {qtype-0.0.10/qtype/converters → qtype-0.1.7/qtype/semantic}/__init__.py +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype/semantic/base_types.py +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype.egg-info/dependency_links.txt +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype.egg-info/entry_points.txt +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/qtype.egg-info/top_level.txt +0 -0
- {qtype-0.0.10 → qtype-0.1.7}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: qtype
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.1.7
|
|
4
4
|
Summary: DSL for Generative AI Prototyping
|
|
5
5
|
Author-email: Lou Kratz <lou.kratz+qtype@bazaarvoice.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -9,26 +9,47 @@ Requires-Python: >=3.10
|
|
|
9
9
|
Description-Content-Type: text/markdown
|
|
10
10
|
License-File: LICENSE
|
|
11
11
|
Requires-Dist: jsonschema>=4.24.0
|
|
12
|
-
Requires-Dist: pydantic>=2.
|
|
12
|
+
Requires-Dist: pydantic>=2.12.4
|
|
13
13
|
Requires-Dist: pyyaml>=6.0.2
|
|
14
14
|
Requires-Dist: python-dotenv>=1.0.0
|
|
15
15
|
Requires-Dist: openai>=1.93.0
|
|
16
16
|
Requires-Dist: fsspec>=2025.5.1
|
|
17
|
-
Requires-Dist: pydantic-yaml>=1.5.1
|
|
18
17
|
Requires-Dist: mkdocs-awesome-pages-plugin>=2.10.1
|
|
19
|
-
Requires-Dist:
|
|
18
|
+
Requires-Dist: pip-system-certs>=5.2
|
|
19
|
+
Requires-Dist: openapi3-parser>=1.1.21
|
|
20
|
+
Requires-Dist: pydantic-yaml>=1.6.0
|
|
21
|
+
Requires-Dist: google-cloud-aiplatform>=1.120.0
|
|
20
22
|
Provides-Extra: interpreter
|
|
23
|
+
Requires-Dist: aiostream>=0.7.1; extra == "interpreter"
|
|
21
24
|
Requires-Dist: arize-phoenix-otel>=0.12.1; extra == "interpreter"
|
|
22
25
|
Requires-Dist: boto3>=1.34.0; extra == "interpreter"
|
|
26
|
+
Requires-Dist: datasets>=4.4.1; extra == "interpreter"
|
|
27
|
+
Requires-Dist: diskcache>=5.6.3; extra == "interpreter"
|
|
28
|
+
Requires-Dist: docling>=2.55.1; extra == "interpreter"
|
|
29
|
+
Requires-Dist: docx2txt>=0.9; extra == "interpreter"
|
|
23
30
|
Requires-Dist: fastapi>=0.116.1; extra == "interpreter"
|
|
31
|
+
Requires-Dist: jsonpath-ng>=1.7.0; extra == "interpreter"
|
|
32
|
+
Requires-Dist: langfuse>=3.9.0; extra == "interpreter"
|
|
24
33
|
Requires-Dist: llama-index-embeddings-bedrock>=0.5.2; extra == "interpreter"
|
|
25
34
|
Requires-Dist: llama-index-embeddings-openai>=0.3.1; extra == "interpreter"
|
|
26
|
-
Requires-Dist: llama-index-llms-bedrock-converse>=0.
|
|
35
|
+
Requires-Dist: llama-index-llms-bedrock-converse>=0.10.5; extra == "interpreter"
|
|
27
36
|
Requires-Dist: llama-index-llms-bedrock>=0.3.8; extra == "interpreter"
|
|
37
|
+
Requires-Dist: llama-index-llms-vertex>=0.6.1; extra == "interpreter"
|
|
38
|
+
Requires-Dist: llama-index-postprocessor-bedrock-rerank>=0.5.1; extra == "interpreter"
|
|
39
|
+
Requires-Dist: llama-index-readers-huggingface-fs>=0.4.1; extra == "interpreter"
|
|
40
|
+
Requires-Dist: llama-index-vector-stores-qdrant>=0.8.6; extra == "interpreter"
|
|
28
41
|
Requires-Dist: llama-index>=0.12.45; extra == "interpreter"
|
|
29
42
|
Requires-Dist: openinference-instrumentation-llama-index>=4.3.4; extra == "interpreter"
|
|
43
|
+
Requires-Dist: opensearch-py>=2.7.0; extra == "interpreter"
|
|
44
|
+
Requires-Dist: opentelemetry-exporter-otlp>=1.35.0; extra == "interpreter"
|
|
45
|
+
Requires-Dist: opentelemetry-sdk>=1.35.0; extra == "interpreter"
|
|
46
|
+
Requires-Dist: pandas>=2.2.3; extra == "interpreter"
|
|
30
47
|
Requires-Dist: psycopg2-binary>=2.9.10; extra == "interpreter"
|
|
48
|
+
Requires-Dist: pyarrow>=21.0.0; extra == "interpreter"
|
|
49
|
+
Requires-Dist: pyathena[sqlalchemy]>=3.18.0; extra == "interpreter"
|
|
31
50
|
Requires-Dist: python-magic>=0.4.27; extra == "interpreter"
|
|
51
|
+
Requires-Dist: s3fs>=2025.7.0; extra == "interpreter"
|
|
52
|
+
Requires-Dist: sqlalchemy>=2.0.42; extra == "interpreter"
|
|
32
53
|
Requires-Dist: uvicorn[standard]>=0.35.0; extra == "interpreter"
|
|
33
54
|
Dynamic: license-file
|
|
34
55
|
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "qtype"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.1.7"
|
|
4
4
|
description = "DSL for Generative AI Prototyping"
|
|
5
5
|
authors = [{ name="Lou Kratz", email="lou.kratz+qtype@bazaarvoice.com" }]
|
|
6
6
|
readme = "README.md"
|
|
7
7
|
requires-python = ">=3.10"
|
|
8
8
|
dependencies = [
|
|
9
9
|
"jsonschema>=4.24.0",
|
|
10
|
-
"pydantic>=2.
|
|
10
|
+
"pydantic>=2.12.4",
|
|
11
11
|
"pyyaml>=6.0.2",
|
|
12
12
|
"python-dotenv>=1.0.0",
|
|
13
13
|
"openai>=1.93.0",
|
|
14
14
|
"fsspec>=2025.5.1",
|
|
15
|
-
"pydantic-yaml>=1.5.1",
|
|
16
15
|
"mkdocs-awesome-pages-plugin>=2.10.1",
|
|
17
|
-
"
|
|
16
|
+
"pip-system-certs>=5.2",
|
|
17
|
+
"openapi3-parser>=1.1.21",
|
|
18
|
+
"pydantic-yaml>=1.6.0",
|
|
19
|
+
"google-cloud-aiplatform>=1.120.0",
|
|
18
20
|
]
|
|
19
21
|
license = "APACHE-2.0"
|
|
20
22
|
license-files = ["LICEN[CS]E*"]
|
|
@@ -24,17 +26,36 @@ Homepage = "https://github.com/bazaarvoice/qtype"
|
|
|
24
26
|
|
|
25
27
|
[project.optional-dependencies]
|
|
26
28
|
interpreter = [
|
|
29
|
+
"aiostream>=0.7.1",
|
|
27
30
|
"arize-phoenix-otel>=0.12.1",
|
|
28
31
|
"boto3>=1.34.0",
|
|
32
|
+
"datasets>=4.4.1",
|
|
33
|
+
"diskcache>=5.6.3",
|
|
34
|
+
"docling>=2.55.1",
|
|
35
|
+
"docx2txt>=0.9",
|
|
29
36
|
"fastapi>=0.116.1",
|
|
37
|
+
"jsonpath-ng>=1.7.0",
|
|
38
|
+
"langfuse>=3.9.0",
|
|
30
39
|
"llama-index-embeddings-bedrock>=0.5.2",
|
|
31
40
|
"llama-index-embeddings-openai>=0.3.1",
|
|
32
|
-
"llama-index-llms-bedrock-converse>=0.
|
|
41
|
+
"llama-index-llms-bedrock-converse>=0.10.5",
|
|
33
42
|
"llama-index-llms-bedrock>=0.3.8",
|
|
43
|
+
"llama-index-llms-vertex>=0.6.1",
|
|
44
|
+
"llama-index-postprocessor-bedrock-rerank>=0.5.1",
|
|
45
|
+
"llama-index-readers-huggingface-fs>=0.4.1",
|
|
46
|
+
"llama-index-vector-stores-qdrant>=0.8.6",
|
|
34
47
|
"llama-index>=0.12.45",
|
|
35
48
|
"openinference-instrumentation-llama-index>=4.3.4",
|
|
49
|
+
"opensearch-py>=2.7.0",
|
|
50
|
+
"opentelemetry-exporter-otlp>=1.35.0",
|
|
51
|
+
"opentelemetry-sdk>=1.35.0",
|
|
52
|
+
"pandas>=2.2.3",
|
|
36
53
|
"psycopg2-binary>=2.9.10",
|
|
54
|
+
"pyarrow>=21.0.0",
|
|
55
|
+
"pyathena[sqlalchemy]>=3.18.0",
|
|
37
56
|
"python-magic>=0.4.27",
|
|
57
|
+
"s3fs>=2025.7.0",
|
|
58
|
+
"sqlalchemy>=2.0.42",
|
|
38
59
|
"uvicorn[standard]>=0.35.0",
|
|
39
60
|
]
|
|
40
61
|
|
|
@@ -45,6 +66,7 @@ dev = [
|
|
|
45
66
|
"coverage>=7.0.0",
|
|
46
67
|
"ipython>=8.37.0",
|
|
47
68
|
"isort>=5.13.0",
|
|
69
|
+
"mermaid-py>=0.8.0",
|
|
48
70
|
"mkdocs-awesome-pages-plugin>=2.10.1",
|
|
49
71
|
"mkdocs-material>=9.6.15",
|
|
50
72
|
"mkdocs>=1.6.1",
|
|
@@ -52,13 +74,18 @@ dev = [
|
|
|
52
74
|
"mkdocstrings>=0.30.0",
|
|
53
75
|
"mypy>=1.8.0",
|
|
54
76
|
"networkx>=3.4.2",
|
|
77
|
+
"pandas-stubs>=2.3.2.250827",
|
|
55
78
|
"pkginfo>=1.12.1.2",
|
|
56
79
|
"pre-commit>=3.6.0",
|
|
57
80
|
"pymdown-extensions>=10.16",
|
|
81
|
+
"pytest-asyncio>=1.2.0",
|
|
58
82
|
"pytest-cov>=6.0.0",
|
|
59
83
|
"pytest>=8.4.1",
|
|
60
84
|
"ruff>=0.1.0",
|
|
85
|
+
"types-cachetools>=6.2.0.20250827",
|
|
86
|
+
"types-networkx>=3.5.0.20250901",
|
|
61
87
|
"types-PyYAML>=6.0.2",
|
|
88
|
+
"types-requests>=2.32.4.20250809",
|
|
62
89
|
]
|
|
63
90
|
docs = [
|
|
64
91
|
"mkdocs>=1.5.0",
|
|
@@ -68,6 +95,8 @@ docs = [
|
|
|
68
95
|
[tool.uv]
|
|
69
96
|
# Install dev dependencies by default when running uv sync
|
|
70
97
|
default-groups = ["dev"]
|
|
98
|
+
# Install the package itself in editable mode
|
|
99
|
+
package = true
|
|
71
100
|
# Use highest resolution strategy for dependencies
|
|
72
101
|
resolution = "highest"
|
|
73
102
|
# Compile bytecode for faster subsequent runs
|
|
@@ -110,12 +139,17 @@ python_version = "3.10"
|
|
|
110
139
|
warn_return_any = true
|
|
111
140
|
warn_unused_configs = true
|
|
112
141
|
disallow_untyped_defs = true
|
|
142
|
+
explicit_package_bases = true
|
|
113
143
|
plugins = ["pydantic.mypy"]
|
|
114
144
|
|
|
115
145
|
[[tool.mypy.overrides]]
|
|
116
146
|
module = "tests.*"
|
|
117
147
|
disallow_untyped_defs = false
|
|
118
148
|
|
|
149
|
+
[[tool.mypy.overrides]]
|
|
150
|
+
module = "qtype.semantic.model"
|
|
151
|
+
ignore_errors = true
|
|
152
|
+
|
|
119
153
|
[tool.pydantic-mypy]
|
|
120
154
|
init_forbid_extra = true
|
|
121
155
|
init_typed = true
|
|
@@ -124,11 +158,9 @@ warn_required_dynamic_aliases = true
|
|
|
124
158
|
[tool.coverage.run]
|
|
125
159
|
source = ["qtype"]
|
|
126
160
|
omit = [
|
|
127
|
-
"
|
|
128
|
-
"
|
|
129
|
-
"
|
|
130
|
-
"*/venv/*",
|
|
131
|
-
"*/.venv/*",
|
|
161
|
+
"qtype/commands/*",
|
|
162
|
+
"qtype/interpreter/*", # TODO: expand coverage here.
|
|
163
|
+
"qtype/*.py",
|
|
132
164
|
]
|
|
133
165
|
|
|
134
166
|
[tool.coverage.report]
|
|
@@ -169,4 +201,7 @@ filterwarnings = [
|
|
|
169
201
|
markers = [
|
|
170
202
|
"slow: marks tests as slow (deselect with '-m \"not slow\"')",
|
|
171
203
|
"network: marks tests as requiring network access",
|
|
204
|
+
"asyncio: marks tests as async tests using asyncio",
|
|
172
205
|
]
|
|
206
|
+
# Configure pytest-asyncio to automatically detect async tests
|
|
207
|
+
asyncio_mode = "auto"
|
|
@@ -180,7 +180,7 @@ def parse_duration_string(duration: str) -> int:
|
|
|
180
180
|
|
|
181
181
|
def format_datetime(timestamp: datetime, format_string: str) -> str:
|
|
182
182
|
"""
|
|
183
|
-
Format a timestamp using a custom format string.
|
|
183
|
+
Format a timestamp using a custom format string that can be passed to strftime.
|
|
184
184
|
|
|
185
185
|
Args:
|
|
186
186
|
timestamp: Datetime object to format.
|