vastdb 0.1.4__py3-none-any.whl → 0.1.6__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.
vastdb/transaction.py CHANGED
@@ -8,21 +8,26 @@ A transcation is used as a context manager, since every Database-related operati
8
8
 
9
9
  import logging
10
10
  from dataclasses import dataclass
11
- from typing import Optional
11
+ from typing import TYPE_CHECKING, List, Optional
12
12
 
13
13
  import botocore
14
14
 
15
- from . import bucket, errors, schema, session, table
15
+ from . import bucket, errors, schema, session
16
+
17
+ if TYPE_CHECKING:
18
+ from bucket import Bucket
19
+ from table import Table
20
+
16
21
 
17
22
  log = logging.getLogger(__name__)
18
23
 
19
- TABULAR_BC_BUCKET = "vast-big-catalog-bucket"
24
+ VAST_CATALOG_BUCKET_NAME = "vast-big-catalog-bucket"
20
25
  VAST_CATALOG_SCHEMA_NAME = 'vast_big_catalog_schema'
21
26
  VAST_CATALOG_TABLE_NAME = 'vast_big_catalog_table'
22
27
 
23
- TABULAR_AUDERY_BUCKET = "vast-audit-log-bucket"
24
- AUDERY_SCHEMA_NAME = 'vast_audit_log_schema'
25
- AUDERY_TABLE_NAME = 'vast_audit_log_table'
28
+ AUDIT_LOG_BUCKET_NAME = "vast-audit-log-bucket"
29
+ AUDIT_LOG_SCHEMA_NAME = 'vast_audit_log_schema'
30
+ AUDIT_LOG_TABLE_NAME = 'vast_audit_log_table'
26
31
 
27
32
 
28
33
  @dataclass
@@ -56,25 +61,29 @@ class Transaction:
56
61
  return 'InvalidTransaction'
57
62
  return f'Transaction(id=0x{self.txid:016x})'
58
63
 
59
- def bucket(self, name: str) -> "bucket.Bucket":
64
+ def bucket(self, name: str) -> "Bucket":
60
65
  """Return a VAST Bucket, if exists."""
61
66
  try:
62
67
  self._rpc.s3.head_bucket(Bucket=name)
63
68
  except botocore.exceptions.ClientError as e:
64
69
  log.warning("res: %s", e.response)
65
70
  if e.response['Error']['Code'] == '404':
66
- raise errors.MissingBucket(name)
71
+ raise errors.MissingBucket(name) from e
67
72
  raise
68
73
  return bucket.Bucket(name, self)
69
74
 
70
- def catalog(self, fail_if_missing=True) -> Optional["table.Table"]:
75
+ def catalog_snapshots(self) -> List["Bucket"]:
76
+ """Return VAST Catalog bucket snapshots."""
77
+ return bucket.Bucket(VAST_CATALOG_BUCKET_NAME, self).snapshots()
78
+
79
+ def catalog(self, snapshot: Optional["Bucket"] = None, fail_if_missing=True) -> Optional["Table"]:
71
80
  """Return VAST Catalog table."""
72
- b = bucket.Bucket(TABULAR_BC_BUCKET, self)
81
+ b = snapshot or bucket.Bucket(VAST_CATALOG_BUCKET_NAME, self)
73
82
  s = schema.Schema(VAST_CATALOG_SCHEMA_NAME, b)
74
83
  return s.table(name=VAST_CATALOG_TABLE_NAME, fail_if_missing=fail_if_missing)
75
84
 
76
- def audit_log(self, fail_if_missing=True) -> Optional["table.Table"]:
77
- """Return VAST AuditLog table."""
78
- b = bucket.Bucket(TABULAR_AUDERY_BUCKET, self)
79
- s = schema.Schema(AUDERY_SCHEMA_NAME, b)
80
- return s.table(name=AUDERY_TABLE_NAME, fail_if_missing=fail_if_missing)
85
+ def audit_log(self, fail_if_missing=True) -> Optional["Table"]:
86
+ """Return VAST Audit Log table."""
87
+ b = bucket.Bucket(AUDIT_LOG_BUCKET_NAME, self)
88
+ s = schema.Schema(AUDIT_LOG_SCHEMA_NAME, b)
89
+ return s.table(name=AUDIT_LOG_TABLE_NAME, fail_if_missing=fail_if_missing)
vastdb/util.py CHANGED
@@ -83,6 +83,7 @@ def union_schema_merge(current_schema: pa.Schema, new_schema: pa.Schema) -> pa.S
83
83
 
