weave-python 0.28.1__tar.gz → 0.30.3__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.
- weave_python-0.30.3/.github/runs-on.yml +1 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/.github/workflows/generate.yaml +52 -15
- {weave_python-0.28.1 → weave_python-0.30.3}/.github/workflows/release.yaml +9 -5
- {weave_python-0.28.1 → weave_python-0.30.3}/.gitignore +2 -1
- weave_python-0.30.3/LICENSE +120 -0
- weave_python-0.30.3/PKG-INFO +52 -0
- weave_python-0.30.3/README.md +41 -0
- weave_python-0.30.3/Taskfile.yaml +20 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/buf.gen.yaml +2 -2
- {weave_python-0.28.1 → weave_python-0.30.3}/pyproject.toml +6 -1
- {weave_python-0.28.1 → weave_python-0.30.3}/tools/sqlcgen/README.md +5 -2
- {weave_python-0.28.1 → weave_python-0.30.3}/tools/sqlcgen/sqlcgen.py +23 -2
- {weave_python-0.28.1 → weave_python-0.30.3}/tools/sqlcgen/test_sqlcgen.py +18 -3
- weave_python-0.30.3/uv.lock +151 -0
- weave_python-0.30.3/weave/weaveapi/auth/v1/service_pb2.py +324 -0
- weave_python-0.30.3/weave/weaveapi/auth/v1/service_pb2.pyi +1560 -0
- weave_python-0.30.3/weave/weaveapi/auth/v1/service_pb2_grpc.pyi +519 -0
- weave_python-0.30.3/weave/weaveapi/auth/v1/session_pb2.py +46 -0
- weave_python-0.30.3/weave/weaveapi/auth/v1/session_pb2.pyi +131 -0
- weave_python-0.30.3/weave/weaveapi/auth/v1/session_pb2_grpc.pyi +21 -0
- weave_python-0.30.3/weave/weaveapi/auth/v1/usage_pb2.py +56 -0
- weave_python-0.30.3/weave/weaveapi/auth/v1/usage_pb2.pyi +295 -0
- weave_python-0.30.3/weave/weaveapi/auth/v1/usage_pb2_grpc.pyi +21 -0
- weave_python-0.30.3/weave/weaveapi/auth/v1/user_pb2.py +94 -0
- weave_python-0.30.3/weave/weaveapi/auth/v1/user_pb2.pyi +677 -0
- weave_python-0.30.3/weave/weaveapi/auth/v1/user_pb2_grpc.pyi +21 -0
- weave_python-0.30.3/weave/weaveapi/generate/v1/configuration_pb2.py +69 -0
- weave_python-0.30.3/weave/weaveapi/generate/v1/configuration_pb2.pyi +406 -0
- weave_python-0.30.3/weave/weaveapi/generate/v1/configuration_pb2_grpc.pyi +21 -0
- weave_python-0.30.3/weave/weaveapi/generate/v1/generate_pb2.py +64 -0
- weave_python-0.30.3/weave/weaveapi/generate/v1/generate_pb2.pyi +150 -0
- weave_python-0.30.3/weave/weaveapi/generate/v1/generate_pb2_grpc.pyi +21 -0
- weave_python-0.30.3/weave/weaveapi/generate/v1/service_pb2.py +114 -0
- weave_python-0.30.3/weave/weaveapi/generate/v1/service_pb2.pyi +330 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/generate/v1/service_pb2_grpc.py +47 -0
- weave_python-0.30.3/weave/weaveapi/generate/v1/service_pb2_grpc.pyi +127 -0
- weave_python-0.30.3/weave/weaveapi/llmx/v1/architecture_pb2.py +74 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/llmx/v1/architecture_pb2.pyi +664 -555
- weave_python-0.30.3/weave/weaveapi/llmx/v1/architecture_pb2_grpc.pyi +21 -0
- weave_python-0.30.3/weave/weaveapi/llmx/v1/capabilities_pb2.py +120 -0
- weave_python-0.30.3/weave/weaveapi/llmx/v1/capabilities_pb2.pyi +1728 -0
- weave_python-0.30.3/weave/weaveapi/llmx/v1/capabilities_pb2_grpc.pyi +21 -0
- weave_python-0.30.3/weave/weaveapi/llmx/v1/model_pb2.py +90 -0
- weave_python-0.30.3/weave/weaveapi/llmx/v1/model_pb2.pyi +825 -0
- weave_python-0.30.3/weave/weaveapi/llmx/v1/model_pb2_grpc.pyi +21 -0
- weave_python-0.30.3/weave/weaveapi/llmx/v1/pricing_pb2.py +58 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/llmx/v1/pricing_pb2.pyi +194 -172
- weave_python-0.30.3/weave/weaveapi/llmx/v1/pricing_pb2_grpc.pyi +21 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/llmx/v1/provider_pb2.py +6 -6
- weave_python-0.30.3/weave/weaveapi/llmx/v1/provider_pb2.pyi +128 -0
- weave_python-0.30.3/weave/weaveapi/llmx/v1/provider_pb2_grpc.pyi +21 -0
- weave_python-0.30.3/weave/weaveapi/llmx/v1/service_pb2.py +318 -0
- weave_python-0.30.3/weave/weaveapi/llmx/v1/service_pb2.pyi +2019 -0
- weave_python-0.30.3/weave/weaveapi/llmx/v1/service_pb2_grpc.pyi +223 -0
- weave_python-0.30.3/weave/weaveapi/mcpregistry/v1/server_pb2.py +48 -0
- weave_python-0.30.3/weave/weaveapi/mcpregistry/v1/server_pb2.pyi +185 -0
- weave_python-0.30.3/weave/weaveapi/mcpregistry/v1/server_pb2_grpc.pyi +21 -0
- weave_python-0.30.3/weave/weaveapi/mcpregistry/v1/service_pb2.py +119 -0
- weave_python-0.30.3/weave/weaveapi/mcpregistry/v1/service_pb2.pyi +221 -0
- weave_python-0.30.3/weave/weaveapi/mcpregistry/v1/service_pb2_grpc.pyi +133 -0
- weave_python-0.30.3/weave/weaveapi/payment/v1/invoice_pb2.py +72 -0
- weave_python-0.30.3/weave/weaveapi/payment/v1/invoice_pb2.pyi +410 -0
- weave_python-0.30.3/weave/weaveapi/payment/v1/invoice_pb2_grpc.pyi +21 -0
- weave_python-0.30.3/weave/weaveapi/payment/v1/service_pb2.py +410 -0
- weave_python-0.30.3/weave/weaveapi/payment/v1/service_pb2.pyi +1631 -0
- weave_python-0.30.3/weave/weaveapi/payment/v1/service_pb2_grpc.pyi +482 -0
- weave_python-0.30.3/weave/weaveapi/payment/v1/subscription_pb2.py +135 -0
- weave_python-0.30.3/weave/weaveapi/payment/v1/subscription_pb2.pyi +811 -0
- weave_python-0.30.3/weave/weaveapi/payment/v1/subscription_pb2_grpc.pyi +21 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/storage/v1/auth_pb2.py +6 -6
- weave_python-0.30.3/weave/weaveapi/storage/v1/auth_pb2.pyi +55 -0
- weave_python-0.30.3/weave/weaveapi/storage/v1/auth_pb2_grpc.pyi +21 -0
- weave_python-0.30.3/weave/weaveapi/storage/v1/nosql_database_pb2.py +83 -0
- weave_python-0.30.3/weave/weaveapi/storage/v1/nosql_database_pb2.pyi +509 -0
- weave_python-0.30.3/weave/weaveapi/storage/v1/nosql_database_pb2_grpc.pyi +21 -0
- weave_python-0.30.3/weave/weaveapi/storage/v1/object_store_pb2.py +63 -0
- weave_python-0.30.3/weave/weaveapi/storage/v1/object_store_pb2.pyi +241 -0
- weave_python-0.30.3/weave/weaveapi/storage/v1/object_store_pb2_grpc.pyi +21 -0
- weave_python-0.30.3/weave/weaveapi/storage/v1/service_pb2.py +128 -0
- weave_python-0.30.3/weave/weaveapi/storage/v1/service_pb2.pyi +583 -0
- weave_python-0.30.3/weave/weaveapi/storage/v1/service_pb2_grpc.pyi +164 -0
- weave_python-0.30.3/weave/weaveapi/storage/v1/sql_database_pb2.py +75 -0
- weave_python-0.30.3/weave/weaveapi/storage/v1/sql_database_pb2.pyi +552 -0
- weave_python-0.30.3/weave/weaveapi/storage/v1/sql_database_pb2_grpc.pyi +21 -0
- weave_python-0.30.3/weave/weaveapi/storage/v1/storage_pb2.py +52 -0
- weave_python-0.30.3/weave/weaveapi/storage/v1/storage_pb2.pyi +93 -0
- weave_python-0.30.3/weave/weaveapi/storage/v1/storage_pb2_grpc.pyi +21 -0
- weave_python-0.30.3/weave/weaveapi/synthesize/v1/dataset_pb2.py +46 -0
- weave_python-0.30.3/weave/weaveapi/synthesize/v1/dataset_pb2.pyi +222 -0
- weave_python-0.30.3/weave/weaveapi/synthesize/v1/dataset_pb2_grpc.pyi +21 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/synthesize/v1/inline_data_pb2.py +9 -9
- weave_python-0.30.3/weave/weaveapi/synthesize/v1/inline_data_pb2.pyi +76 -0
- weave_python-0.30.3/weave/weaveapi/synthesize/v1/inline_data_pb2_grpc.pyi +21 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/synthesize/v1/relationship_pb2.py +19 -11
- weave_python-0.30.3/weave/weaveapi/synthesize/v1/relationship_pb2.pyi +134 -0
- weave_python-0.30.3/weave/weaveapi/synthesize/v1/relationship_pb2_grpc.pyi +21 -0
- weave_python-0.30.3/weave/weaveapi/synthesize/v1/service_pb2.py +92 -0
- weave_python-0.30.3/weave/weaveapi/synthesize/v1/service_pb2.pyi +271 -0
- weave_python-0.30.3/weave/weaveapi/synthesize/v1/service_pb2_grpc.pyi +104 -0
- weave_python-0.30.3/weave/weaveapi/synthesize/v1/training_pb2.py +55 -0
- weave_python-0.30.3/weave/weaveapi/synthesize/v1/training_pb2.pyi +173 -0
- weave_python-0.30.3/weave/weaveapi/synthesize/v1/training_pb2_grpc.pyi +21 -0
- weave_python-0.30.3/weave/weavesql/llmxdb/capabilities.py +487 -0
- weave_python-0.30.3/weave/weavesql/llmxdb/changes.py +297 -0
- weave_python-0.30.3/weave/weavesql/llmxdb/models.py +594 -0
- weave_python-0.30.3/weave/weavesql/llmxdb/providers.py +348 -0
- weave_python-0.30.3/weave/weavesql/llmxdb/scraper_runs.py +287 -0
- weave_python-0.30.3/weave/weavesql/llmxdb/search.py +721 -0
- weave_python-0.30.3/weave/weavesql/weavedb/dataset.py +75 -0
- weave_python-0.30.3/weave/weavesql/weavedb/models.py +135 -0
- weave_python-0.30.3/weave/weavesql/weavedb/relationships.py +72 -0
- weave_python-0.30.3/weave/weavesql/weavedb/storage.py +113 -0
- weave_python-0.30.3/weave/weavesql/weavedb/synthesizer.py +107 -0
- weave_python-0.28.1/PKG-INFO +0 -6
- weave_python-0.28.1/uv.lock +0 -136
- weave_python-0.28.1/weave/weaveapi/auth/v1/service_pb2.py +0 -228
- weave_python-0.28.1/weave/weaveapi/auth/v1/service_pb2.pyi +0 -1406
- weave_python-0.28.1/weave/weaveapi/auth/v1/service_pb2_grpc.pyi +0 -606
- weave_python-0.28.1/weave/weaveapi/auth/v1/session_pb2.py +0 -38
- weave_python-0.28.1/weave/weaveapi/auth/v1/session_pb2.pyi +0 -111
- weave_python-0.28.1/weave/weaveapi/auth/v1/session_pb2_grpc.pyi +0 -20
- weave_python-0.28.1/weave/weaveapi/auth/v1/usage_pb2.py +0 -52
- weave_python-0.28.1/weave/weaveapi/auth/v1/usage_pb2.pyi +0 -241
- weave_python-0.28.1/weave/weaveapi/auth/v1/usage_pb2_grpc.pyi +0 -20
- weave_python-0.28.1/weave/weaveapi/auth/v1/user_pb2.py +0 -52
- weave_python-0.28.1/weave/weaveapi/auth/v1/user_pb2.pyi +0 -594
- weave_python-0.28.1/weave/weaveapi/auth/v1/user_pb2_grpc.pyi +0 -20
- weave_python-0.28.1/weave/weaveapi/generate/v1/configuration_pb2.py +0 -57
- weave_python-0.28.1/weave/weaveapi/generate/v1/configuration_pb2.pyi +0 -370
- weave_python-0.28.1/weave/weaveapi/generate/v1/configuration_pb2_grpc.pyi +0 -20
- weave_python-0.28.1/weave/weaveapi/generate/v1/generate_pb2.py +0 -38
- weave_python-0.28.1/weave/weaveapi/generate/v1/generate_pb2.pyi +0 -52
- weave_python-0.28.1/weave/weaveapi/generate/v1/generate_pb2_grpc.pyi +0 -20
- weave_python-0.28.1/weave/weaveapi/generate/v1/service_pb2.py +0 -84
- weave_python-0.28.1/weave/weaveapi/generate/v1/service_pb2.pyi +0 -201
- weave_python-0.28.1/weave/weaveapi/generate/v1/service_pb2_grpc.pyi +0 -116
- weave_python-0.28.1/weave/weaveapi/llmx/v1/architecture_pb2.py +0 -74
- weave_python-0.28.1/weave/weaveapi/llmx/v1/architecture_pb2_grpc.pyi +0 -20
- weave_python-0.28.1/weave/weaveapi/llmx/v1/capabilities_pb2.py +0 -88
- weave_python-0.28.1/weave/weaveapi/llmx/v1/capabilities_pb2.pyi +0 -1613
- weave_python-0.28.1/weave/weaveapi/llmx/v1/capabilities_pb2_grpc.pyi +0 -20
- weave_python-0.28.1/weave/weaveapi/llmx/v1/model_pb2.py +0 -54
- weave_python-0.28.1/weave/weaveapi/llmx/v1/model_pb2.pyi +0 -747
- weave_python-0.28.1/weave/weaveapi/llmx/v1/model_pb2_grpc.pyi +0 -20
- weave_python-0.28.1/weave/weaveapi/llmx/v1/pricing_pb2.py +0 -54
- weave_python-0.28.1/weave/weaveapi/llmx/v1/pricing_pb2_grpc.pyi +0 -20
- weave_python-0.28.1/weave/weaveapi/llmx/v1/provider_pb2.pyi +0 -103
- weave_python-0.28.1/weave/weaveapi/llmx/v1/provider_pb2_grpc.pyi +0 -20
- weave_python-0.28.1/weave/weaveapi/llmx/v1/service_pb2.py +0 -180
- weave_python-0.28.1/weave/weaveapi/llmx/v1/service_pb2.pyi +0 -1771
- weave_python-0.28.1/weave/weaveapi/llmx/v1/service_pb2_grpc.pyi +0 -266
- weave_python-0.28.1/weave/weaveapi/mcpregistry/v1/server_pb2.py +0 -42
- weave_python-0.28.1/weave/weaveapi/mcpregistry/v1/server_pb2.pyi +0 -163
- weave_python-0.28.1/weave/weaveapi/mcpregistry/v1/server_pb2_grpc.pyi +0 -20
- weave_python-0.28.1/weave/weaveapi/mcpregistry/v1/service_pb2.py +0 -99
- weave_python-0.28.1/weave/weaveapi/mcpregistry/v1/service_pb2.pyi +0 -211
- weave_python-0.28.1/weave/weaveapi/mcpregistry/v1/service_pb2_grpc.pyi +0 -158
- weave_python-0.28.1/weave/weaveapi/payment/v1/invoice_pb2.py +0 -46
- weave_python-0.28.1/weave/weaveapi/payment/v1/invoice_pb2.pyi +0 -349
- weave_python-0.28.1/weave/weaveapi/payment/v1/invoice_pb2_grpc.pyi +0 -20
- weave_python-0.28.1/weave/weaveapi/payment/v1/service_pb2.py +0 -244
- weave_python-0.28.1/weave/weaveapi/payment/v1/service_pb2.pyi +0 -1492
- weave_python-0.28.1/weave/weaveapi/payment/v1/service_pb2_grpc.pyi +0 -572
- weave_python-0.28.1/weave/weaveapi/payment/v1/subscription_pb2.py +0 -59
- weave_python-0.28.1/weave/weaveapi/payment/v1/subscription_pb2.pyi +0 -695
- weave_python-0.28.1/weave/weaveapi/payment/v1/subscription_pb2_grpc.pyi +0 -20
- weave_python-0.28.1/weave/weaveapi/storage/v1/auth_pb2.pyi +0 -42
- weave_python-0.28.1/weave/weaveapi/storage/v1/auth_pb2_grpc.pyi +0 -20
- weave_python-0.28.1/weave/weaveapi/storage/v1/nosql_database_pb2.py +0 -59
- weave_python-0.28.1/weave/weaveapi/storage/v1/nosql_database_pb2.pyi +0 -443
- weave_python-0.28.1/weave/weaveapi/storage/v1/nosql_database_pb2_grpc.pyi +0 -20
- weave_python-0.28.1/weave/weaveapi/storage/v1/object_store_pb2.py +0 -49
- weave_python-0.28.1/weave/weaveapi/storage/v1/object_store_pb2.pyi +0 -225
- weave_python-0.28.1/weave/weaveapi/storage/v1/object_store_pb2_grpc.pyi +0 -20
- weave_python-0.28.1/weave/weaveapi/storage/v1/service_pb2.py +0 -68
- weave_python-0.28.1/weave/weaveapi/storage/v1/service_pb2.pyi +0 -526
- weave_python-0.28.1/weave/weaveapi/storage/v1/service_pb2_grpc.pyi +0 -183
- weave_python-0.28.1/weave/weaveapi/storage/v1/sql_database_pb2.py +0 -59
- weave_python-0.28.1/weave/weaveapi/storage/v1/sql_database_pb2.pyi +0 -471
- weave_python-0.28.1/weave/weaveapi/storage/v1/sql_database_pb2_grpc.pyi +0 -20
- weave_python-0.28.1/weave/weaveapi/storage/v1/storage_pb2.py +0 -38
- weave_python-0.28.1/weave/weaveapi/storage/v1/storage_pb2.pyi +0 -84
- weave_python-0.28.1/weave/weaveapi/storage/v1/storage_pb2_grpc.pyi +0 -20
- weave_python-0.28.1/weave/weaveapi/synthesize/v1/dataset_pb2.py +0 -44
- weave_python-0.28.1/weave/weaveapi/synthesize/v1/dataset_pb2.pyi +0 -192
- weave_python-0.28.1/weave/weaveapi/synthesize/v1/dataset_pb2_grpc.pyi +0 -20
- weave_python-0.28.1/weave/weaveapi/synthesize/v1/inline_data_pb2.pyi +0 -72
- weave_python-0.28.1/weave/weaveapi/synthesize/v1/inline_data_pb2_grpc.pyi +0 -20
- weave_python-0.28.1/weave/weaveapi/synthesize/v1/relationship_pb2.pyi +0 -131
- weave_python-0.28.1/weave/weaveapi/synthesize/v1/relationship_pb2_grpc.pyi +0 -20
- weave_python-0.28.1/weave/weaveapi/synthesize/v1/service_pb2.py +0 -74
- weave_python-0.28.1/weave/weaveapi/synthesize/v1/service_pb2.pyi +0 -237
- weave_python-0.28.1/weave/weaveapi/synthesize/v1/service_pb2_grpc.pyi +0 -116
- weave_python-0.28.1/weave/weaveapi/synthesize/v1/training_pb2.py +0 -49
- weave_python-0.28.1/weave/weaveapi/synthesize/v1/training_pb2.pyi +0 -160
- weave_python-0.28.1/weave/weaveapi/synthesize/v1/training_pb2_grpc.pyi +0 -20
- {weave_python-0.28.1 → weave_python-0.30.3}/.github/workflows/format-lint.yaml +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/.python-version +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/renovate.json +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/auth/v1/service_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/auth/v1/session_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/auth/v1/usage_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/auth/v1/user_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/generate/v1/configuration_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/generate/v1/generate_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/llmx/v1/architecture_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/llmx/v1/capabilities_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/llmx/v1/model_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/llmx/v1/pricing_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/llmx/v1/provider_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/llmx/v1/service_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/mcpregistry/v1/server_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/mcpregistry/v1/service_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/payment/v1/invoice_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/payment/v1/service_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/payment/v1/subscription_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/storage/v1/auth_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/storage/v1/nosql_database_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/storage/v1/object_store_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/storage/v1/service_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/storage/v1/sql_database_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/storage/v1/storage_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/synthesize/v1/dataset_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/synthesize/v1/inline_data_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/synthesize/v1/relationship_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/synthesize/v1/service_pb2_grpc.py +0 -0
- {weave_python-0.28.1 → weave_python-0.30.3}/weave/weaveapi/synthesize/v1/training_pb2_grpc.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
_extends: .github-private
|
|
@@ -11,8 +11,11 @@ permissions:
|
|
|
11
11
|
|
|
12
12
|
jobs:
|
|
13
13
|
generate:
|
|
14
|
-
runs-on:
|
|
14
|
+
runs-on: runs-on=${{ github.run_id }}/runner=linux-default
|
|
15
15
|
steps:
|
|
16
|
+
- name: Configure RunsOn features
|
|
17
|
+
uses: runs-on/action@v2
|
|
18
|
+
|
|
16
19
|
- id: app_token
|
|
17
20
|
uses: actions/create-github-app-token@v2
|
|
18
21
|
with:
|
|
@@ -20,12 +23,12 @@ jobs:
|
|
|
20
23
|
private-key: ${{ secrets.STITCH_PRIVATE_KEY }}
|
|
21
24
|
owner: weave-labs
|
|
22
25
|
|
|
23
|
-
- uses: actions/checkout@
|
|
26
|
+
- uses: actions/checkout@v6
|
|
24
27
|
with:
|
|
25
28
|
persist-credentials: 'false'
|
|
26
29
|
|
|
27
30
|
- name: Checkout schema
|
|
28
|
-
uses: actions/checkout@
|
|
31
|
+
uses: actions/checkout@v6
|
|
29
32
|
with:
|
|
30
33
|
path: schema
|
|
31
34
|
persist-credentials: 'false'
|
|
@@ -38,6 +41,33 @@ jobs:
|
|
|
38
41
|
with:
|
|
39
42
|
sqlc-version: '1.28.0'
|
|
40
43
|
|
|
44
|
+
- name: Checkout sqlc-gen-python (PR 92)
|
|
45
|
+
uses: actions/checkout@v6
|
|
46
|
+
with:
|
|
47
|
+
path: sqlc-gen-python
|
|
48
|
+
persist-credentials: 'false'
|
|
49
|
+
repository: sqlc-dev/sqlc-gen-python
|
|
50
|
+
ref: refs/pull/92/head
|
|
51
|
+
|
|
52
|
+
- name: Setup Go
|
|
53
|
+
uses: actions/setup-go@v6
|
|
54
|
+
with:
|
|
55
|
+
go-version: "stable"
|
|
56
|
+
cache: true
|
|
57
|
+
cache-dependency-path: sqlc-gen-python/go.sum
|
|
58
|
+
|
|
59
|
+
- name: Cache sqlc-gen-python wasm
|
|
60
|
+
id: cache_sqlc_py_wasm
|
|
61
|
+
uses: actions/cache@v5
|
|
62
|
+
with:
|
|
63
|
+
path: sqlc-gen-python/bin/sqlc-gen-python.wasm
|
|
64
|
+
key: sqlc-gen-python-pr-92-${{ hashFiles('sqlc-gen-python/go.sum', 'sqlc-gen-python/**/*.go') }}
|
|
65
|
+
|
|
66
|
+
- name: Build sqlc-gen-python wasm
|
|
67
|
+
if: steps.cache_sqlc_py_wasm.outputs.cache-hit != 'true'
|
|
68
|
+
run: make bin/sqlc-gen-python.wasm
|
|
69
|
+
working-directory: sqlc-gen-python
|
|
70
|
+
|
|
41
71
|
- name: Setup buf
|
|
42
72
|
uses: bufbuild/buf-action@v1
|
|
43
73
|
with:
|
|
@@ -49,11 +79,19 @@ jobs:
|
|
|
49
79
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
50
80
|
|
|
51
81
|
- name: Setup uv
|
|
52
|
-
uses: astral-sh/setup-uv@
|
|
82
|
+
uses: astral-sh/setup-uv@v7
|
|
53
83
|
with:
|
|
54
84
|
cache-dependency-glob: "uv.lock"
|
|
55
85
|
enable-cache: true
|
|
56
86
|
|
|
87
|
+
- name: Create uv venv
|
|
88
|
+
run: uv venv
|
|
89
|
+
|
|
90
|
+
- name: Install mypy-protobuf plugins (main)
|
|
91
|
+
run: |
|
|
92
|
+
uv pip install git+https://github.com/nipunn1313/mypy-protobuf.git@main
|
|
93
|
+
echo "${{ github.workspace }}/.venv/bin" >> $GITHUB_PATH
|
|
94
|
+
|
|
57
95
|
- name: Clear out gen previous api gen files
|
|
58
96
|
uses: weave-labs/ci/.github/actions/clean-generated-output-dir@main
|
|
59
97
|
with:
|
|
@@ -64,14 +102,13 @@ jobs:
|
|
|
64
102
|
with:
|
|
65
103
|
working-directory: "weave/weavesql"
|
|
66
104
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
# run: sqlc generate
|
|
105
|
+
- name: Generate sqlc configuration
|
|
106
|
+
env:
|
|
107
|
+
SQLC_PY_WASM_URL: file://${{ github.workspace }}/sqlc-gen-python/bin/sqlc-gen-python.wasm
|
|
108
|
+
run: python3 tools/sqlcgen/sqlcgen.py --schema schema/weavesql
|
|
109
|
+
|
|
110
|
+
- name: Generate sql schema
|
|
111
|
+
run: sqlc generate
|
|
75
112
|
|
|
76
113
|
- name: Generate proto schema
|
|
77
114
|
run: buf generate
|
|
@@ -99,7 +136,7 @@ jobs:
|
|
|
99
136
|
|
|
100
137
|
- name: Create Pull Request
|
|
101
138
|
if: steps.check_changes.outputs.has_changes == 'true'
|
|
102
|
-
uses: peter-evans/create-pull-request@
|
|
139
|
+
uses: peter-evans/create-pull-request@v8
|
|
103
140
|
with:
|
|
104
141
|
base: 'main'
|
|
105
142
|
delete-branch: 'true'
|
|
@@ -107,6 +144,6 @@ jobs:
|
|
|
107
144
|
This PR updates the generated code from schema version ${{ github.event.client_payload.schema_version }}.
|
|
108
145
|
Automated changes by GitHub Actions workflow.
|
|
109
146
|
branch: "update-schema-${{ github.event.client_payload.schema_version }}"
|
|
110
|
-
commit-message: "
|
|
111
|
-
title: "
|
|
147
|
+
commit-message: "schema(codegen): update generated code from schema ${{ github.event.client_payload.schema_version }}"
|
|
148
|
+
title: "schema(codegen): update generated code from schema ${{ github.event.client_payload.schema_version }}"
|
|
112
149
|
token: ${{ steps.app_token.outputs.token }}
|
|
@@ -8,10 +8,12 @@ on:
|
|
|
8
8
|
- weave/**
|
|
9
9
|
- pyproject.toml
|
|
10
10
|
- .python-version
|
|
11
|
+
- .github/workflows/release.yaml
|
|
11
12
|
|
|
12
13
|
permissions:
|
|
13
14
|
contents: write
|
|
14
15
|
id-token: write
|
|
16
|
+
actions: read
|
|
15
17
|
|
|
16
18
|
jobs:
|
|
17
19
|
tag-and-release:
|
|
@@ -24,17 +26,19 @@ jobs:
|
|
|
24
26
|
|
|
25
27
|
package:
|
|
26
28
|
needs: tag-and-release
|
|
27
|
-
uses: weave-labs/ci/.github/workflows/
|
|
29
|
+
uses: weave-labs/ci/.github/workflows/python-build.yaml@main
|
|
30
|
+
|
|
28
31
|
publish:
|
|
29
32
|
needs: package
|
|
30
|
-
runs-on:
|
|
31
|
-
permissions:
|
|
32
|
-
id-token: write
|
|
33
|
+
runs-on: runs-on=${{ github.run_id }}/runner=linux-default
|
|
33
34
|
environment:
|
|
34
35
|
name: pypi
|
|
35
36
|
url: https://pypi.org/p/weave-python
|
|
36
37
|
steps:
|
|
37
|
-
-
|
|
38
|
+
- name: Configure RunsOn features
|
|
39
|
+
uses: runs-on/action@v2
|
|
40
|
+
|
|
41
|
+
- uses: actions/download-artifact@v7
|
|
38
42
|
with:
|
|
39
43
|
name: dist
|
|
40
44
|
path: dist/
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# Fair Core License, Version 1.0, ALv2 Future License
|
|
2
|
+
|
|
3
|
+
## Abbreviation
|
|
4
|
+
|
|
5
|
+
FCL-1.0-ALv2
|
|
6
|
+
|
|
7
|
+
## Notice
|
|
8
|
+
|
|
9
|
+
Copyright 2025-Present Weave Labs
|
|
10
|
+
|
|
11
|
+
## Terms and Conditions
|
|
12
|
+
|
|
13
|
+
### Licensor ("We")
|
|
14
|
+
|
|
15
|
+
The party offering the Software under these Terms and Conditions.
|
|
16
|
+
|
|
17
|
+
### The Software
|
|
18
|
+
|
|
19
|
+
The "Software" is each version of the software that we make available under
|
|
20
|
+
these Terms and Conditions, as indicated by our inclusion of these Terms and
|
|
21
|
+
Conditions with the Software.
|
|
22
|
+
|
|
23
|
+
### License Grant
|
|
24
|
+
|
|
25
|
+
Subject to your compliance with this License Grant and the Limitations,
|
|
26
|
+
Patents, Redistribution and Trademark clauses below, we hereby grant you the
|
|
27
|
+
right to use, copy, modify, create derivative works, publicly perform, publicly
|
|
28
|
+
display and redistribute the Software for any Permitted Purpose identified
|
|
29
|
+
below.
|
|
30
|
+
|
|
31
|
+
### Permitted Purpose
|
|
32
|
+
|
|
33
|
+
A Permitted Purpose is any purpose other than a Competing Use. A Competing Use
|
|
34
|
+
means making the Software available to others in a commercial product or
|
|
35
|
+
service that:
|
|
36
|
+
|
|
37
|
+
1. substitutes for the Software;
|
|
38
|
+
|
|
39
|
+
2. substitutes for any other product or service we offer using the Software
|
|
40
|
+
that exists as of the date we make the Software available; or
|
|
41
|
+
|
|
42
|
+
3. offers the same or substantially similar functionality as the Software.
|
|
43
|
+
|
|
44
|
+
Permitted Purposes specifically include using the Software:
|
|
45
|
+
|
|
46
|
+
1. for your internal use and access;
|
|
47
|
+
|
|
48
|
+
2. for non-commercial education;
|
|
49
|
+
|
|
50
|
+
3. for non-commercial research; and
|
|
51
|
+
|
|
52
|
+
4. in connection with professional services that you provide to a licensee
|
|
53
|
+
using the Software in accordance with these Terms and Conditions.
|
|
54
|
+
|
|
55
|
+
### Limitations
|
|
56
|
+
|
|
57
|
+
You must not move, change, disable, or circumvent the license key functionality
|
|
58
|
+
in the Software; or modify any portion of the Software protected by the license
|
|
59
|
+
key to:
|
|
60
|
+
|
|
61
|
+
1. enable access to the protected functionality without a valid license key; or
|
|
62
|
+
|
|
63
|
+
2. remove the protected functionality.
|
|
64
|
+
|
|
65
|
+
### Patents
|
|
66
|
+
|
|
67
|
+
To the extent your use for a Permitted Purpose would necessarily infringe our
|
|
68
|
+
patents, the license grant above includes a license under our patents. If you
|
|
69
|
+
make a claim against any party that the Software infringes or contributes to
|
|
70
|
+
the infringement of any patent, then your patent license to the Software ends
|
|
71
|
+
immediately.
|
|
72
|
+
|
|
73
|
+
### Redistribution
|
|
74
|
+
|
|
75
|
+
The Terms and Conditions apply to all copies, modifications and derivatives of
|
|
76
|
+
the Software.
|
|
77
|
+
|
|
78
|
+
If you redistribute any copies, modifications or derivatives of the Software,
|
|
79
|
+
you must include a copy of or a link to these Terms and Conditions and not
|
|
80
|
+
remove any copyright or other proprietary notices provided in or with the
|
|
81
|
+
Software.
|
|
82
|
+
|
|
83
|
+
### Disclaimer
|
|
84
|
+
|
|
85
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR
|
|
86
|
+
IMPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES OF FITNESS FOR A PARTICULAR
|
|
87
|
+
PURPOSE, MERCHANTABILITY, TITLE OR NON-INFRINGEMENT.
|
|
88
|
+
|
|
89
|
+
IN NO EVENT WILL WE HAVE ANY LIABILITY TO YOU ARISING OUT OF OR RELATED TO THE
|
|
90
|
+
SOFTWARE, INCLUDING INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES,
|
|
91
|
+
EVEN IF WE HAVE BEEN INFORMED OF THEIR POSSIBILITY IN ADVANCE.
|
|
92
|
+
|
|
93
|
+
In the event the provision of this Disclaimer section is unenforceable under
|
|
94
|
+
applicable law, the licenses granted herein are void.
|
|
95
|
+
|
|
96
|
+
### Trademarks
|
|
97
|
+
|
|
98
|
+
Except for displaying the License Details and identifying us as the origin of
|
|
99
|
+
the Software, you have no right under these Terms and Conditions to use our
|
|
100
|
+
trademarks, trade names, service marks or product names.
|
|
101
|
+
|
|
102
|
+
## Grant of Future License
|
|
103
|
+
|
|
104
|
+
We hereby irrevocably grant you an additional license to use the Software,
|
|
105
|
+
under the Apache License, Version 2.0, that is effective on the second
|
|
106
|
+
anniversary of the date we make the Software available. On or after that date,
|
|
107
|
+
you may use the Software under the Apache License, Version 2.0, in which case
|
|
108
|
+
the following will apply:
|
|
109
|
+
|
|
110
|
+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
111
|
+
this file except in compliance with the License.
|
|
112
|
+
|
|
113
|
+
You may obtain a copy of the License at
|
|
114
|
+
|
|
115
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
116
|
+
|
|
117
|
+
Unless required by applicable law or agreed to in writing, software distributed
|
|
118
|
+
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
119
|
+
CONDITIONS OF ANY KIND, either express or implied. See the License for the
|
|
120
|
+
specific language governing permissions and limitations under the License.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: weave-python
|
|
3
|
+
Version: 0.30.3
|
|
4
|
+
Author: Weave Labs
|
|
5
|
+
License: FCL-1.0-ALv2
|
|
6
|
+
License-File: LICENSE
|
|
7
|
+
Requires-Python: >=3.10
|
|
8
|
+
Requires-Dist: protobuf>=6.30.2
|
|
9
|
+
Requires-Dist: sqlalchemy>=2.0.40
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
|
|
12
|
+
# Weave Python SDK
|
|
13
|
+
|
|
14
|
+
Weave Python provides client utilities for integrating with Weave platform services,
|
|
15
|
+
covering authentication, generation, synthesis, storage, and more. It is intended
|
|
16
|
+
for Python applications that need to orchestrate Weave workflows without managing
|
|
17
|
+
low-level HTTP plumbing.
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pip install weave-python
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
The package requires Python 3.10 or newer.
|
|
26
|
+
|
|
27
|
+
## Quick Start
|
|
28
|
+
|
|
29
|
+
```python
|
|
30
|
+
from weave.weaveapi import auth, generate
|
|
31
|
+
|
|
32
|
+
# Authenticate with your Weave credentials
|
|
33
|
+
session = auth.login_with_api_key("your-api-key")
|
|
34
|
+
|
|
35
|
+
# Send a generation request
|
|
36
|
+
result = generate.text(session=session, prompt="Hello Weave!")
|
|
37
|
+
print(result.text)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Refer to the individual subpackages under `weave.weaveapi` (for example `auth`,
|
|
41
|
+
`synthesize`, `storage`, and `payment`) for domain-specific helpers.
|
|
42
|
+
|
|
43
|
+
## Contributing
|
|
44
|
+
|
|
45
|
+
1. Create a virtual environment and install dev dependencies with `uv pip sync uv.lock`.
|
|
46
|
+
2. Run formatting and linting via `task format` and `task lint`.
|
|
47
|
+
3. Open a pull request with context on the workflow or service you changed.
|
|
48
|
+
|
|
49
|
+
## License
|
|
50
|
+
|
|
51
|
+
Distributed under the Apache Software License and MIT License. See `LICENSE` for
|
|
52
|
+
additional licensing details.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Weave Python SDK
|
|
2
|
+
|
|
3
|
+
Weave Python provides client utilities for integrating with Weave platform services,
|
|
4
|
+
covering authentication, generation, synthesis, storage, and more. It is intended
|
|
5
|
+
for Python applications that need to orchestrate Weave workflows without managing
|
|
6
|
+
low-level HTTP plumbing.
|
|
7
|
+
|
|
8
|
+
## Installation
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
pip install weave-python
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
The package requires Python 3.10 or newer.
|
|
15
|
+
|
|
16
|
+
## Quick Start
|
|
17
|
+
|
|
18
|
+
```python
|
|
19
|
+
from weave.weaveapi import auth, generate
|
|
20
|
+
|
|
21
|
+
# Authenticate with your Weave credentials
|
|
22
|
+
session = auth.login_with_api_key("your-api-key")
|
|
23
|
+
|
|
24
|
+
# Send a generation request
|
|
25
|
+
result = generate.text(session=session, prompt="Hello Weave!")
|
|
26
|
+
print(result.text)
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Refer to the individual subpackages under `weave.weaveapi` (for example `auth`,
|
|
30
|
+
`synthesize`, `storage`, and `payment`) for domain-specific helpers.
|
|
31
|
+
|
|
32
|
+
## Contributing
|
|
33
|
+
|
|
34
|
+
1. Create a virtual environment and install dev dependencies with `uv pip sync uv.lock`.
|
|
35
|
+
2. Run formatting and linting via `task format` and `task lint`.
|
|
36
|
+
3. Open a pull request with context on the workflow or service you changed.
|
|
37
|
+
|
|
38
|
+
## License
|
|
39
|
+
|
|
40
|
+
Distributed under the Apache Software License and MIT License. See `LICENSE` for
|
|
41
|
+
additional licensing details.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
version: '3'
|
|
2
|
+
|
|
3
|
+
tasks:
|
|
4
|
+
check:
|
|
5
|
+
cmds:
|
|
6
|
+
- task: fmt
|
|
7
|
+
- task: lint
|
|
8
|
+
- task: test
|
|
9
|
+
|
|
10
|
+
lint:
|
|
11
|
+
cmds:
|
|
12
|
+
- uv run ruff check --fix
|
|
13
|
+
|
|
14
|
+
fmt:
|
|
15
|
+
cmds:
|
|
16
|
+
- uv run ruff format
|
|
17
|
+
|
|
18
|
+
test:
|
|
19
|
+
cmds:
|
|
20
|
+
- python3 tools/sqlcgen/test_sqlcgen.py
|
|
@@ -10,8 +10,8 @@ plugins:
|
|
|
10
10
|
- remote: "buf.build/grpc/python"
|
|
11
11
|
out: "weave"
|
|
12
12
|
|
|
13
|
-
-
|
|
13
|
+
- local: "protoc-gen-mypy"
|
|
14
14
|
out: "weave"
|
|
15
15
|
|
|
16
|
-
-
|
|
16
|
+
- local: "protoc-gen-mypy_grpc"
|
|
17
17
|
out: "weave"
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
name = "weave-python"
|
|
3
3
|
dynamic = ["version"]
|
|
4
4
|
requires-python = ">=3.10"
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
license = { text = "FCL-1.0-ALv2" }
|
|
7
|
+
authors = [
|
|
8
|
+
{ name = "Weave Labs" },
|
|
9
|
+
]
|
|
5
10
|
dependencies = [
|
|
6
11
|
"protobuf>=6.30.2",
|
|
7
12
|
"sqlalchemy>=2.0.40",
|
|
@@ -18,4 +23,4 @@ packages = ["weave"]
|
|
|
18
23
|
source = "vcs"
|
|
19
24
|
|
|
20
25
|
[tool.hatch.version.raw-options]
|
|
21
|
-
version_scheme = "only-version"
|
|
26
|
+
version_scheme = "only-version"
|
|
@@ -62,11 +62,14 @@ The tool will generate configurations for:
|
|
|
62
62
|
|
|
63
63
|
The tool generates sqlc.yaml with:
|
|
64
64
|
|
|
65
|
-
-
|
|
65
|
+
- A local sqlc-gen-python wasm (default: `file://<repo>/sqlc-gen-python/bin/sqlc-gen-python.wasm`)
|
|
66
66
|
- Both sync and async querier generation
|
|
67
67
|
- String enum support
|
|
68
68
|
- Query parameter limit of 2
|
|
69
69
|
|
|
70
|
+
To override the wasm location, set `SQLC_PY_WASM_URL` before running the tool.
|
|
71
|
+
Use a `file://` URL for local paths (or a fully-qualified URL if hosted elsewhere).
|
|
72
|
+
|
|
70
73
|
## Integration with CI/CD
|
|
71
74
|
|
|
72
75
|
This tool is used in the GitHub Actions workflow to dynamically generate sqlc.yaml before running `sqlc generate`:
|
|
@@ -103,4 +106,4 @@ task --list
|
|
|
103
106
|
## Requirements
|
|
104
107
|
|
|
105
108
|
- Python 3.7+
|
|
106
|
-
- No external dependencies (uses only Python standard library)
|
|
109
|
+
- No external dependencies (uses only Python standard library)
|
|
@@ -7,6 +7,7 @@ found in the schema/weavesql directory.
|
|
|
7
7
|
"""
|
|
8
8
|
|
|
9
9
|
import argparse
|
|
10
|
+
import os
|
|
10
11
|
import sys
|
|
11
12
|
from pathlib import Path
|
|
12
13
|
from typing import List, NamedTuple
|
|
@@ -19,6 +20,23 @@ class Database(NamedTuple):
|
|
|
19
20
|
package: str # e.g., "weavedb", "llmxdb"
|
|
20
21
|
|
|
21
22
|
|
|
23
|
+
WASM_URL_ENV = "SQLC_PY_WASM_URL"
|
|
24
|
+
REPO_ROOT = Path(__file__).resolve().parents[3]
|
|
25
|
+
DEFAULT_WASM_PATH = REPO_ROOT / "sqlc-gen-python/bin/sqlc-gen-python.wasm"
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def resolve_wasm_url() -> str:
|
|
29
|
+
wasm_url = os.environ.get(WASM_URL_ENV)
|
|
30
|
+
if wasm_url:
|
|
31
|
+
if "://" in wasm_url:
|
|
32
|
+
return wasm_url
|
|
33
|
+
|
|
34
|
+
wasm_path = Path(wasm_url).expanduser().resolve()
|
|
35
|
+
return f"file://{wasm_path.as_posix()}"
|
|
36
|
+
|
|
37
|
+
return f"file://{DEFAULT_WASM_PATH.as_posix()}"
|
|
38
|
+
|
|
39
|
+
|
|
22
40
|
def find_databases(schema_dir: Path) -> List[Database]:
|
|
23
41
|
"""
|
|
24
42
|
Find all valid database directories in the schema directory.
|
|
@@ -73,14 +91,17 @@ def generate_sqlc_config(
|
|
|
73
91
|
output_file: Path where the generated config should be written
|
|
74
92
|
schema_prefix: Prefix path to schema directory
|
|
75
93
|
"""
|
|
94
|
+
wasm_url = resolve_wasm_url()
|
|
95
|
+
|
|
76
96
|
# Start with version and plugin configuration
|
|
77
97
|
config_lines = [
|
|
78
98
|
'version: "2"',
|
|
79
99
|
"plugins:",
|
|
80
100
|
" - name: py",
|
|
81
101
|
" wasm:",
|
|
82
|
-
"
|
|
83
|
-
"
|
|
102
|
+
f" url: {wasm_url}", # Using a local wasm build from sqlc-gen-python PR #92 until COPY FROM is released.
|
|
103
|
+
# " url: https://downloads.sqlc.dev/plugin/sqlc-gen-python_1.3.0.wasm",
|
|
104
|
+
# " sha256: fbedae96b5ecae2380a70fb5b925fd4bff58a6cfb1f3140375d098fbab7b3a3c",
|
|
84
105
|
"sql:",
|
|
85
106
|
]
|
|
86
107
|
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
Tests for the sqlcgen tool.
|
|
4
4
|
"""
|
|
5
5
|
|
|
6
|
+
import os
|
|
7
|
+
import sys
|
|
6
8
|
import tempfile
|
|
7
9
|
import unittest
|
|
8
10
|
from pathlib import Path
|
|
9
11
|
from unittest.mock import patch
|
|
10
|
-
import sys
|
|
11
|
-
import os
|
|
12
12
|
|
|
13
13
|
# Add the parent directory to the path so we can import sqlcgen
|
|
14
14
|
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
|
@@ -112,7 +112,8 @@ class TestSQLCGen(unittest.TestCase):
|
|
|
112
112
|
self.assertIn('version: "2"', content)
|
|
113
113
|
self.assertIn("plugins:", content)
|
|
114
114
|
self.assertIn("name: py", content)
|
|
115
|
-
self.assertIn("
|
|
115
|
+
self.assertIn("file://", content)
|
|
116
|
+
self.assertIn(sqlcgen.DEFAULT_WASM_PATH.as_posix(), content)
|
|
116
117
|
|
|
117
118
|
# Check for database configurations
|
|
118
119
|
self.assertIn('schema: "schema/weavesql/weave/migrations"', content)
|
|
@@ -146,6 +147,20 @@ class TestSQLCGen(unittest.TestCase):
|
|
|
146
147
|
self.assertIn('schema: "custom/path/test/migrations"', content)
|
|
147
148
|
self.assertIn('queries: "custom/path/test/queries"', content)
|
|
148
149
|
|
|
150
|
+
def test_generate_sqlc_config_with_custom_wasm_url(self):
|
|
151
|
+
"""Test generation with custom wasm url override."""
|
|
152
|
+
databases = [
|
|
153
|
+
sqlcgen.Database("test", "testdb"),
|
|
154
|
+
]
|
|
155
|
+
output_file = self.test_path / "sqlc.yaml"
|
|
156
|
+
custom_path = self.test_path / "custom/sqlc-gen-python.wasm"
|
|
157
|
+
|
|
158
|
+
with patch.dict(os.environ, {sqlcgen.WASM_URL_ENV: str(custom_path)}):
|
|
159
|
+
sqlcgen.generate_sqlc_config(databases, output_file)
|
|
160
|
+
|
|
161
|
+
content = output_file.read_text()
|
|
162
|
+
self.assertIn(f"file://{custom_path.as_posix()}", content)
|
|
163
|
+
|
|
149
164
|
def test_main_integration(self):
|
|
150
165
|
"""Test the main function with real directory structure."""
|
|
151
166
|
schema_dir = self.create_test_schema(["db1", "db2"])
|