datavo-sdk 0.22.0__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 (71) hide show
  1. datavo_sdk/__init__.py +559 -0
  2. datavo_sdk/api_models/__init__.py +354 -0
  3. datavo_sdk/api_models/attachments.py +135 -0
  4. datavo_sdk/api_models/base.py +56 -0
  5. datavo_sdk/api_models/common.py +696 -0
  6. datavo_sdk/api_models/composition.py +106 -0
  7. datavo_sdk/api_models/datasets.py +388 -0
  8. datavo_sdk/api_models/events.py +100 -0
  9. datavo_sdk/api_models/predicates.py +395 -0
  10. datavo_sdk/api_models/previews.py +108 -0
  11. datavo_sdk/api_models/samples.py +393 -0
  12. datavo_sdk/api_models/selection.py +397 -0
  13. datavo_sdk/api_models/source_imports.py +168 -0
  14. datavo_sdk/api_models/splits.py +567 -0
  15. datavo_sdk/api_models/stats.py +182 -0
  16. datavo_sdk/api_models/stores.py +71 -0
  17. datavo_sdk/api_models/teams.py +174 -0
  18. datavo_sdk/api_models/tokens.py +147 -0
  19. datavo_sdk/api_models/users.py +73 -0
  20. datavo_sdk/api_models/workset_reads.py +70 -0
  21. datavo_sdk/api_models/worksets.py +279 -0
  22. datavo_sdk/base_search.py +104 -0
  23. datavo_sdk/base_shard.py +123 -0
  24. datavo_sdk/client/__init__.py +98 -0
  25. datavo_sdk/client/_aliases.py +271 -0
  26. datavo_sdk/client/_errors.py +126 -0
  27. datavo_sdk/client/_retry.py +162 -0
  28. datavo_sdk/client/_transport.py +698 -0
  29. datavo_sdk/client/add_nodes.py +112 -0
  30. datavo_sdk/client/attachments.py +392 -0
  31. datavo_sdk/client/datasets.py +239 -0
  32. datavo_sdk/client/events.py +44 -0
  33. datavo_sdk/client/keys.py +23 -0
  34. datavo_sdk/client/misc.py +78 -0
  35. datavo_sdk/client/samples.py +98 -0
  36. datavo_sdk/client/source_imports.py +419 -0
  37. datavo_sdk/client/splits.py +146 -0
  38. datavo_sdk/client/stats.py +62 -0
  39. datavo_sdk/client/stores.py +257 -0
  40. datavo_sdk/client/teams.py +202 -0
  41. datavo_sdk/client/tokens.py +86 -0
  42. datavo_sdk/client/users.py +46 -0
  43. datavo_sdk/client/worksets.py +275 -0
  44. datavo_sdk/dataset_iter.py +1268 -0
  45. datavo_sdk/download_events.py +143 -0
  46. datavo_sdk/entra.py +291 -0
  47. datavo_sdk/file_shard.py +138 -0
  48. datavo_sdk/jobpool/__init__.py +66 -0
  49. datavo_sdk/jobpool/adapter.py +115 -0
  50. datavo_sdk/jobpool/client.py +290 -0
  51. datavo_sdk/jobpool/contract.py +492 -0
  52. datavo_sdk/jobpool/render.py +102 -0
  53. datavo_sdk/local_manifest.py +244 -0
  54. datavo_sdk/local_shard_writer.py +191 -0
  55. datavo_sdk/logical_shard.py +118 -0
  56. datavo_sdk/new_shard.py +106 -0
  57. datavo_sdk/plan_cache.py +126 -0
  58. datavo_sdk/resolved_shardstack.py +96 -0
  59. datavo_sdk/server_config.py +94 -0
  60. datavo_sdk/shard_cache.py +1136 -0
  61. datavo_sdk/shard_file_checker.py +69 -0
  62. datavo_sdk/stack.py +204 -0
  63. datavo_sdk/torch_dataset.py +143 -0
  64. datavo_sdk/webdataset/__init__.py +4 -0
  65. datavo_sdk/webdataset/autodecode.py +93 -0
  66. datavo_sdk/webdataset/writer.py +140 -0
  67. datavo_sdk-0.22.0.dist-info/METADATA +75 -0
  68. datavo_sdk-0.22.0.dist-info/RECORD +71 -0
  69. datavo_sdk-0.22.0.dist-info/WHEEL +5 -0
  70. datavo_sdk-0.22.0.dist-info/licenses/LICENSE +201 -0
  71. datavo_sdk-0.22.0.dist-info/top_level.txt +1 -0
