supertable 2.2.3__tar.gz → 2.2.4__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.
- {supertable-2.2.3/supertable.egg-info → supertable-2.2.4}/PKG-INFO +1 -1
- {supertable-2.2.3 → supertable-2.2.4}/pyproject.toml +1 -1
- {supertable-2.2.3 → supertable-2.2.4}/setup.py +1 -1
- {supertable-2.2.3 → supertable-2.2.4}/supertable/__init__.py +1 -1
- {supertable-2.2.3 → supertable-2.2.4}/supertable/data_writer.py +6 -1
- {supertable-2.2.3 → supertable-2.2.4}/supertable/simple_table.py +50 -0
- {supertable-2.2.3 → supertable-2.2.4/supertable.egg-info}/PKG-INFO +1 -1
- {supertable-2.2.3 → supertable-2.2.4}/LICENSE +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/README.md +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/requirements.txt +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/setup.cfg +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/audit/__init__.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/audit/admin.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/audit/chain.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/audit/consumers.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/audit/crypto.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/audit/events.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/audit/export.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/audit/logger.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/audit/middleware.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/audit/reader.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/audit/retention.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/audit/tests/__init__.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/audit/tests/test_chain.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/audit/tests/test_crypto.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/audit/tests/test_emit.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/audit/tests/test_events.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/audit/tests/test_retention.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/audit/writer_parquet.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/audit/writer_redis.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/config/__init__.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/config/defaults.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/config/homedir.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/config/settings.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/config/tests/__init__.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/config/tests/test_defaults.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/config/tests/test_homedir.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/config/tests/test_settings.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/data_classes.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/data_reader.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/__init__.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/__init__.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/__main__.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/check_filter_builder.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/controller.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/data_writer_helpers.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/defaults.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/dummy_data.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/read_parquet_header.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s01_01_01_create_super_table.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s01_01_02_enable_mirroring_formats.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s01_02_create_roles.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s01_03_create_users.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s02_01_write_dummy_data.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s02_02_write_single_data.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s02_03_01_write_staging.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s02_03_02_create_pipe.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s02_04_01_write_monitoring_simple.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s02_04_02_write_monitoring_parallel.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s02_05_write_tombstone.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s03_01_read_data_error.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s03_02_01_read_super_data_ok.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s03_02_02_read_table_data_ok.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s03_03_read_meta.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s03_04_read_staging.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s03_06_01_read_roles.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s03_06_02_read_user.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s03_07_01_estimate_read.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s03_07_02_estimate_files.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s03_08_read_snapshot_history.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s04_01_03_delete_pipe.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s05_01_delete_table.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s05_02_delete_super_table.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/webshop/__init__.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/webshop/core.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/webshop/defaults.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/webshop/generate.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/webshop/load.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/demo/webshop/topup.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/engine/__init__.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/engine/data_estimator.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/engine/duckdb_lite.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/engine/duckdb_pro.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/engine/engine_common.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/engine/engine_enum.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/engine/executor.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/engine/plan_stats.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/engine/spark_thrift.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/engine/tests/__init__.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/engine/tests/conftest.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/engine/tests/test_dedup_read.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/engine/tests/test_engine.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/errors.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/locking/__init__.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/locking/benchmarks/__init__.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/locking/benchmarks/benchmark_locking.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/locking/benchmarks/measure_lock_speed.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/locking/benchmarks/measure_lock_time.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/locking/file_lock.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/locking/redis_lock.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/locking/tests/__init__.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/locking/tests/test_file_lock.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/locking/tests/test_redis_lock.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/logging.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/meta_reader.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/mirroring/__init__.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/mirroring/mirror_delta.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/mirroring/mirror_formats.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/mirroring/mirror_iceberg.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/mirroring/mirror_parquet.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/monitoring/__init__.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/monitoring/partitions.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/monitoring_writer.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/plan_extender.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/processing.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/query_plan_manager.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/rbac/__init__.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/rbac/access_control.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/rbac/filter_builder.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/rbac/permissions.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/rbac/role_manager.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/rbac/row_column_security.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/rbac/tests/test_filter_builder.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/rbac/tests/test_rbac.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/rbac/tests/test_rbac_per_table.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/rbac/user_manager.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/redis_catalog.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/redis_connector.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/redis_infra.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/redis_keys.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/staging_area.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/storage/__init__.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/storage/azure_storage.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/storage/gcp_storage.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/storage/local_storage.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/storage/minio_storage.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/storage/s3_storage.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/storage/storage_factory.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/storage/storage_interface.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/storage/tests/test_storage.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/super_pipe.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/super_table.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/__init__.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_align_to_schema_fix.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_create_if_missing.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_data_reader.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_data_reader_preflight.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_data_writer.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_data_writer_compact.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_data_writer_comprehensive.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_data_writer_tombstones.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_dedup_on_read_write.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_errors.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_meta_reader.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_monitoring_partitions.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_monitoring_sink_guard.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_newer_than.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_process_delete_only.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_processing.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_processing_compact_resources.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_query_sql.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_redis_key_prefix.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_simple_table.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_small_file_compaction.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_super_table.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/tests/test_supertable_all.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/utils/__init__.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/utils/helper.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/utils/profiler.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/utils/sql_parser.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/utils/tests/test_sql_parser_columns.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable/utils/timer.py +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable.egg-info/SOURCES.txt +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable.egg-info/dependency_links.txt +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable.egg-info/entry_points.txt +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable.egg-info/requires.txt +0 -0
- {supertable-2.2.3 → supertable-2.2.4}/supertable.egg-info/top_level.txt +0 -0
|
@@ -19,7 +19,7 @@ long_description = readme.read_text(encoding="utf-8") if readme.exists() else ""
|
|
|
19
19
|
|
|
20
20
|
setup(
|
|
21
21
|
name="supertable",
|
|
22
|
-
version="2.2.
|
|
22
|
+
version="2.2.4",
|
|
23
23
|
description="SuperTable — versioned data lake library for SQL analytics on Parquet + Redis.",
|
|
24
24
|
long_description=long_description,
|
|
25
25
|
long_description_content_type="text/markdown",
|
|
@@ -25,7 +25,7 @@ See the ``supertable.demo`` package for runnable end-to-end demos and the
|
|
|
25
25
|
project documentation for the full API surface.
|
|
26
26
|
"""
|
|
27
27
|
|
|
28
|
-
__version__ = "2.2.
|
|
28
|
+
__version__ = "2.2.4"
|
|
29
29
|
|
|
30
30
|
# Re-export the core public surface so users can do ``from supertable import …``
|
|
31
31
|
# instead of remembering submodule paths.
|
|
@@ -754,9 +754,14 @@ class DataWriter:
|
|
|
754
754
|
qualify — large files are left untouched. ``small_only=False``
|
|
755
755
|
rewrites every resource regardless of size.
|
|
756
756
|
5. Commit the new snapshot via ``simple_table.update``,
|
|
757
|
-
leaf-CAS, ``bump_root``, and the same
|
|
757
|
+
leaf-CAS, ``bump_root``, optional mirroring, and the same
|
|
758
758
|
monitoring + audit pipeline as ``write``.
|
|
759
759
|
|
|
760
|
+
Compaction does **not** garbage-collect: the small files it
|
|
761
|
+
merges away are left in storage (still referenced by older
|
|
762
|
+
snapshot versions for time-travel) for an external GC to
|
|
763
|
+
reclaim later.
|
|
764
|
+
|
|
760
765
|
Concurrency: compaction is serialised against writes through
|
|
761
766
|
the same per-simple lock. A concurrent ``write()`` either
|
|
762
767
|
runs first (compaction sees the updated snapshot) or waits.
|
|
@@ -260,6 +260,56 @@ class SimpleTable:
|
|
|
260
260
|
data = self.storage.read_json(path)
|
|
261
261
|
return data, path
|
|
262
262
|
|
|
263
|
+
def export_to(self, target_dir: str, compression_level: int = 3, small_only: bool = False):
|
|
264
|
+
"""Write a standalone copy of the current data into ``target_dir``.
|
|
265
|
+
|
|
266
|
+
Reads the current snapshot's parquet resources and re-writes them
|
|
267
|
+
as memory-bounded parquet chunks (each ~``max_memory_chunk_size``,
|
|
268
|
+
from the per-table config or the global default) under
|
|
269
|
+
``target_dir``. This is a pure copy: it does NOT create a new
|
|
270
|
+
snapshot, advance the Redis leaf, or touch ``data/``/``snapshots/``.
|
|
271
|
+
|
|
272
|
+
Args:
|
|
273
|
+
target_dir: destination directory for the exported parquet
|
|
274
|
+
files (created if missing). Typically an
|
|
275
|
+
``export/<timestamp>/`` folder next to ``data/``.
|
|
276
|
+
compression_level: zstd level for the exported parquet.
|
|
277
|
+
small_only: when False (default) every resource is read and
|
|
278
|
+
re-chunked; when True only files smaller than
|
|
279
|
+
``max_memory_chunk_size`` are included.
|
|
280
|
+
|
|
281
|
+
Returns:
|
|
282
|
+
``dict`` with ``files`` (list of written paths),
|
|
283
|
+
``files_written``, ``total_rows`` and ``total_bytes``.
|
|
284
|
+
"""
|
|
285
|
+
from supertable.processing import compact_resources
|
|
286
|
+
|
|
287
|
+
snapshot, _path = self.get_simple_table_snapshot()
|
|
288
|
+
table_config = self.catalog.get_table_config(
|
|
289
|
+
self.super_table.organization,
|
|
290
|
+
self.super_table.super_name,
|
|
291
|
+
self.simple_name,
|
|
292
|
+
) or {}
|
|
293
|
+
|
|
294
|
+
_considered, total_rows, new_resources, _sunset = compact_resources(
|
|
295
|
+
snapshot=snapshot,
|
|
296
|
+
data_dir=target_dir,
|
|
297
|
+
compression_level=compression_level,
|
|
298
|
+
table_config=table_config,
|
|
299
|
+
small_only=small_only,
|
|
300
|
+
)
|
|
301
|
+
|
|
302
|
+
files = [r.get("file") for r in new_resources if isinstance(r, dict) and r.get("file")]
|
|
303
|
+
total_bytes = sum(
|
|
304
|
+
int(r.get("file_size") or 0) for r in new_resources if isinstance(r, dict)
|
|
305
|
+
)
|
|
306
|
+
return {
|
|
307
|
+
"files": files,
|
|
308
|
+
"files_written": len(files),
|
|
309
|
+
"total_rows": int(total_rows),
|
|
310
|
+
"total_bytes": int(total_bytes),
|
|
311
|
+
}
|
|
312
|
+
|
|
263
313
|
def update(self, new_resources, sunset_files, model_df, last_snapshot=None, last_snapshot_path=None, lineage=None, profiler: Optional[Profiler] = None):
|
|
264
314
|
"""
|
|
265
315
|
Build and write a new heavy snapshot on storage.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s01_01_01_create_super_table.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s02_02_write_single_data.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s03_02_01_read_super_data_ok.py
RENAMED
|
File without changes
|
{supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s03_02_02_read_table_data_ok.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s03_07_02_estimate_files.py
RENAMED
|
File without changes
|
{supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s03_08_read_snapshot_history.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supertable-2.2.3 → supertable-2.2.4}/supertable/demo/quickstart/s05_02_delete_super_table.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|