altcodepro-polydb-python 2.3.3__tar.gz → 2.3.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.
- {altcodepro_polydb_python-2.3.3/src/altcodepro_polydb_python.egg-info → altcodepro_polydb_python-2.3.4}/PKG-INFO +1 -1
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/pyproject.toml +1 -1
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4/src/altcodepro_polydb_python.egg-info}/PKG-INFO +1 -1
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/AzureTableStorageAdapter.py +15 -3
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/LICENSE +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/MANIFEST.in +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/README.md +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/example_usage.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/requirements-aws.txt +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/requirements-azure.txt +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/requirements-dev.txt +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/requirements-gcp.txt +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/requirements-generic.txt +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/requirements.txt +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/setup.cfg +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/setup.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/altcodepro_polydb_python.egg-info/SOURCES.txt +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/altcodepro_polydb_python.egg-info/dependency_links.txt +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/altcodepro_polydb_python.egg-info/requires.txt +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/altcodepro_polydb_python.egg-info/top_level.txt +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/PolyDB.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/__init__.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/AzureBlobStorageAdapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/AzureFileStorageAdapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/AzureQueueAdapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/BlockchainBlobAdapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/BlockchainKVAdapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/BlockchainQueueAdapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/DynamoDBAdapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/EFSAdapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/FirestoreAdapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/GCPPubSubAdapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/GCPStorageAdapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/MongoDBAdapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/PostgreSQLAdapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/S3Adapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/S3CompatibleAdapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/SQSAdapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/VercelBlobAdapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/VercelKVAdapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/VercelQueueAdapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/__init__.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/advanced_query.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/audit/AuditStorage.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/audit/__init__.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/audit/context.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/audit/manager.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/audit/models.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/base/NoSQLKVAdapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/base/ObjectStorageAdapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/base/QueueAdapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/base/SharedFilesAdapter.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/base/__init__.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/batch.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/cache.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/cloudDatabaseFactory.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/databaseFactory.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/decorators.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/errors.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/json_safe.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/models.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/monitoring.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/multitenancy.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/py.typed +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/query.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/registry.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/retry.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/schema.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/security.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/types.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/utils.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/validation.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/tests/test_aws.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/tests/test_azure.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/tests/test_blockchain.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/tests/test_cloud_factory.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/tests/test_gcp.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/tests/test_mongodb.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/tests/test_multi_engine.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/tests/test_postgresql.py +0 -0
- {altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/tests/test_vercel.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: altcodepro-polydb-python
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.4
|
|
4
4
|
Summary: Production-ready multi-cloud database abstraction layer with connection pooling, retry logic, and thread safety
|
|
5
5
|
Author: AltCodePro
|
|
6
6
|
Project-URL: Homepage, https://github.com/altcodepro/polydb-python
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "altcodepro-polydb-python"
|
|
7
|
-
version = "2.3.
|
|
7
|
+
version = "2.3.4"
|
|
8
8
|
description = "Production-ready multi-cloud database abstraction layer with connection pooling, retry logic, and thread safety"
|
|
9
9
|
readme = { file = "README.md", content-type = "text/markdown" }
|
|
10
10
|
requires-python = ">=3.11"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: altcodepro-polydb-python
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.4
|
|
4
4
|
Summary: Production-ready multi-cloud database abstraction layer with connection pooling, retry logic, and thread safety
|
|
5
5
|
Author: AltCodePro
|
|
6
6
|
Project-URL: Homepage, https://github.com/altcodepro/polydb-python
|
|
@@ -469,6 +469,9 @@ class AzureTableStorageAdapter(NoSQLKVAdapter):
|
|
|
469
469
|
|
|
470
470
|
restored = json.loads(blob_data.decode("utf-8"))
|
|
471
471
|
out = self._unpack_entity(restored)
|
|
472
|
+
out["_overflow"] = True
|
|
473
|
+
out["_blob_key"] = blob_key
|
|
474
|
+
out["_checksum"] = checksum
|
|
472
475
|
if "id" not in out:
|
|
473
476
|
out["id"] = safe_rk
|
|
474
477
|
return out
|
|
@@ -541,10 +544,19 @@ class AzureTableStorageAdapter(NoSQLKVAdapter):
|
|
|
541
544
|
|
|
542
545
|
if ent_dict.get("_overflow"):
|
|
543
546
|
blob_key = ent_dict.get("_blob_key")
|
|
547
|
+
checksum = ent_dict.get("_checksum")
|
|
544
548
|
if blob_key:
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
549
|
+
try:
|
|
550
|
+
blob_data = self._blob_download(blob_key)
|
|
551
|
+
actual_checksum = hashlib.md5(blob_data).hexdigest()
|
|
552
|
+
if checksum and actual_checksum != checksum:
|
|
553
|
+
raise NoSQLError("Checksum mismatch")
|
|
554
|
+
|
|
555
|
+
restored = json.loads(blob_data.decode("utf-8"))
|
|
556
|
+
out = self._unpack_entity(restored)
|
|
557
|
+
except Exception as e:
|
|
558
|
+
logger.error(f"Blob read failed, falling back to table: {e}")
|
|
559
|
+
out = self._unpack_entity(ent_dict)
|
|
548
560
|
else:
|
|
549
561
|
out = self._unpack_entity(ent_dict)
|
|
550
562
|
else:
|
|
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
|
{altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/EFSAdapter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/S3Adapter.py
RENAMED
|
File without changes
|
|
File without changes
|
{altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/SQSAdapter.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/adapters/__init__.py
RENAMED
|
File without changes
|
{altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/advanced_query.py
RENAMED
|
File without changes
|
{altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/audit/AuditStorage.py
RENAMED
|
File without changes
|
{altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/audit/__init__.py
RENAMED
|
File without changes
|
{altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/audit/context.py
RENAMED
|
File without changes
|
{altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/audit/manager.py
RENAMED
|
File without changes
|
{altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/audit/models.py
RENAMED
|
File without changes
|
{altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/base/NoSQLKVAdapter.py
RENAMED
|
File without changes
|
|
File without changes
|
{altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/base/QueueAdapter.py
RENAMED
|
File without changes
|
|
File without changes
|
{altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/base/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/cloudDatabaseFactory.py
RENAMED
|
File without changes
|
{altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/databaseFactory.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/src/polydb/multitenancy.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
|
{altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/tests/test_cloud_factory.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{altcodepro_polydb_python-2.3.3 → altcodepro_polydb_python-2.3.4}/tests/test_multi_engine.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|