datavo_sdk/__init__.py ADDED
@@ -0,0 +1,559 @@
1
+ from .api_models import (
2
+ AddKeyGroupRequest,
3
+ AnyKey,
4
+ AttachedBy,
5
+ Attr,
6
+ AttrIn,
7
+ AttrRange,
8
+ AuthStatus,
9
+ AttachmentIngestCommitRequest,
10
+ AttachmentIngestCommitResponse,
11
+ AttachmentIngestReserveRequest,
12
+ AttachmentIngestReserveResponse,
13
+ AttachmentIngestStatusResponse,
14
+ CopySamplesToNewStoreRequest,
15
+ CopySamplesToNewStoreResponse,
16
+ DatavoEventCreateRequest,
17
+ DatavoEventListResponse,
18
+ DatavoEventResponse,
19
+ DatasetCreateRequest,
20
+ CallerTeamMembership,
21
+ DefaultTeamUpdateRequest,
22
+ ResourceGrantCreateRequest,
23
+ ResourceGrantListResponse,
24
+ ResourceGrantRevokeRequest,
25
+ ResourceGrantRevokeResponse,
26
+ ResourceGrantSummary,
27
+ TeamCreateRequest,
28
+ TeamDetailResponse,
29
+ TeamListResponse,
30
+ TeamMemberAddRequest,
31
+ TeamMemberSummary,
32
+ TeamSummary,
33
+ TeamUpdateRequest,
34
+ TransferOwnershipRequest,
35
+ TransferOwnershipResponse,
36
+ TransferPreviewResponse,
37
+ TransferredResource,
38
+ DatasetDeleteCounts,
39
+ DatasetDeleteResponse,
40
+ DatasetAttributeNamesResponse,
41
+ DatasetDraftAnalyzeRequest,
42
+ DatasetDraftAnalyzeResponse,
43
+ DatasetDraftKeyCoverage,
44
+ DatasetDraftKeyGroupEstimate,
45
+ DatasetDraftPreviewRequest,
46
+ DatasetDraftPreviewResponse,
47
+ DatasetDraftStoreCount,
48
+ DatasetListItem,
49
+ DatasetListResponse,
50
+ DatasetKeyGroupRetentionUpdateRequest,
51
+ DatasetKeyGroupSummary,
52
+ DatasetSplitDefinition,
53
+ DatasetSplitDraftPreviewResponse,
54
+ DatasetSplitDraftRequest,
55
+ DatasetSplitFieldSummary,
56
+ DatasetSplitFieldsResponse,
57
+ DatasetSplitNumericSummary,
58
+ DatasetSplitRuleResult,
59
+ DatasetSplitSetCreateRequest,
60
+ DatasetSplitSetListItem,
61
+ DatasetSplitSetListResponse,
62
+ DatasetSplitSetResponse,
63
+ DatasetSplitSummary,
64
+ DatasetScalarStatsRequest,
65
+ DatasetScalarStatsResponse,
66
+ ExclusivityRule,
67
+ ExclusivityRuleResult,
68
+ DatasetPreviewGridRequest,
69
+ DatasetPreviewGridResponse,
70
+ DatasetPreviewSelectionStats,
71
+ DatasetPreviewRequest,
72
+ DatasetPreviewResponse,
73
+ DatasetResponse,
74
+ EntityPreviewGridRequest,
75
+ EntityPreviewGridResponse,
76
+ HasKeys,
77
+ PrepareProduceResponse,
78
+ DatasetShardStatus,
79
+ DatasetShardListResponse,
80
+ SourceSpec,
81
+ KeyGroupSpec,
82
+ OpenShard,
83
+ OpenShardSample,
84
+ OpenShardSampleMember,
85
+ OverviewDatasetItem,
86
+ OverviewResponse,
87
+ OverviewSampleStoreItem,
88
+ OverviewTotals,
89
+ ProcessingTokenIssueRequest,
90
+ ProcessingTokenIssueResponse,
91
+ ProcessingTokenRevokeResponse,
92
+ PreviewCell,
93
+ PreviewColumn,
94
+ PublicServerConfig,
95
+ RetentionPolicy,
96
+ SourceUsageDatasetItem,
97
+ SourceUsageProtectedKeyGroup,
98
+ SourceUsageResponse,
99
+ SampleAttributeNameSummary,
100
+ SampleAttributeNamesResponse,
101
+ SampleAttributeSummary,
102
+ SampleAttributeValueSummary,
103
+ SampleAttributeValuesResponse,
104
+ SampleExploreResponse,
105
+ SampleHistoryResponse,
106
+ SampleIntroductionProvenance,
107
+ SampleKeyExploreResponse,
108
+ SampleKeyRevisionListResponse,
109
+ SampleKeySummary,
110
+ SampleResponse,
111
+ SampleResolveRevisionsRequest,
112
+ SampleResolvedRevisionResponse,
113
+ SampleRevisionExplore,
114
+ SampleRevisionPreviewResponse,
115
+ SampleRevisionProvenance,
116
+ SampleRevisionSummary,
117
+ SampleStoreCatalogVisibility,
118
+ SampleStoreMovementResponse,
119
+ SampleStoreCreateRequest,
120
+ SampleStoreDeleteCounts,
121
+ SampleStoreDeleteResponse,
122
+ SampleStoreDetailResponse,
123
+ SampleStoreKeySummary,
124
+ SampleStoreListResponse,
125
+ SampleStoreStatsResponse,
126
+ SampleStoreSummary,
127
+ SampleStoreTransferCounts,
128
+ SampleStoreTransferRequest,
129
+ SampleStoreTransferResponse,
130
+ SearchHistogramBin,
131
+ SourceViewPreviewRequest,
132
+ SourceViewPreviewResponse,
133
+ SourceViewPreviewStats,
134
+ SortKey,
135
+ SearchScalarStat,
136
+ SearchTopValue,
137
+ RepresentationClause,
138
+ RepresentationRule,
139
+ RepresentationRuleResult,
140
+ RepresentationUnsatisfiedValue,
141
+ PreviewRow,
142
+ Not,
143
+ NotAttachedBy,
144
+ RowFilter,
145
+ RowPredicate,
146
+ SampleFilter,
147
+ SampleFilterDefinition,
148
+ SampleKeySelector,
149
+ SampleSelection,
150
+ ShardPlan,
151
+ SplitAttributeSelector,
152
+ SplitAttributePredicate,
153
+ SplitNumericRangePredicate,
154
+ SplitOutputSpec,
155
+ SplitRatioSelector,
156
+ SplitRepresentationPlan,
157
+ SplitRuleSpec,
158
+ SplitSelector,
159
+ SplitSetDeleteCounts,
160
+ SplitSetDeleteResponse,
161
+ SplitTextValuesPredicate,
162
+ SourceImportCommitRequest,
163
+ SourceImportPartCompleteRequest,
164
+ SourceImportCreateRequest,
165
+ SourceImportDeleteCounts,
166
+ SourceImportDeleteResponse,
167
+ SourceImportPartResponse,
168
+ SourceImportResponse,
169
+ SourceImportSampleMapping,
170
+ SourceImportSampleMappingListResponse,
171
+ SourceImportTransferRequest,
172
+ SourceImportTransferResponse,
173
+ StratificationRule,
174
+ StratificationRuleResult,
175
+ StatsRebuildRequest,
176
+ StatsRebuildResponse,
177
+ StatsFieldSpec,
178
+ StatsMetricRequest,
179
+ StatsMetricResult,
180
+ StatsQueryRequest,
181
+ StatsQueryResponse,
182
+ StatsScope,
183
+ DatasetStatsResponse,
184
+ WorksetCreateRequest,
185
+ WorksetOpenRequest,
186
+ WorksetOpenResponse,
187
+ WorksetIssueStreamTicketsRequest,
188
+ WorksetIssueStreamTicketsResponse,
189
+ WorksetResolveShardsRequest,
190
+ WorksetResolveShardsResponse,
191
+ WorksetShardRef,
192
+ WorksetShardSelector,
193
+ WorksetScope,
194
+ WorksetStreamTicket,
195
+ WorksetResponse,
196
+ )
197
+ from .base_search import BaseSearchIndex, BaseSearchIndexWriter, ShardSearchEntry
198
+ from .base_shard import (
199
+ BaseShard,
200
+ ContainerShard,
201
+ CreatedBy,
202
+ ImportMode,
203
+ ShardMalformedError,
204
+ ShardMetadata,
205
+ )
206
+ from .entra import (
207
+ EntraConfig,
208
+ EntraTokenProvider,
209
+ default_msal_cache_path,
210
+ discover_entra_config,
211
+ login_entra,
212
+ )
213
+ from .dataset_iter import DEFAULT_PREFETCH, SampleStream
214
+ from .download_events import DownloadStats, ShardDownloadCallback, ShardDownloadEvent
215
+ from .file_shard import FileShard
216
+ from .local_manifest import (
217
+ LOCAL_MANIFEST_VERSION,
218
+ LocalShardEntry,
219
+ LocalShardGroup,
220
+ LocalShardManifest,
221
+ load_local_manifest,
222
+ resolve_local_shard_groups,
223
+ )
224
+ from .local_shard_writer import LocalShardWriter
225
+ from .logical_shard import download_logical_shard_to_tar
226
+ from .new_shard import NewShard
227
+ from .plan_cache import CachedPlan, CachedShardRef, PlanCache, default_plan_cache_dir
228
+ from .resolved_shardstack import ResolvedShardStackLayer, ResolvedShardStackManifest
229
+ from .shard_cache import (
230
+ DEFAULT_CACHE_ROOT,
231
+ DEFAULT_CACHE_ROOT_ENV,
232
+ DEFAULT_CONFIG_PATHS,
233
+ DEFAULT_MAX_BYTES,
234
+ AzureBlobShardCacheTier,
235
+ GcsShardCacheTier,
236
+ S3ShardCacheTier,
237
+ ShardCacheHierarchy,
238
+ ShardCacheTier,
239
+ datavo_instance_namespace,
240
+ get_default_shard_cache,
241
+ load_shard_cache_config,
242
+ )
243
+ from .client import (
244
+ DatavoApiError,
245
+ DatavoNonJsonResponseError,
246
+ DatavoResponseParseError,
247
+ DatavoClient,
248
+ )
249
+ from .server_config import (
250
+ default_config_dir,
251
+ default_server_config_path,
252
+ fetch_server_config,
253
+ get_server_config,
254
+ load_server_cache,
255
+ save_server_cache,
256
+ )
257
+ from .stack import ShardStack
258
+ from .webdataset import Decoder, TarWriter
259
+
260
+ __all__ = [
261
+ "AddKeyGroupRequest",
262
+ "AnyKey",
263
+ "AttachedBy",
264
+ "Attr",
265
+ "AttrIn",
266
+ "AttrRange",
267
+ "AuthStatus",
268
+ "AttachmentIngestCommitRequest",
269
+ "AttachmentIngestCommitResponse",
270
+ "AttachmentIngestReserveRequest",
271
+ "AttachmentIngestReserveResponse",
272
+ "AttachmentIngestStatusResponse",
273
+ "CopySamplesToNewStoreRequest",
274
+ "CopySamplesToNewStoreResponse",
275
+ "DatavoEventCreateRequest",
276
+ "DatavoEventListResponse",
277
+ "DatavoEventResponse",
278
+ "BaseSearchIndex",
279
+ "BaseSearchIndexWriter",
280
+ "AzureBlobShardCacheTier",
281
+ "BaseShard",
282
+ "CachedPlan",
283
+ "CachedShardRef",
284
+ "ContainerShard",
285
+ "CreatedBy",
286
+ "DatasetCreateRequest",
287
+ "CallerTeamMembership",
288
+ "DefaultTeamUpdateRequest",
289
+ "ResourceGrantCreateRequest",
290
+ "ResourceGrantListResponse",
291
+ "ResourceGrantRevokeRequest",
292
+ "ResourceGrantRevokeResponse",
293
+ "ResourceGrantSummary",
294
+ "TeamCreateRequest",
295
+ "TeamDetailResponse",
296
+ "TeamListResponse",
297
+ "TeamMemberAddRequest",
298
+ "TeamMemberSummary",
299
+ "TeamSummary",
300
+ "TeamUpdateRequest",
301
+ "TransferOwnershipRequest",
302
+ "TransferOwnershipResponse",
303
+ "TransferPreviewResponse",
304
+ "TransferredResource",
305
+ "DatasetDeleteCounts",
306
+ "DatasetDeleteResponse",
307
+ "DatasetAttributeNamesResponse",
308
+ "DatasetDraftAnalyzeRequest",
309
+ "DatasetDraftAnalyzeResponse",
310
+ "DatasetDraftKeyCoverage",
311
+ "DatasetDraftKeyGroupEstimate",
312
+ "DatasetDraftPreviewRequest",
313
+ "DatasetDraftPreviewResponse",
314
+ "DatasetDraftStoreCount",
315
+ "DatasetListItem",
316
+ "DatasetListResponse",
317
+ "DatasetKeyGroupRetentionUpdateRequest",
318
+ "DatasetKeyGroupSummary",
319
+ "DatasetSplitDefinition",
320
+ "DatasetSplitDraftPreviewResponse",
321
+ "DatasetSplitDraftRequest",
322
+ "DatasetSplitFieldSummary",
323
+ "DatasetSplitFieldsResponse",
324
+ "DatasetSplitNumericSummary",
325
+ "DatasetSplitRuleResult",
326
+ "DatasetSplitSetCreateRequest",
327
+ "DatasetSplitSetListItem",
328
+ "DatasetSplitSetListResponse",
329
+ "DatasetSplitSetResponse",
330
+ "DatasetSplitSummary",
331
+ "DatasetScalarStatsRequest",
332
+ "DatasetScalarStatsResponse",
333
+ "SampleStream",
334
+ "DEFAULT_PREFETCH",
335
+ "ExclusivityRule",
336
+ "ExclusivityRuleResult",
337
+ "DatasetPreviewGridRequest",
338
+ "DatasetPreviewGridResponse",
339
+ "DatasetPreviewSelectionStats",
340
+ "DatasetPreviewRequest",
341
+ "DatasetPreviewResponse",
342
+ "DatasetResponse",
343
+ "EntityPreviewGridRequest",
344
+ "EntityPreviewGridResponse",
345
+ "HasKeys",
346
+ "PrepareProduceResponse",
347
+ "DatasetShardStatus",
348
+ "DatasetShardListResponse",
349
+ "SourceSpec",
350
+ "DatavoApiError",
351
+ "DatavoNonJsonResponseError",
352
+ "DatavoResponseParseError",
353
+ "DatavoClient",
354
+ "Decoder",
355
+ "DownloadStats",
356
+ "ShardDownloadCallback",
357
+ "ShardDownloadEvent",
358
+ "EntraConfig",
359
+ "EntraTokenProvider",
360
+ "FileShard",
361
+ "LOCAL_MANIFEST_VERSION",
362
+ "LocalShardEntry",
363
+ "LocalShardGroup",
364
+ "LocalShardManifest",
365
+ "LocalShardWriter",
366
+ "load_local_manifest",
367
+ "resolve_local_shard_groups",
368
+ "ImportMode",
369
+ "KeyGroupSpec",
370
+ "download_logical_shard_to_tar",
371
+ "NewShard",
372
+ "OpenShard",
373
+ "PlanCache",
374
+ "OpenShardSample",
375
+ "OpenShardSampleMember",
376
+ "OverviewDatasetItem",
377
+ "OverviewResponse",
378
+ "OverviewSampleStoreItem",
379
+ "OverviewTotals",
380
+ "ProcessingTokenIssueRequest",
381
+ "ProcessingTokenIssueResponse",
382
+ "ProcessingTokenRevokeResponse",
383
+ "PreviewCell",
384
+ "PreviewColumn",
385
+ "PublicServerConfig",
386
+ "RetentionPolicy",
387
+ "SourceUsageDatasetItem",
388
+ "SourceUsageProtectedKeyGroup",
389
+ "SourceUsageResponse",
390
+ "SampleAttributeNameSummary",
391
+ "SampleAttributeNamesResponse",
392
+ "SampleAttributeSummary",
393
+ "SampleAttributeValueSummary",
394
+ "SampleAttributeValuesResponse",
395
+ "SampleExploreResponse",
396
+ "SampleHistoryResponse",
397
+ "SampleIntroductionProvenance",
398
+ "SampleKeyExploreResponse",
399
+ "SampleKeyRevisionListResponse",
400
+ "SampleKeySummary",
401
+ "SampleResponse",
402
+ "SampleResolveRevisionsRequest",
403
+ "SampleResolvedRevisionResponse",
404
+ "SampleRevisionExplore",
405
+ "SampleRevisionPreviewResponse",
406
+ "SampleRevisionProvenance",
407
+ "SampleRevisionSummary",
408
+ "SampleStoreCatalogVisibility",
409
+ "SampleStoreMovementResponse",
410
+ "SampleStoreCreateRequest",
411
+ "SampleStoreDeleteCounts",
412
+ "SampleStoreDeleteResponse",
413
+ "SampleStoreDetailResponse",
414
+ "SampleStoreKeySummary",
415
+ "SampleStoreListResponse",
416
+ "SampleStoreStatsResponse",
417
+ "SampleStoreSummary",
418
+ "SampleStoreTransferCounts",
419
+ "SampleStoreTransferRequest",
420
+ "SampleStoreTransferResponse",
421
+ "SearchHistogramBin",
422
+ "SourceViewPreviewRequest",
423
+ "SourceViewPreviewResponse",
424
+ "SourceViewPreviewStats",
425
+ "SortKey",
426
+ "SearchScalarStat",
427
+ "SearchTopValue",
428
+ "RepresentationClause",
429
+ "RepresentationRule",
430
+ "RepresentationRuleResult",
431
+ "RepresentationUnsatisfiedValue",
432
+ "PreviewRow",
433
+ "SourceImportCommitRequest",
434
+ "SourceImportPartCompleteRequest",
435
+ "SourceImportCreateRequest",
436
+ "SourceImportDeleteCounts",
437
+ "SourceImportDeleteResponse",
438
+ "SourceImportPartResponse",
439
+ "SourceImportResponse",
440
+ "SourceImportSampleMapping",
441
+ "SourceImportSampleMappingListResponse",
442
+ "SourceImportTransferRequest",
443
+ "SourceImportTransferResponse",
444
+ "SplitAttributeSelector",
445
+ "SplitAttributePredicate",
446
+ "SplitNumericRangePredicate",
447
+ "SplitOutputSpec",
448
+ "SplitRatioSelector",
449
+ "SplitRepresentationPlan",
450
+ "SplitRuleSpec",
451
+ "SplitSelector",
452
+ "SplitSetDeleteCounts",
453
+ "SplitSetDeleteResponse",
454
+ "SplitTextValuesPredicate",
455
+ "StratificationRule",
456
+ "StratificationRuleResult",
457
+ "StatsRebuildRequest",
458
+ "StatsRebuildResponse",
459
+ "StatsFieldSpec",
460
+ "StatsMetricRequest",
461
+ "StatsMetricResult",
462
+ "StatsQueryRequest",
463
+ "StatsQueryResponse",
464
+ "StatsScope",
465
+ "DatasetStatsResponse",
466
+ "ResolvedShardStackLayer",
467
+ "ResolvedShardStackManifest",
468
+ "S3ShardCacheTier",
469
+ "GcsShardCacheTier",
470
+ "Not",
471
+ "NotAttachedBy",
472
+ "RowFilter",
473
+ "RowPredicate",
474
+ "SampleFilter",
475
+ "SampleFilterDefinition",
476
+ "SampleKeySelector",
477
+ "SampleSelection",
478
+ "ShardCacheHierarchy",
479
+ "ShardCacheTier",
480
+ "ShardMalformedError",
481
+ "ShardMetadata",
482
+ "ShardSearchEntry",
483
+ "ShardPlan",
484
+ "ShardStack",
485
+ "TarWriter",
486
+ "WorksetCreateRequest",
487
+ "WorksetOpenRequest",
488
+ "WorksetOpenResponse",
489
+ "WorksetIssueStreamTicketsRequest",
490
+ "WorksetIssueStreamTicketsResponse",
491
+ "WorksetResolveShardsRequest",
492
+ "WorksetResolveShardsResponse",
493
+ "WorksetShardRef",
494
+ "WorksetShardSelector",
495
+ "WorksetScope",
496
+ "WorksetStreamTicket",
497
+ "WorksetResponse",
498
+ "DEFAULT_CACHE_ROOT",
499
+ "DEFAULT_CACHE_ROOT_ENV",
500
+ "DEFAULT_CONFIG_PATHS",
501
+ "DEFAULT_MAX_BYTES",
502
+ "default_config_dir",
503
+ "default_msal_cache_path",
504
+ "default_plan_cache_dir",
505
+ "default_server_config_path",
506
+ "discover_entra_config",
507
+ "fetch_server_config",
508
+ "get_server_config",
509
+ "login_entra",
510
+ "datavo_instance_namespace",
511
+ "get_default_shard_cache",
512
+ "load_server_cache",
513
+ "load_shard_cache_config",
514
+ "save_server_cache",
515
+ ]
516
+
517
+
518
+ # --- Deprecated spellings (canonicalize-sdk-vocabulary) -----------------------
519
+ #
520
+ # Served through PEP 562 rather than bound at module level so the deprecation
521
+ # fires when the old name is *used* — `from datavo_sdk import DatavoDataset`
522
+ # falls back to this hook — while the object returned is the canonical class
523
+ # itself, leaving behaviour, identity, and isinstance checks untouched.
524
+ _DEPRECATED_NAMES: dict[str, tuple[str, str]] = {
525
+ "DatasetSourceDraftSpec": (
526
+ "SourceSpec",
527
+ "DatasetSourceDraftSpec is deprecated; use SourceSpec. It is neither dataset-only "
528
+ "(a workset carries the same composition) nor a draft (it is the persisted spec) — "
529
+ "the two names are the same class, so isinstance checks are unaffected.",
530
+ ),
531
+ "DatavoDataset": (
532
+ "SampleStream",
533
+ "DatavoDataset is deprecated; use SampleStream. The handle reads datasets, "
534
+ "worksets, and local shards, so its name no longer says 'dataset' — the two "
535
+ "names are the same class, so isinstance checks and subclasses are unaffected.",
536
+ ),
537
+ # --- rename-produce-to-attach ---
538
+ "NotProducedBy": (
539
+ "NotAttachedBy",
540
+ "NotProducedBy is deprecated; use NotAttachedBy. The predicate names the act it "
541
+ "negates (attaching keys), not a second word for it — the two names are the same "
542
+ "class, so isinstance checks are unaffected.",
543
+ ),
544
+ }
545
+
546
+
547
+ def __getattr__(name: str):
548
+ entry = _DEPRECATED_NAMES.get(name)
549
+ if entry is None:
550
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
551
+ import warnings
552
+
553
+ canonical, message = entry
554
+ warnings.warn(message, DeprecationWarning, stacklevel=2)
555
+ return globals()[canonical]
556
+
557
+
558
+ def __dir__() -> list[str]:
559
+ return sorted([*globals(), *_DEPRECATED_NAMES])