weave-python 0.27.0__py3-none-any.whl → 0.28.1__py3-none-any.whl

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.
Files changed (33) hide show
  1. weave/weaveapi/llmx/v1/architecture_pb2.py +74 -0
  2. weave/weaveapi/llmx/v1/architecture_pb2.pyi +1323 -0
  3. weave/weaveapi/llmx/v1/capabilities_pb2.py +88 -0
  4. weave/weaveapi/llmx/v1/capabilities_pb2.pyi +1613 -0
  5. weave/weaveapi/llmx/v1/model_pb2.py +54 -0
  6. weave/weaveapi/{modex → llmx}/v1/model_pb2.pyi +294 -189
  7. weave/weaveapi/llmx/v1/model_pb2_grpc.py +2 -0
  8. weave/weaveapi/llmx/v1/model_pb2_grpc.pyi +20 -0
  9. weave/weaveapi/llmx/v1/pricing_pb2.py +54 -0
  10. weave/weaveapi/llmx/v1/pricing_pb2.pyi +597 -0
  11. weave/weaveapi/llmx/v1/pricing_pb2_grpc.py +2 -0
  12. weave/weaveapi/llmx/v1/pricing_pb2_grpc.pyi +20 -0
  13. weave/weaveapi/llmx/v1/provider_pb2.py +38 -0
  14. weave/weaveapi/{modex → llmx}/v1/provider_pb2.pyi +31 -19
  15. weave/weaveapi/llmx/v1/provider_pb2_grpc.py +2 -0
  16. weave/weaveapi/llmx/v1/provider_pb2_grpc.pyi +20 -0
  17. weave/weaveapi/llmx/v1/service_pb2.py +180 -0
  18. weave/weaveapi/{modex → llmx}/v1/service_pb2.pyi +174 -44
  19. weave/weaveapi/{modex → llmx}/v1/service_pb2_grpc.py +103 -105
  20. weave/weaveapi/llmx/v1/service_pb2_grpc.pyi +266 -0
  21. {weave_python-0.27.0.dist-info → weave_python-0.28.1.dist-info}/METADATA +1 -1
  22. {weave_python-0.27.0.dist-info → weave_python-0.28.1.dist-info}/RECORD +27 -17
  23. weave/weaveapi/modex/v1/model_pb2.py +0 -58
  24. weave/weaveapi/modex/v1/provider_pb2.py +0 -38
  25. weave/weaveapi/modex/v1/service_pb2.py +0 -180
  26. weave/weaveapi/modex/v1/service_pb2_grpc.pyi +0 -268
  27. weave/weavesql/weavedb/models.py +0 -124
  28. weave/weavesql/weavedb/queries.py +0 -306
  29. /weave/weaveapi/{modex/v1/model_pb2_grpc.py → llmx/v1/architecture_pb2_grpc.py} +0 -0
  30. /weave/weaveapi/{modex/v1/model_pb2_grpc.pyi → llmx/v1/architecture_pb2_grpc.pyi} +0 -0
  31. /weave/weaveapi/{modex/v1/provider_pb2_grpc.py → llmx/v1/capabilities_pb2_grpc.py} +0 -0
  32. /weave/weaveapi/{modex/v1/provider_pb2_grpc.pyi → llmx/v1/capabilities_pb2_grpc.pyi} +0 -0
  33. {weave_python-0.27.0.dist-info → weave_python-0.28.1.dist-info}/WHEEL +0 -0
@@ -10,8 +10,8 @@ import google.protobuf.internal.containers
10
10
  import google.protobuf.message
11
11
  import google.protobuf.timestamp_pb2
12
12
  import typing
13
- import weaveapi.modex.v1.model_pb2
14
- import weaveapi.modex.v1.provider_pb2
13
+ import weaveapi.llmx.v1.model_pb2
14
+ import weaveapi.llmx.v1.provider_pb2
15
15
 
16
16
  DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
17
17
 
@@ -59,12 +59,12 @@ class ListProvidersResponse(google.protobuf.message.Message):
59
59
  def providers(
60
60
  self,
61
61
  ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
62
- weaveapi.modex.v1.provider_pb2.Provider
62
+ weaveapi.llmx.v1.provider_pb2.Provider
63
63
  ]: ...