84
84
  MAX_TABULAR_REQUEST_SIZE = 5 << 20 # in bytes
85
85
  MAX_RECORD_BATCH_SLICE_SIZE = int(0.9 * MAX_TABULAR_REQUEST_SIZE)
86
+ MAX_QUERY_DATA_REQUEST_SIZE = int(0.9 * MAX_TABULAR_REQUEST_SIZE)
86
87
 
87
88
 
88
89
  def iter_serialized_slices(batch: Union[pa.RecordBatch, pa.Table], max_rows_per_slice=None):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vastdb
3
- Version: 0.1.4
3
+ Version: 0.1.6
4
4
  Summary: VAST Data SDK
5
5
  Home-page: https://github.com/vast-data/vastdb_sdk
6
6
  Author: VAST DATA
@@ -149,29 +149,29 @@ vast_flatbuf/tabular/S3File.py,sha256=KC9c2oS5-JXwTTriUVFdjOvRG0B54Cq9kviSDZY3NI
149
149
  vast_flatbuf/tabular/VipRange.py,sha256=_BJd1RRZAcK76T9vlsHzXKYVsPVaz6WTEAqStMQCAUQ,2069
150
150
  vast_flatbuf/tabular/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
151
151
  vastdb/__init__.py,sha256=cMJtZuJ0IL9aKyM3DUWqTCzuP1H1MXXVivKKE1-q0DY,292
152
- vastdb/bucket.py,sha256=4rPEm9qlPTg7ccWO6VGmd4LKb8w-BDhJYwzXGjn03sc,3566
153
- vastdb/conftest.py,sha256=pKpo_46Vq4QHzTDQAFxasrVhnZ2V2L-y6IMLxojxaFM,2132
154
- vastdb/errors.py,sha256=fj8IlPnGi1lbJWIl1-8MSjLavL9bYQ-YUoboWbXCo54,4047
155
- vastdb/internal_commands.py,sha256=yS6ylyuJjaAwAm4OqVGX4tq-Un5cvM-LXp7F4eYOUDw,100414
156
- vastdb/schema.py,sha256=ql4TPB1W_FQ_BHov3CKHI8JX3krXMlcKWz7dTrjpQ1w,3346
157
- vastdb/session.py,sha256=2tu5cp7xG28ynyQfEl9_HM2dtNcLM2AoJmm3bfNLC0o,2563
158
- vastdb/table.py,sha256=apRXCrglg6_glozJXu8D7q6du5seP7NMi42PNjyGcTM,28891
159
- vastdb/transaction.py,sha256=g8YTcYnsNPIhB2udbHyT5RIFB5kHnBLJcvV2CWRICwI,2845
160
- vastdb/util.py,sha256=rs7nLL2Qz-OVEZDSVIqAvS-uETMq-zxQs5jBksB5-JA,4276
152
+ vastdb/bucket.py,sha256=T0qX8efIJsQvK8Zn1_B-Np6BZqu_i9IuU3aN3JE7kyQ,2536
153
+ vastdb/conftest.py,sha256=D4RvOhGvMQy-JliKY-uyzcB-_mFBwI6aMF__xwHiwOM,2359
154
+ vastdb/errors.py,sha256=nC7d05xwe0WxMFyM3cEEqIvA09OXNqcxiUGsKov822I,4098
155
+ vastdb/internal_commands.py,sha256=r8EjueIaqSkdiqV6Cv7YsCiuuTO7rMCshyGExeBnXVw,97586
156
+ vastdb/schema.py,sha256=ro4GrVlhJEN4HT8qLdyPtiufVZrNBPGtej-z6Y-v2jg,5642
157
+ vastdb/session.py,sha256=zuy0wjKKB8d388KgRA77vQwxoraU0tWZacqVVMrU5dU,2984
158
+ vastdb/table.py,sha256=JZeAqww6dBlhXWW7J-LqC54a5IH2Dl8GTne3hU3wL2I,30646
159
+ vastdb/transaction.py,sha256=6mCnd43uF9AJyhhUZViD799Mde6AczBi5Cp7LGGDuoM,3178
160
+ vastdb/util.py,sha256=vt4LWROOFdZieJXLpQMlcnF7YWQFpPqQTVaRbmQ241o,4342
161
161
  vastdb/bench/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
