vastdb 0.1.1__tar.gz → 0.1.2__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.
- {vastdb-0.1.1 → vastdb-0.1.2}/CHANGELOG.md +18 -0
- {vastdb-0.1.1/vastdb.egg-info → vastdb-0.1.2}/PKG-INFO +8 -4
- {vastdb-0.1.1 → vastdb-0.1.2}/setup.py +3 -1
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb/__init__.py +6 -2
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb/bench/test_perf.py +3 -3
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb/bucket.py +10 -6
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb/errors.py +12 -6
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb/internal_commands.py +146 -152
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb/schema.py +10 -5
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb/table.py +49 -52
- vastdb-0.1.2/vastdb/tests/test_duckdb.py +61 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb/tests/test_projections.py +1 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb/tests/test_sanity.py +2 -2
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb/tests/test_schemas.py +2 -1
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb/tests/test_tables.py +36 -51
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb/tests/util.py +1 -4
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb/transaction.py +16 -6
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb/util.py +4 -3
- {vastdb-0.1.1 → vastdb-0.1.2/vastdb.egg-info}/PKG-INFO +8 -4
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb.egg-info/SOURCES.txt +1 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/LICENSE +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/MANIFEST.in +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/README.md +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/requirements.txt +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/setup.cfg +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/__init__.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/__init__.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/__init__.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/__init__.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/__init__.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Aggregate.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/ArraySlice.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/ArraySubscript.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/BinaryLiteral.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/BooleanLiteral.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Bound.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Call.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/CaseFragment.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Cast.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/ConcreteBoundImpl.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/ConditionalCase.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/CurrentRow.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/DateLiteral.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/DecimalLiteral.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Deref.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/DurationLiteral.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Expression.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/ExpressionImpl.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/FieldIndex.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/FieldRef.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Filter.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/FixedSizeBinaryLiteral.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Float16Literal.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Float32Literal.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Float64Literal.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Following.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Frame.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Grouping.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Int16Literal.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Int32Literal.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Int64Literal.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Int8Literal.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/IntervalLiteral.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/IntervalLiteralDaysMilliseconds.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/IntervalLiteralImpl.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/IntervalLiteralMonths.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Join.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/JoinKind.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/KeyValue.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Limit.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/ListLiteral.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Literal.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/LiteralColumn.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/LiteralImpl.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/LiteralRelation.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/MapKey.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/MapLiteral.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/OrderBy.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Ordering.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Plan.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Preceding.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Project.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/RelId.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Relation.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/RelationImpl.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/SetOpKind.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/SetOperation.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/SimpleCase.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/SortKey.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Source.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/StringLiteral.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/StructField.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/StructLiteral.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/TimeLiteral.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/TimestampLiteral.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/UInt16Literal.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/UInt32Literal.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/UInt64Literal.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/UInt8Literal.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/Unbounded.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/WindowCall.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/computeir/flatbuf/__init__.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Binary.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Block.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/BodyCompression.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/BodyCompressionMethod.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Bool.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Buffer.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/CompressionType.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Date.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/DateUnit.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Decimal.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/DictionaryBatch.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/DictionaryEncoding.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/DictionaryKind.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Duration.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Endianness.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Feature.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Field.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/FieldNode.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/FixedSizeBinary.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/FixedSizeList.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/FloatingPoint.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Footer.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Int.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Interval.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/IntervalUnit.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/KeyValue.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/LargeBinary.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/LargeList.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/LargeUtf8.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/List.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Map.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Message.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/MessageHeader.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/MetadataVersion.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Null.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Precision.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/RecordBatch.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Schema.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/SparseMatrixCompressedAxis.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/SparseMatrixIndexCSX.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/SparseTensor.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/SparseTensorIndex.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/SparseTensorIndexCOO.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/SparseTensorIndexCSF.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Struct_.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Tensor.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/TensorDim.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Time.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/TimeUnit.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Timestamp.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Type.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Union.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/UnionMode.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/Utf8.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/org/apache/arrow/flatbuf/__init__.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/tabular/AlterColumnRequest.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/tabular/AlterProjectionTableRequest.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/tabular/AlterSchemaRequest.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/tabular/AlterTableRequest.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/tabular/Column.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/tabular/ColumnType.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/tabular/CreateProjectionRequest.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/tabular/CreateSchemaRequest.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/tabular/GetProjectionTableStatsResponse.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/tabular/GetTableStatsResponse.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/tabular/ImportDataRequest.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/tabular/ListProjectionsResponse.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/tabular/ListSchemasResponse.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/tabular/ListTablesResponse.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/tabular/ObjectDetails.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/tabular/S3File.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/tabular/VipRange.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vast_flatbuf/tabular/__init__.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb/bench/__init__.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb/conftest.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb/session.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb/tests/__init__.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb/tests/test_imports.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb/tests/test_nested.py +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb.egg-info/dependency_links.txt +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb.egg-info/requires.txt +0 -0
- {vastdb-0.1.1 → vastdb-0.1.2}/vastdb.egg-info/top_level.txt +0 -0
|
@@ -4,6 +4,23 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
6
6
|
|
|
7
|
+
## [0.1.2] (2024-04-25)
|
|
8
|
+
[0.1.2]: https://github.com/vast-data/vastdb_sdk/compare/v0.1.1...v0.1.2
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- Allow querying [VAST Catalog](https://www.vastdata.com/blog/vast-catalog-treat-your-file-system-like-a-database)
|
|
12
|
+
- Use [mypy](https://mypy-lang.org/) for type annotation checking
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
- Fix handling HTTPS endpoints [#50]
|
|
16
|
+
- Optimize `Table.select()` performance
|
|
17
|
+
- Use `GET` request to retrieve cluster version
|
|
18
|
+
- Enable `ruff` preview mode
|
|
19
|
+
- Make sure DuckDB integration fails gracefully when transaction is closed prematurely
|
|
20
|
+
|
|
21
|
+
### Removed
|
|
22
|
+
- Don't return row IDs from `Table.insert()`
|
|
23
|
+
|
|
7
24
|
## [0.1.1] (2024-04-15)
|
|
8
25
|
[0.1.1]: https://github.com/vast-data/vastdb_sdk/compare/v0.1.0...v0.1.1
|
|
9
26
|
|
|
@@ -93,3 +110,4 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|
|
93
110
|
[#42]: https://github.com/vast-data/vastdb_sdk/pull/42
|
|
94
111
|
[#43]: https://github.com/vast-data/vastdb_sdk/pull/43
|
|
95
112
|
[#47]: https://github.com/vast-data/vastdb_sdk/pull/47
|
|
113
|
+
[#50]: https://github.com/vast-data/vastdb_sdk/pull/50
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: vastdb
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.2
|
|
4
4
|
Summary: VAST Data SDK
|
|
5
5
|
Home-page: https://github.com/vast-data/vastdb_sdk
|
|
6
6
|
Author: VAST DATA
|
|
7
7
|
Author-email: hello@vastdata.com
|
|
8
8
|
License: Copyright (C) VAST Data Ltd.
|
|
9
|
-
Platform: UNKNOWN
|
|
10
9
|
Classifier: Development Status :: 4 - Beta
|
|
11
10
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
12
11
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -19,6 +18,13 @@ Classifier: Topic :: Database :: Front-Ends
|
|
|
19
18
|
Requires-Python: >=3.9.0
|
|
20
19
|
Description-Content-Type: text/markdown
|
|
21
20
|
License-File: LICENSE
|
|
21
|
+
Requires-Dist: aws-requests-auth
|
|
22
|
+
Requires-Dist: boto3
|
|
23
|
+
Requires-Dist: flatbuffers
|
|
24
|
+
Requires-Dist: ibis-framework
|
|
25
|
+
Requires-Dist: pyarrow
|
|
26
|
+
Requires-Dist: requests
|
|
27
|
+
Requires-Dist: xmltodict
|
|
22
28
|
|
|
23
29
|
|
|
24
30
|
`vastdb` is a Python-based SDK designed for interacting
|
|
@@ -27,5 +33,3 @@ and [VAST Catalog](https://vastdata.com/blog/vast-catalog-treat-your-file-system
|
|
|
27
33
|
enabling schema and table management, efficient ingest, query and modification of columnar data.
|
|
28
34
|
|
|
29
35
|
For more details, see [our whitepaper](https://vastdata.com/whitepaper/#TheVASTDataBase).
|
|
30
|
-
|
|
31
|
-
|
|
@@ -11,6 +11,7 @@ enabling schema and table management, efficient ingest, query and modification o
|
|
|
11
11
|
For more details, see [our whitepaper](https://vastdata.com/whitepaper/#TheVASTDataBase).
|
|
12
12
|
"""
|
|
13
13
|
|
|
14
|
+
|
|
14
15
|
def _get_version_suffix():
|
|
15
16
|
import subprocess
|
|
16
17
|
|
|
@@ -18,6 +19,7 @@ def _get_version_suffix():
|
|
|
18
19
|
print(f"Git commit: {commit}")
|
|
19
20
|
return f".dev1+vast.{commit.decode()[:16]}"
|
|
20
21
|
|
|
22
|
+
|
|
21
23
|
suffix = ''
|
|
22
24
|
if os.environ.get('VASTDB_APPEND_VERSION_SUFFIX'):
|
|
23
25
|
suffix = _get_version_suffix()
|
|
@@ -26,7 +28,7 @@ setup(
|
|
|
26
28
|
name='vastdb',
|
|
27
29
|
python_requires='>=3.9.0',
|
|
28
30
|
description='VAST Data SDK',
|
|
29
|
-
version='0.1.
|
|
31
|
+
version='0.1.2' + suffix,
|
|
30
32
|
url='https://github.com/vast-data/vastdb_sdk',
|
|
31
33
|
author='VAST DATA',
|
|
32
34
|
author_email='hello@vastdata.com',
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"""VAST Database Python SDK."""
|
|
2
2
|
|
|
3
|
+
import functools
|
|
4
|
+
|
|
3
5
|
from . import session
|
|
4
6
|
|
|
7
|
+
|
|
5
8
|
# A helper function, useful as a short-hand for Session c-tor: `session = vastdb.connect(...)`
|
|
6
|
-
|
|
7
|
-
connect
|
|
9
|
+
@functools.wraps(session.Session)
|
|
10
|
+
def connect(*args, **kwargs): # noqa: D103
|
|
11
|
+
return session.Session(*args, **kwargs)
|
|
@@ -12,7 +12,7 @@ log = logging.getLogger(__name__)
|
|
|
12
12
|
|
|
13
13
|
@pytest.mark.benchmark
|
|
14
14
|
def test_bench(session, clean_bucket_name, parquets_path, crater_path):
|
|
15
|
-
files = [str(parquets_path/f) for f in (parquets_path.glob('**/*.pq'))]
|
|
15
|
+
files = [str(parquets_path / f) for f in (parquets_path.glob('**/*.pq'))]
|
|
16
16
|
|
|
17
17
|
with session.transaction() as tx:
|
|
18
18
|
b = tx.bucket(clean_bucket_name)
|
|
@@ -22,8 +22,8 @@ def test_bench(session, clean_bucket_name, parquets_path, crater_path):
|
|
|
22
22
|
s = time.time()
|
|
23
23
|
pa_table = pa.Table.from_batches(t.select(columns=['sid'], predicate=t['sid'] == 10033007, config=config))
|
|
24
24
|
e = time.time()
|
|
25
|
-
log.info("'SELECT sid from TABLE WHERE sid = 10033007' returned in %s seconds.", e-s)
|
|
25
|
+
log.info("'SELECT sid from TABLE WHERE sid = 10033007' returned in %s seconds.", e - s)
|
|
26
26
|
if crater_path:
|
|
27
27
|
with open(f'{crater_path}/bench_results', 'a') as f:
|
|
28
|
-
f.write(f"'SELECT sid FROM TABLE WHERE sid = 10033007' returned in {e-s} seconds")
|
|
28
|
+
f.write(f"'SELECT sid FROM TABLE WHERE sid = 10033007' returned in {e - s} seconds")
|
|
29
29
|
assert pa_table.num_rows == 255_075
|
|
@@ -6,9 +6,13 @@ It is possible to list and access VAST snapshots generated over a bucket.
|
|
|
6
6
|
|
|
7
7
|
import logging
|
|
8
8
|
from dataclasses import dataclass
|
|
9
|
+
from typing import TYPE_CHECKING, List, Optional
|
|
9
10
|
|
|
10
11
|
from . import errors, schema, transaction
|
|
11
12
|
|
|
13
|
+
if TYPE_CHECKING:
|
|
14
|
+
from .schema import Schema
|
|
15
|
+
|
|
12
16
|
log = logging.getLogger(__name__)
|
|
13
17
|
|
|
14
18
|
|
|
@@ -27,7 +31,7 @@ class Bucket:
|
|
|
27
31
|
name: str
|
|
28
32
|
tx: "transaction.Transaction"
|
|
29
33
|
|
|
30
|
-
def create_schema(self, path: str, fail_if_exists=True) -> "
|
|
34
|
+
def create_schema(self, path: str, fail_if_exists=True) -> "Schema":
|
|
31
35
|
"""Create a new schema (a container of tables) under this bucket."""
|
|
32
36
|
if current := self.schema(path, fail_if_missing=False):
|
|
33
37
|
if fail_if_exists:
|
|
@@ -36,9 +40,9 @@ class Bucket:
|
|
|
36
40
|
return current
|
|
37
41
|
self.tx._rpc.api.create_schema(self.name, path, txid=self.tx.txid)
|
|
38
42
|
log.info("Created schema: %s", path)
|
|
39
|
-
return self.schema(path)
|
|
43
|
+
return self.schema(path) # type: ignore[return-value]
|
|
40
44
|
|
|
41
|
-
def schema(self, path: str, fail_if_missing=True) -> "
|
|
45
|
+
def schema(self, path: str, fail_if_missing=True) -> Optional["Schema"]:
|
|
42
46
|
"""Get a specific schema (a container of tables) under this bucket."""
|
|
43
47
|
s = self.schemas(path)
|
|
44
48
|
log.debug("schema: %s", s)
|
|
@@ -51,14 +55,14 @@ class Bucket:
|
|
|
51
55
|
log.debug("Found schema: %s", s[0].name)
|
|
52
56
|
return s[0]
|
|
53
57
|
|
|
54
|
-
def schemas(self, name: str = None) -> ["
|
|
58
|
+
def schemas(self, name: Optional[str] = None) -> List["Schema"]:
|
|
55
59
|
"""List bucket's schemas."""
|
|
56
60
|
schemas = []
|
|
57
61
|
next_key = 0
|
|
58
62
|
exact_match = bool(name)
|
|
59
63
|
log.debug("list schemas param: schema=%s, exact_match=%s", name, exact_match)
|
|
60
64
|
while True:
|
|
61
|
-
|
|
65
|
+
_bucket_name, curr_schemas, next_key, is_truncated, _ = \
|
|
62
66
|
self.tx._rpc.api.list_schemas(bucket=self.name, next_key=next_key, txid=self.tx.txid,
|
|
63
67
|
name_prefix=name, exact_match=exact_match)
|
|
64
68
|
if not curr_schemas:
|
|
@@ -69,7 +73,7 @@ class Bucket:
|
|
|
69
73
|
|
|
70
74
|
return [schema.Schema(name=name, bucket=self) for name, *_ in schemas]
|
|
71
75
|
|
|
72
|
-
def snapshots(self) -> [Snapshot]:
|
|
76
|
+
def snapshots(self) -> List[Snapshot]:
|
|
73
77
|
"""List bucket's snapshots."""
|
|
74
78
|
snapshots = []
|
|
75
79
|
next_key = 0
|
|
@@ -26,6 +26,7 @@ log = logging.getLogger(__name__)
|
|
|
26
26
|
class HttpError(Exception):
|
|
27
27
|
code: str
|
|
28
28
|
message: str
|
|
29
|
+
method: str
|
|
29
30
|
url: str
|
|
30
31
|
status: int # HTTP status
|
|
31
32
|
headers: requests.structures.CaseInsensitiveDict # HTTP response headers
|
|
@@ -88,6 +89,10 @@ class Missing(Exception):
|
|
|
88
89
|
pass
|
|
89
90
|
|
|
90
91
|
|
|
92
|
+
class MissingTransaction(Missing):
|
|
93
|
+
pass
|
|
94
|
+
|
|
95
|
+
|
|
91
96
|
@dataclass
|
|
92
97
|
class MissingBucket(Missing):
|
|
93
98
|
bucket: str
|
|
@@ -150,21 +155,22 @@ def from_response(res: requests.Response):
|
|
|
150
155
|
|
|
151
156
|
log.debug("response: url='%s', code=%s, headers=%s, body='%s'", res.request.url, res.status_code, res.headers, res.text)
|
|
152
157
|
# try to parse S3 XML response for the error details:
|
|
153
|
-
|
|
154
|
-
|
|
158
|
+
code_str = None
|
|
159
|
+
message_str = None
|
|
155
160
|
if res.text:
|
|
156
161
|
try:
|
|
157
162
|
root = xml.etree.ElementTree.fromstring(res.text)
|
|
158
163
|
code = root.find('Code')
|
|
159
|
-
|
|
164
|
+
code_str = code.text if code is not None else None
|
|
160
165
|
message = root.find('Message')
|
|
161
|
-
|
|
166
|
+
message_str = message.text if message is not None else None
|
|
162
167
|
except xml.etree.ElementTree.ParseError:
|
|
163
168
|
log.debug("invalid XML: %r", res.text)
|
|
164
169
|
|
|
165
170
|
kwargs = dict(
|
|
166
|
-
code=
|
|
167
|
-
message=
|
|
171
|
+
code=code_str,
|
|
172
|
+
message=message_str,
|
|
173
|
+
method=res.request.method,
|
|
168
174
|
url=res.request.url,
|
|
169
175
|
status=res.status_code,
|
|
170
176
|
headers=res.headers,
|