64
64
  def __init__(
65
65
  self,
66
66
  *,
67
- providers: collections.abc.Iterable[weaveapi.modex.v1.provider_pb2.Provider]
67
+ providers: collections.abc.Iterable[weaveapi.llmx.v1.provider_pb2.Provider]
68
68
  | None = ...,
69
69
  next_page_token: builtins.str = ...,
70
70
  total_count: builtins.int = ...,
@@ -105,11 +105,11 @@ class GetProviderResponse(google.protobuf.message.Message):
105
105
 
106
106
  PROVIDER_FIELD_NUMBER: builtins.int
107
107
  @property
108
- def provider(self) -> weaveapi.modex.v1.provider_pb2.Provider: ...
108
+ def provider(self) -> weaveapi.llmx.v1.provider_pb2.Provider: ...
109
109
  def __init__(
110
110
  self,
111
111
  *,
112
- provider: weaveapi.modex.v1.provider_pb2.Provider | None = ...,
112
+ provider: weaveapi.llmx.v1.provider_pb2.Provider | None = ...,
113
113
  ) -> None: ...
114
114
  def HasField(
115
115
  self, field_name: typing.Literal["provider", b"provider"]
@@ -122,6 +122,8 @@ global___GetProviderResponse = GetProviderResponse
122
122
 
123
123
  @typing.final
124
124
  class ListModelsRequest(google.protobuf.message.Message):
125
+ """ListModelsRequest defines filters and pagination for listing models."""
126
+
125
127
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
126
128
 
127
129
  PAGE_SIZE_FIELD_NUMBER: builtins.int
@@ -139,26 +141,72 @@ class ListModelsRequest(google.protobuf.message.Message):
139
141
  ORDER_BY_FIELD_NUMBER: builtins.int
140
142
  DESCENDING_FIELD_NUMBER: builtins.int
141
143
  page_size: builtins.int
144
+ """Maximum number of models to return (1-100).
145
+ Example: 20 for paginated results
146
+ """
142
147
  page_token: builtins.str
148
+ """Token for fetching next page of results.
149
+ Example: "eyJvZmZzZXQiOjIwfQ==" from previous response
150
+ """
143
151
  provider: builtins.str
144
- """Filters"""
152
+ """=== Provider and Type Filters ===
153
+
154
+ Filter by provider slug.
155
+ Example: "openai" to only show OpenAI models
156
+ """
145
157
  model_type: builtins.str
158
+ """Filter by model type.
159
+ Examples: "chat", "embedding", "image", "audio"
160
+ """
146
161
  active_only: builtins.bool
162
+ """Only show currently available models.
163
+ Example: true to exclude deprecated models
164
+ """
147
165
  vision_only: builtins.bool
148
- """Capability filters"""
166
+ """=== Capability Filters (models must have these features) ===
167
+
168
+ Only models with vision/image understanding.
169
+ Example: true for GPT-4V, Claude-3 Vision
170
+ """
149
171
  tool_calls_only: builtins.bool
172
+ """Only models supporting function/tool calling.
173
+ Example: true for GPT-4, Claude-3
174
+ """
150
175
  reasoning_only: builtins.bool
176
+ """Only models with advanced reasoning capabilities.
177
+ Example: true for o1-preview, o1-mini
178
+ """
151
179
  open_source_only: builtins.bool
180
+ """Only open-source models with public weights.
181
+ Example: true for LLaMA, Mistral, false for GPT-4
182
+ """
152
183
  max_input_price: builtins.float
153
- """Price filters (per 1M tokens)"""
184
+ """=== Price Filters (per 1M tokens) ===
185
+
186
+ Maximum acceptable input token price.
187
+ Example: 5.0 for models under $5/1M input tokens
188
+ """
154
189
  max_output_price: builtins.float
190
+ """Maximum acceptable output token price.
191
+ Example: 15.0 for models under $15/1M output tokens
192
+ """
155
193
  min_context_window: builtins.int
156
- """Token filters"""
194
+ """=== Token Filters ===
195
+
196
+ Minimum required context window size.
197
+ Example: 32000 for models with 32k+ context
198
+ """
157
199
  order_by: builtins.str
158
- """Sorting
159
- "name", "release_date", "input_price", "context_window"
200
+ """=== Sorting Options ===
201
+
202
+ Field to sort results by.
203
+ Options: "name", "release_date", "input_price", "context_window"
204
+ Example: "release_date" for newest models first
160
205
  """
161
206
  descending: builtins.bool
207
+ """Sort in descending order.
208
+ Example: true for newest/highest first, false for oldest/lowest
209
+ """
162
210
  def __init__(
163
211
  self,
164
212
  *,
@@ -226,13 +274,12 @@ class ListModelsResponse(google.protobuf.message.Message):
226
274
  def models(
227
275
  self,
228
276
  ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
229
- weaveapi.modex.v1.model_pb2.Model
277
+ weaveapi.llmx.v1.model_pb2.Model
230
278
  ]: ...
231
279
  def __init__(
232
280
  self,
233
281
  *,
234
- models: collections.abc.Iterable[weaveapi.modex.v1.model_pb2.Model]
235
- | None = ...,
282
+ models: collections.abc.Iterable[weaveapi.llmx.v1.model_pb2.Model] | None = ...,
236
283
  next_page_token: builtins.str = ...,
237
284
  total_count: builtins.int = ...,
238
285
  ) -> None: ...
@@ -279,11 +326,11 @@ class GetModelResponse(google.protobuf.message.Message):
279
326
 
280
327
  MODEL_FIELD_NUMBER: builtins.int
281
328
  @property
282
- def model(self) -> weaveapi.modex.v1.model_pb2.Model: ...
329
+ def model(self) -> weaveapi.llmx.v1.model_pb2.Model: ...
283
330
  def __init__(
284
331
  self,
285
332
  *,
286
- model: weaveapi.modex.v1.model_pb2.Model | None = ...,
333
+ model: weaveapi.llmx.v1.model_pb2.Model | None = ...,
287
334
  ) -> None: ...
288
335
  def HasField(
289
336
  self, field_name: typing.Literal["model", b"model"]
@@ -294,6 +341,8 @@ global___GetModelResponse = GetModelResponse
294
341
 
295
342
  @typing.final
296
343
  class SearchModelsRequest(google.protobuf.message.Message):
344
+ """SearchModelsRequest enables advanced model search with multiple filter criteria."""
345
+
297
346
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
298
347
 
299
348
  QUERY_FIELD_NUMBER: builtins.int
@@ -311,57 +360,94 @@ class SearchModelsRequest(google.protobuf.message.Message):
311
360
  ORDER_BY_FIELD_NUMBER: builtins.int
312
361
  DESCENDING_FIELD_NUMBER: builtins.int
313
362
  query: builtins.str
314
- """Full-text search"""
363
+ """Full-text search across model names and descriptions.
364
+ Example: "code generation" to find coding-focused models
365
+ """
315
366
  page_size: builtins.int
316
- """Pagination"""
367
+ """=== Pagination ===
368
+
369
+ Results per page (1-100).
370
+ Example: 25
371
+ """
317
372
  page_token: builtins.str
373
+ """Continuation token from previous response."""
318
374
  order_by: builtins.str
319
- """Sorting"""
375
+ """=== Sorting ===
376
+
377
+ Sort field name.
378
+ Options: "relevance", "name", "release_date", "price", "performance"
379
+ """
320
380
  descending: builtins.bool
381
+ """Sort direction.
382
+ Example: true for descending (highest/newest first)
383
+ """
321
384
  @property
322
385
  def providers(
323
386
  self,
324
387
  ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
325
- """Advanced filters"""
388
+ """=== Advanced Filters (ANY match) ===
389
+
390
+ Filter by multiple providers.
391
+ Example: ["openai", "anthropic"] for models from either provider
392
+ """
326
393
 
327
394
  @property
328
395
  def model_types(
329
396
  self,
330
- ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[
331
- builtins.str
332
- ]: ...
397
+ ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
398
+ """Filter by multiple model types.
399
+ Example: ["chat", "instruct"] for conversational models
400
+ """
401
+
333
402
  @property
334
403
  def architectures(
335
404
  self,
336
- ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[
337
- builtins.str
338
- ]: ...
405
+ ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
406
+ """Filter by architecture families.
407
+ Example: ["GPT", "LLaMA", "Mistral"] for specific architectures
408
+ """
409
+
339
410
  @property
340
411
  def required_capabilities(
341
412
  self,
342
413
  ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
343
- """Capability requirements (ALL must be true)"""
414
+ """=== Capability Requirements (ALL must match) ===
415
+
416
+ Required capabilities (model must have all).
417
+ Example: ["function_calling", "vision"] for multi-modal tool-use models
418
+ """
344
419
 
345
420
  @property
346
421
  def required_input_modalities(
347
422
  self,
348
- ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[
349
- builtins.str
350
- ]: ...
423
+ ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
424
+ """Required input modalities (model must support all).
425
+ Example: ["text", "image"] for vision-language models
426
+ """
427
+
351
428
  @property
352
429
  def required_output_modalities(
353
430
  self,
354
- ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[
355
- builtins.str
356
- ]: ...
431
+ ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]:
432
+ """Required output modalities (model must support all).
433
+ Example: ["text", "code"] for code generation models
434
+ """
435
+
357
436
  @property
358
437
  def price_range(self) -> global___PriceRange:
359
- """Numeric ranges"""
438
+ """=== Numeric Range Filters ===
439
+
440
+ Price range constraints per 1M tokens.
441
+ """
360
442
 
361
443
  @property
362
- def token_range(self) -> global___TokenRange: ...
444
+ def token_range(self) -> global___TokenRange:
445
+ """Token limit constraints."""
446
+
363
447
  @property
364
- def performance_range(self) -> global___PerformanceRange: ...
448
+ def performance_range(self) -> global___PerformanceRange:
449
+ """Minimum performance scores required."""
450
+
365
451
  def __init__(
366
452
  self,
367
453
  *,
@@ -429,6 +515,8 @@ global___SearchModelsRequest = SearchModelsRequest
429
515
 
430
516
  @typing.final
431
517
  class PriceRange(google.protobuf.message.Message):
518
+ """PriceRange defines min/max price constraints for filtering models."""
519
+
432
520
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
433
521
 
434
522
  MIN_INPUT_PRICE_FIELD_NUMBER: builtins.int
@@ -436,9 +524,21 @@ class PriceRange(google.protobuf.message.Message):
436
524
  MIN_OUTPUT_PRICE_FIELD_NUMBER: builtins.int
437
525
  MAX_OUTPUT_PRICE_FIELD_NUMBER: builtins.int
438
526
  min_input_price: builtins.float
527
+ """Minimum input token price per 1M tokens.
528
+ Example: 0.5 for at least $0.50/1M input tokens
529
+ """
439
530
  max_input_price: builtins.float
531
+ """Maximum input token price per 1M tokens.
532
+ Example: 10.0 for at most $10/1M input tokens
533
+ """
440
534
  min_output_price: builtins.float
535
+ """Minimum output token price per 1M tokens.
536
+ Example: 1.0 for at least $1/1M output tokens
537
+ """
441
538
  max_output_price: builtins.float
539
+ """Maximum output token price per 1M tokens.
540
+ Example: 30.0 for at most $30/1M output tokens
541
+ """
442
542
  def __init__(
443
543
  self,
444
544
  *,
@@ -465,6 +565,8 @@ global___PriceRange = PriceRange
465
565
 
466
566
  @typing.final
467
567
  class TokenRange(google.protobuf.message.Message):
568
+ """TokenRange defines min/max token constraints for filtering models."""
569
+
468
570
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
469
571
 
470
572
  MIN_CONTEXT_WINDOW_FIELD_NUMBER: builtins.int
@@ -472,9 +574,21 @@ class TokenRange(google.protobuf.message.Message):
472
574
  MIN_OUTPUT_TOKENS_FIELD_NUMBER: builtins.int
473
575
  MAX_OUTPUT_TOKENS_FIELD_NUMBER: builtins.int
474
576
  min_context_window: builtins.int
577
+ """Minimum context window size required.
578
+ Example: 8192 for at least 8k context
579
+ """
475
580
  max_context_window: builtins.int
581
+ """Maximum context window size allowed.
582
+ Example: 128000 for at most 128k context
583
+ """
476
584
  min_output_tokens: builtins.int
585
+ """Minimum output token limit required.
586
+ Example: 2048 for at least 2k output tokens
587
+ """
477
588
  max_output_tokens: builtins.int
589
+ """Maximum output token limit allowed.
590
+ Example: 16384 for at most 16k output tokens
591
+ """
478
592
  def __init__(
479
593
  self,
480
594
  *,
@@ -501,6 +615,8 @@ global___TokenRange = TokenRange
501
615
 
502
616
  @typing.final
503
617
  class PerformanceRange(google.protobuf.message.Message):
618
+ """PerformanceRange defines minimum performance scores for filtering."""
619
+
504
620
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
505
621
 
506
622
  MIN_REASONING_SCORE_FIELD_NUMBER: builtins.int
@@ -509,10 +625,25 @@ class PerformanceRange(google.protobuf.message.Message):
509
625
  MIN_FACTUAL_SCORE_FIELD_NUMBER: builtins.int
510
626
  MIN_MATH_SCORE_FIELD_NUMBER: builtins.int
511
627
  min_reasoning_score: builtins.float
628
+ """Minimum reasoning score (0-10).
629
+ Example: 7.5 for strong reasoning models only
630
+ """
512
631
  min_coding_score: builtins.float
632
+ """Minimum coding score (0-10).
633
+ Example: 8.0 for excellent coding models only
634
+ """
513
635
  min_creative_score: builtins.float
636
+ """Minimum creative writing score (0-10).
637
+ Example: 7.0 for good creative models only
638
+ """
514
639
  min_factual_score: builtins.float
640
+ """Minimum factual accuracy score (0-10).
641
+ Example: 8.5 for highly accurate models only
642
+ """
515
643
  min_math_score: builtins.float
644
+ """Minimum mathematical ability score (0-10).
645
+ Example: 9.0 for advanced math models only
646
+ """
516
647
  def __init__(
517
648
  self,
518
649
  *,
@@ -554,7 +685,7 @@ class SearchModelsResponse(google.protobuf.message.Message):
554
685
  def models(
555
686
  self,
556
687
  ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[
557
- weaveapi.modex.v1.model_pb2.Model
688
+ weaveapi.llmx.v1.model_pb2.Model
558
689
  ]: ...
559
690
  @property
560
691
  def facets(
@@ -565,8 +696,7 @@ class SearchModelsResponse(google.protobuf.message.Message):
565
696
  def __init__(
566
697
  self,
567
698
  *,
568
- models: collections.abc.Iterable[weaveapi.modex.v1.model_pb2.Model]
569
- | None = ...,
699
+ models: collections.abc.Iterable[weaveapi.llmx.v1.model_pb2.Model] | None = ...,
570
700
  next_page_token: builtins.str = ...,
571
701
  total_count: builtins.int = ...,
572
702
  facets: collections.abc.Iterable[global___FacetResult] | None = ...,
@@ -720,7 +850,7 @@ class ModelComparison(google.protobuf.message.Message):
720
850
  MODEL_FIELD_NUMBER: builtins.int
721
851
  HIGHLIGHTED_DIFFERENCES_FIELD_NUMBER: builtins.int
722
852
  @property
723
- def model(self) -> weaveapi.modex.v1.model_pb2.Model: ...
853
+ def model(self) -> weaveapi.llmx.v1.model_pb2.Model: ...
724
854
  @property
725
855
  def highlighted_differences(
726
856
  self,
@@ -728,7 +858,7 @@ class ModelComparison(google.protobuf.message.Message):
728
858
  def __init__(
729
859
  self,
730
860
  *,
731
- model: weaveapi.modex.v1.model_pb2.Model | None = ...,
861
+ model: weaveapi.llmx.v1.model_pb2.Model | None = ...,
732
862
  highlighted_differences: collections.abc.Mapping[builtins.str, builtins.str]
733
863
  | None = ...,
734
864
  ) -> None: ...
@@ -1106,11 +1236,11 @@ class TrendingModel(google.protobuf.message.Message):
1106
1236
  """Percentage"""
1107
1237
  rank: builtins.int
1108
1238
  @property
1109
- def model(self) -> weaveapi.modex.v1.model_pb2.Model: ...
1239
+ def model(self) -> weaveapi.llmx.v1.model_pb2.Model: ...
1110
1240
  def __init__(
1111
1241
  self,
1112
1242
  *,
1113
- model: weaveapi.modex.v1.model_pb2.Model | None = ...,
1243
+ model: weaveapi.llmx.v1.model_pb2.Model | None = ...,
1114
1244
  api_calls: builtins.int = ...,
1115
1245
  unique_users: builtins.int = ...,
1116
1246
  growth_rate: builtins.float = ...,