162
- vastdb/bench/test_perf.py,sha256=iHE3E60fvyU5SBDHPi4h03Dj6QcY6VI9l9mMhgNMtPc,1117
162
+ vastdb/bench/test_perf.py,sha256=yn5gE7t_nzmJHBl9bCs1hxQOgzhvFphuYElsWGko8ts,1084
163
163
  vastdb/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
164
164
  vastdb/tests/test_duckdb.py,sha256=KDuv4PrjGEwChCGHG36xNT2JiFlBOt6K3DQ3L06Kq-A,1913
165
- vastdb/tests/test_imports.py,sha256=48kbJKsa_MrEXcBYQUbUDr1e9wzjG4FHQ7C3wUEQfXA,5705
166
- vastdb/tests/test_nested.py,sha256=3kejEvtSqV0LrUgb1QglRjrlxnKI4_AXTFw2nE7Q520,951
167
- vastdb/tests/test_projections.py,sha256=_cDNfD5zTwbCXLk6uGpPUWGN0P-4HElu5OjubWu-Jg0,1255
165
+ vastdb/tests/test_imports.py,sha256=xKub3-bisFjH0BsZM8COfiUWuMrtoOoQKprF6VQT9RI,5669
166
+ vastdb/tests/test_nested.py,sha256=22NAxBTm7Aq-Vn6AIYbi5Cb1ET8W0XeLK3pp4D8BYWI,3448
167
+ vastdb/tests/test_projections.py,sha256=11a-55VbJcqaFPkOKaKDEdM5nkeI0xtUhh6cQc1upSA,4223
168
168
  vastdb/tests/test_sanity.py,sha256=ixx0QPo73hLHjAa7bByFXjS1XST0WvmSwLEpgnHh_JY,2960
169
- vastdb/tests/test_schemas.py,sha256=qoHTLX51D-0S4bMxdCpRh9gaYQd-BkZdT_agGOwFwTM,1739
170
- vastdb/tests/test_tables.py,sha256=pfQx0OZm6oVJj1-CziPWUoEn3l2-OET4Bpl8M9Z4mws,27499
169
+ vastdb/tests/test_schemas.py,sha256=l70YQMlx2UL1KRQhApriiG2ZM7GJF-IzWU31H3Yqn1U,3312
170
+ vastdb/tests/test_tables.py,sha256=V1-WOxCOD8ELJF6Ebj57Jwtum7Z6iYG9JKo89HxC7rM,28342
171
171
  vastdb/tests/test_util.py,sha256=owRAU3TCKMq-kz54NRdA5wX2O_bZIHqG5ucUR77jm5k,1046
172
172
  vastdb/tests/util.py,sha256=dpRJYbboDnlqL4qIdvScpp8--5fxRUBIcIYitrfcj9o,555
173
- vastdb-0.1.4.dist-info/LICENSE,sha256=obffan7LYrq7hLHNrY7vHcn2pKUTBUYXMKu-VOAvDxU,11333
174
- vastdb-0.1.4.dist-info/METADATA,sha256=SyZkyjQSwklzsq3oub8m8w9lY-HuI4XOG72y8trKvf4,1350
175
- vastdb-0.1.4.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
176
- vastdb-0.1.4.dist-info/top_level.txt,sha256=Vsj2MKtlhPg0J4so64slQtnwjhgoPmJgcG-6YcVAwVc,20
177
- vastdb-0.1.4.dist-info/RECORD,,
173
+ vastdb-0.1.6.dist-info/LICENSE,sha256=obffan7LYrq7hLHNrY7vHcn2pKUTBUYXMKu-VOAvDxU,11333
174
+ vastdb-0.1.6.dist-info/METADATA,sha256=ibcsckhsDh4iGEN0xjK1_-FUrB24hNbwz9eAouRE6kY,1350
175
+ vastdb-0.1.6.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
176
+ vastdb-0.1.6.dist-info/top_level.txt,sha256=Vsj2MKtlhPg0J4so64slQtnwjhgoPmJgcG-6YcVAwVc,20
177
+ vastdb-0.1.6.dist-info/RECORD,,
File without changes