supertable 2.0.9__tar.gz → 2.1.0__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.0.9/supertable.egg-info → supertable-2.1.0}/PKG-INFO +1 -1
- {supertable-2.0.9 → supertable-2.1.0}/pyproject.toml +1 -1
- {supertable-2.0.9 → supertable-2.1.0}/setup.py +1 -1
- {supertable-2.0.9 → supertable-2.1.0}/supertable/__init__.py +1 -1
- {supertable-2.0.9 → supertable-2.1.0}/supertable/redis_keys.py +27 -7
- {supertable-2.0.9 → supertable-2.1.0}/supertable/tests/test_redis_key_prefix.py +20 -3
- {supertable-2.0.9 → supertable-2.1.0/supertable.egg-info}/PKG-INFO +1 -1
- {supertable-2.0.9 → supertable-2.1.0}/LICENSE +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/README.md +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/requirements.txt +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/setup.cfg +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/audit/__init__.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/audit/admin.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/audit/chain.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/audit/consumers.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/audit/crypto.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/audit/events.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/audit/export.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/audit/logger.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/audit/middleware.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/audit/reader.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/audit/retention.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/audit/tests/__init__.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/audit/tests/test_chain.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/audit/tests/test_crypto.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/audit/tests/test_emit.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/audit/tests/test_events.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/audit/tests/test_retention.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/audit/writer_parquet.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/audit/writer_redis.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/config/__init__.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/config/defaults.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/config/homedir.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/config/settings.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/config/tests/__init__.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/config/tests/test_defaults.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/config/tests/test_homedir.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/config/tests/test_settings.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/data_classes.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/data_reader.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/data_writer.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/__init__.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/__init__.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/__main__.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/check_filter_builder.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/controller.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/data_writer_helpers.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/defaults.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/dummy_data.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/read_parquet_header.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s01_01_01_create_super_table.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s01_01_02_enable_mirroring_formats.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s01_02_create_roles.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s01_03_create_users.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s02_01_write_dummy_data.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s02_02_write_single_data.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s02_03_01_write_staging.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s02_03_02_create_pipe.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s02_04_01_write_monitoring_simple.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s02_04_02_write_monitoring_parallel.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s02_05_write_tombstone.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s03_01_read_data_error.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s03_02_01_read_super_data_ok.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s03_02_02_read_table_data_ok.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s03_03_read_meta.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s03_04_read_staging.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s03_06_01_read_roles.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s03_06_02_read_user.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s03_07_01_estimate_read.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s03_07_02_estimate_files.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s03_08_read_snapshot_history.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s04_01_03_delete_pipe.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s05_01_delete_table.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s05_02_delete_super_table.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/webshop/__init__.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/webshop/core.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/webshop/defaults.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/webshop/generate.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/webshop/load.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/demo/webshop/topup.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/engine/__init__.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/engine/data_estimator.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/engine/duckdb_lite.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/engine/duckdb_pro.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/engine/engine_common.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/engine/engine_enum.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/engine/executor.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/engine/plan_stats.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/engine/spark_thrift.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/engine/tests/__init__.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/engine/tests/conftest.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/engine/tests/test_dedup_read.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/engine/tests/test_engine.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/locking/__init__.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/locking/benchmarks/__init__.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/locking/benchmarks/benchmark_locking.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/locking/benchmarks/measure_lock_speed.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/locking/benchmarks/measure_lock_time.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/locking/file_lock.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/locking/redis_lock.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/locking/tests/__init__.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/locking/tests/test_file_lock.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/locking/tests/test_redis_lock.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/logging.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/meta_reader.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/mirroring/__init__.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/mirroring/mirror_delta.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/mirroring/mirror_formats.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/mirroring/mirror_iceberg.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/mirroring/mirror_parquet.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/monitoring_writer.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/plan_extender.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/processing.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/query_plan_manager.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/rbac/__init__.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/rbac/access_control.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/rbac/filter_builder.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/rbac/permissions.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/rbac/role_manager.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/rbac/row_column_security.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/rbac/tests/test_filter_builder.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/rbac/tests/test_rbac.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/rbac/tests/test_rbac_per_table.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/rbac/user_manager.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/redis_catalog.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/redis_connector.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/redis_infra.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/simple_table.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/staging_area.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/storage/__init__.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/storage/azure_storage.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/storage/gcp_storage.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/storage/local_storage.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/storage/minio_storage.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/storage/s3_storage.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/storage/storage_factory.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/storage/storage_interface.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/storage/tests/test_storage.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/super_pipe.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/super_table.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/tests/__init__.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/tests/test_align_to_schema_fix.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/tests/test_data_reader.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/tests/test_data_writer.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/tests/test_data_writer_comprehensive.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/tests/test_data_writer_tombstones.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/tests/test_dedup_on_read_write.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/tests/test_meta_reader.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/tests/test_newer_than.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/tests/test_process_delete_only.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/tests/test_processing.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/tests/test_query_sql.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/tests/test_simple_table.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/tests/test_small_file_compaction.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/tests/test_super_table.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/tests/test_supertable_all.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/utils/__init__.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/utils/helper.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/utils/sql_parser.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/utils/tests/test_sql_parser_columns.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable/utils/timer.py +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable.egg-info/SOURCES.txt +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable.egg-info/dependency_links.txt +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable.egg-info/entry_points.txt +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/supertable.egg-info/requires.txt +0 -0
- {supertable-2.0.9 → supertable-2.1.0}/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.0
|
|
22
|
+
version="2.1.0",
|
|
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.0
|
|
28
|
+
__version__ = "2.1.0"
|
|
29
29
|
|
|
30
30
|
# Re-export the core public surface so users can do ``from supertable import …``
|
|
31
31
|
# instead of remembering submodule paths.
|
|
@@ -152,15 +152,35 @@ _RECOGNISED_PREFIXES: FrozenSet[str] = frozenset(
|
|
|
152
152
|
# Naming rules (regexes)
|
|
153
153
|
# --------------------------------------------------------------------------- #
|
|
154
154
|
|
|
155
|
-
# A sentinel is
|
|
156
|
-
# across every user-supplied
|
|
157
|
-
#
|
|
158
|
-
# instance_id).
|
|
155
|
+
# A sentinel is a *single*-underscore-wrapped name (e.g. ``_apps_``,
|
|
156
|
+
# ``_system_``). Sentinels are reserved across every user-supplied
|
|
157
|
+
# identifier (org, sup, simple, staging_name, pipe_name, app_name,
|
|
158
|
+
# share_id, link_id, user_id, role_id, role_type, instance_id).
|
|
159
|
+
#
|
|
160
|
+
# Note: this regex deliberately requires ``[a-z0-9]`` immediately
|
|
161
|
+
# after the leading underscore, so *double*-underscore-wrapped names
|
|
162
|
+
# (e.g. ``__data_quality__``) do NOT match. Double-underscore wrap is
|
|
163
|
+
# the SDK-internal-table convention — those names are allowed by
|
|
164
|
+
# ``_SAFE_SEGMENT`` below and hidden from user-facing feeds by the
|
|
165
|
+
# OData handler's shape detection.
|
|
159
166
|
SENTINEL_RE: re.Pattern[str] = re.compile(r"^_[a-z0-9][a-z0-9_-]*_$")
|
|
160
167
|
|
|
161
|
-
#
|
|
162
|
-
#
|
|
163
|
-
|
|
168
|
+
# Universal safe-segment regex used by every key constructor.
|
|
169
|
+
#
|
|
170
|
+
# Accepts either:
|
|
171
|
+
# * a plain identifier ``[a-z0-9][a-z0-9_-]{0,63}`` — the common case
|
|
172
|
+
# for user-supplied names (org, sup, simple table, staging, pipe,
|
|
173
|
+
# user_id, role_id, etc.), and
|
|
174
|
+
# * a *double*-underscore-wrapped name ``__[a-z0-9][a-z0-9_-]{0,59}__``
|
|
175
|
+
# — the convention for SDK-internal tables (e.g. ``__data_quality__``)
|
|
176
|
+
# that users normally would not create but the SDK needs to write to.
|
|
177
|
+
#
|
|
178
|
+
# Single-underscore-wrapped names (``_foo_``) match SENTINEL_RE and are
|
|
179
|
+
# rejected explicitly by ``_safe()``; they are reserved for SDK
|
|
180
|
+
# sentinels at fixed positions (``_apps_`` under ``dataisland:``).
|
|
181
|
+
_SAFE_SEGMENT: re.Pattern[str] = re.compile(
|
|
182
|
+
r"^(__[a-z0-9][a-z0-9_-]{0,59}__|[a-z0-9][a-z0-9_-]{0,63})$"
|
|
183
|
+
)
|
|
164
184
|
|
|
165
185
|
# --------------------------------------------------------------------------- #
|
|
166
186
|
# Explicit reservations
|
|
@@ -256,7 +256,22 @@ def test_reserved_super_names_accepts_normal_names():
|
|
|
256
256
|
# ---------------------------------------------------------------------------
|
|
257
257
|
|
|
258
258
|
@pytest.mark.parametrize(
|
|
259
|
-
"good",
|
|
259
|
+
"good",
|
|
260
|
+
[
|
|
261
|
+
"acme",
|
|
262
|
+
"my-org",
|
|
263
|
+
"tenant_1",
|
|
264
|
+
"a",
|
|
265
|
+
"abc123",
|
|
266
|
+
"x" * 64,
|
|
267
|
+
# Double-underscore-wrapped names are the SDK-internal-table
|
|
268
|
+
# convention (e.g. __data_quality__). _safe() accepts them so
|
|
269
|
+
# the SDK can write to internal tables; single-underscore
|
|
270
|
+
# sentinels (_apps_) are still rejected below.
|
|
271
|
+
"__data_quality__",
|
|
272
|
+
"__audit__",
|
|
273
|
+
"__a__",
|
|
274
|
+
],
|
|
260
275
|
)
|
|
261
276
|
def test_safe_accepts_good_segments(good):
|
|
262
277
|
assert RK._safe("test", good) == good
|
|
@@ -271,10 +286,12 @@ def test_safe_accepts_good_segments(good):
|
|
|
271
286
|
"ac:me", # colon
|
|
272
287
|
"ac/me", # slash
|
|
273
288
|
"ac.me", # dot
|
|
274
|
-
"_system_", # sentinel
|
|
289
|
+
"_system_", # sentinel (single-underscore-wrap)
|
|
275
290
|
"_foo_", # sentinel
|
|
276
291
|
"-leading-hyphen", # starts with hyphen
|
|
277
|
-
"_leading", # starts with underscore (
|
|
292
|
+
"_leading", # starts with single underscore (not wrapped)
|
|
293
|
+
"__leading", # starts with double underscore but no closing wrap
|
|
294
|
+
"____", # only underscores, no name body
|
|
278
295
|
"x" * 65, # too long
|
|
279
296
|
]
|
|
280
297
|
)
|
|
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
|
{supertable-2.0.9 → supertable-2.1.0}/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.0.9 → supertable-2.1.0}/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.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s03_02_01_read_super_data_ok.py
RENAMED
|
File without changes
|
{supertable-2.0.9 → supertable-2.1.0}/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.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s03_07_02_estimate_files.py
RENAMED
|
File without changes
|
{supertable-2.0.9 → supertable-2.1.0}/supertable/demo/quickstart/s03_08_read_snapshot_history.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{supertable-2.0.9 → supertable-2.1.0}/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
|