nucliadb 6.8.1.post4957__py3-none-any.whl → 6.8.1.post4965__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.

Potentially problematic release.


This version of nucliadb might be problematic. Click here for more details.

nucliadb/common/nidx.py CHANGED
@@ -82,6 +82,24 @@ def _storage_config(prefix: str, bucket: Optional[str]) -> dict[str, str]:
82
82
  config[f"{prefix}__REGION_NAME"] = storage_settings.s3_region_name or ""
83
83
  if storage_settings.s3_endpoint:
84
84
  config[f"{prefix}__ENDPOINT"] = storage_settings.s3_endpoint
85
+ elif storage_settings.file_backend == FileBackendConfig.AZURE:
86
+ if storage_settings.azure_account_url is None:
87
+ raise ValueError("Azure account is required")
88
+ config[f"{prefix}__OBJECT_STORE"] = "azure"
89
+ url = storage_settings.azure_account_url
90
+ container = bucket or extended_storage_settings.azure_indexing_bucket
91
+ if container:
92
+ url += f"/{container}"
93
+ config[f"{prefix}__CONTAINER_URL"] = url
94
+ if storage_settings.azure_connection_string:
95
+ params = {
96
+ p.split("=", 1)[0]: p.split("=", 1)[1]
97
+ for p in storage_settings.azure_connection_string.split(";")
98
+ }
99
+ if "AccountKey" in params:
100
+ config[f"{prefix}__ACCOUNT_KEY"] = params["AccountKey"]
101
+ if "BlobEndpoint" in params:
102
+ config[f"{prefix}__ENDPOINT"] = params["BlobEndpoint"]
85
103
 
86
104
  return config
87
105
 
@@ -45,6 +45,8 @@ WHITELISTED_HEADERS = {
45
45
  "x-nucliadb-roles",
46
46
  "x-stf-roles",
47
47
  "x-stf-user",
48
+ "x-stf-account",
49
+ "x-stf-account-type",
48
50
  "x-forwarded-for",
49
51
  "x-forwarded-host",
50
52
  "x-forwarded-proto",
@@ -27,7 +27,6 @@ from nucliadb.writer.tus.storage import BlobStore, FileStorageManager
27
27
  from nucliadb_protos.resources_pb2 import CloudFile
28
28
  from nucliadb_utils.storages import CHUNK_SIZE
29
29
  from nucliadb_utils.storages.azure import AzureObjectStore
30
- from nucliadb_utils.storages.exceptions import ObjectNotFoundError
31
30
  from nucliadb_utils.storages.utils import ObjectMetadata
32
31
 
33
32
 
@@ -63,7 +62,7 @@ class AzureBlobStore(BlobStore):
63
62
  class AzureFileStorageManager(FileStorageManager):
64
63
  storage: AzureBlobStore
65
64
  chunk_size = CHUNK_SIZE
66
- min_upload_size = None
65
+ min_upload_size = CHUNK_SIZE
67
66
 
68
67
  @property
69
68
  def object_store(self) -> AzureObjectStore:
@@ -87,7 +86,7 @@ class AzureFileStorageManager(FileStorageManager):
87
86
  bucket = self.storage.get_bucket_name(kbid)
88
87
  try:
89
88
  await self.object_store.delete(bucket, uri)
90
- except ObjectNotFoundError:
89
+ except KeyError:
91
90
  logger.warning(
92
91
  "Attempt to delete an upload but not found",
93
92
  extra={"uri": uri, "kbid": kbid, "bucket": bucket},
@@ -108,4 +107,5 @@ class AzureFileStorageManager(FileStorageManager):
108
107
  return path
109
108
 
110
109
  def validate_intermediate_chunk(self, uploaded_bytes: int):
111
- pass
110
+ if uploaded_bytes < self.min_upload_size:
111
+ raise ValueError(f"Intermediate chunks cannot be smaller than {self.min_upload_size} bytes")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nucliadb
3
- Version: 6.8.1.post4957
3
+ Version: 6.8.1.post4965
4
4
  Summary: NucliaDB
5
5
  Author-email: Nuclia <nucliadb@nuclia.com>
6
6
  License-Expression: AGPL-3.0-or-later
@@ -19,11 +19,11 @@ Classifier: Programming Language :: Python :: 3.12
19
19
  Classifier: Programming Language :: Python :: 3 :: Only
20
20
  Requires-Python: <4,>=3.9
21
21
  Description-Content-Type: text/markdown
22
- Requires-Dist: nucliadb-telemetry[all]>=6.8.1.post4957
23
- Requires-Dist: nucliadb-utils[cache,fastapi,storages]>=6.8.1.post4957
24
- Requires-Dist: nucliadb-protos>=6.8.1.post4957
25
- Requires-Dist: nucliadb-models>=6.8.1.post4957
26
- Requires-Dist: nidx-protos>=6.8.1.post4957
22
+ Requires-Dist: nucliadb-telemetry[all]>=6.8.1.post4965
23
+ Requires-Dist: nucliadb-utils[cache,fastapi,storages]>=6.8.1.post4965
24
+ Requires-Dist: nucliadb-protos>=6.8.1.post4965
25
+ Requires-Dist: nucliadb-models>=6.8.1.post4965
26
+ Requires-Dist: nidx-protos>=6.8.1.post4965
27
27
  Requires-Dist: nucliadb-admin-assets>=1.0.0.post1224
28
28
  Requires-Dist: nuclia-models>=0.47.0
29
29
  Requires-Dist: uvicorn[standard]
@@ -47,7 +47,7 @@ migrations/pg/0009_extract_facets_safety.py,sha256=k9Appx7ipp3wDyLy70qgw9oLjN7N6
47
47
  migrations/pg/__init__.py,sha256=cp15ZcFnHvpcu_5-aK2A4uUyvuZVV_MJn4bIXMa20ks,835
48
48
  nucliadb/__init__.py,sha256=_abCmDJ_0ku483Os4UAjPX7Nywm39cQgAV_DiyjsKeQ,891
49
49
  nucliadb/health.py,sha256=UIxxA4oms4HIsCRZM_SZsdkIZIlgzmOxw-qSHLlWuak,3465
50
- nucliadb/learning_proxy.py,sha256=ZFCb4sTWGmNE1SNNAF2eJEcFksn1VMW7AD8-vu7o_U4,19294
50
+ nucliadb/learning_proxy.py,sha256=CGwKlKHMDYMMRj5-8M4nNvsV3O88A2mLRr0kfjSZTBA,19341
51
51
  nucliadb/metrics_exporter.py,sha256=CdfDqKqR-4xMjZxITl6F6mV539iXVsF5ovXCPHjKp40,5341
52
52
  nucliadb/openapi.py,sha256=dI5hHSUs2oHf4fd27gGagVltWfjVZPIoVqMtIN04VJk,2290
53
53
  nucliadb/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -68,7 +68,7 @@ nucliadb/common/exceptions.py,sha256=_PJk_NfAhZBFBvmgAfvsJKZ9KuRt5Y1cNsH3-cXE07w
68
68
  nucliadb/common/filter_expression.py,sha256=-6buKY1SCVYpkrG_60Ui3ebSDWnXeF_xVmBCrNipoII,6569
69
69
  nucliadb/common/ids.py,sha256=4QjoIofes_vtKj2HsFWZf8VVIVWXxdkYtLpx1n618Us,8239
70
70
  nucliadb/common/locking.py,sha256=eZG47mI1OPnKbxSd95qa6jDXBhUoxVBIuSjxoEuBRWE,5894
71
- nucliadb/common/nidx.py,sha256=4WHcEkLdH54S2C0FcLwHvcQXMiRj2lZ7zqOEbD8eEM8,9189
71
+ nucliadb/common/nidx.py,sha256=BcvNIwCbgrZbCDy3DYULTcuYqrHHRf1_2o2jETYEhHo,10099
72
72
  nucliadb/common/vector_index_config.py,sha256=DQrlraTWE5uUn68l9s10d3wobNeVtbP-ANEQmUfSWyo,1553
73
73
  nucliadb/common/back_pressure/__init__.py,sha256=paAcAZcfGRTyURF9lnn3vX0vcwakTEVswG_xcdGBH-U,928
74
74
  nucliadb/common/back_pressure/cache.py,sha256=ANvXglWzI5naAD6N4E_fNi17qS6KNyAhjLeh6WlZZ84,2931
@@ -371,7 +371,7 @@ nucliadb/writer/resource/basic.py,sha256=44GK8M9EEVoAUfGiabdLrrpENqeFwNn7qwxF2AH
371
371
  nucliadb/writer/resource/field.py,sha256=1fHm2N-3LcgQDE3BUDiJ0ToCiwY1Di7UbA6fcJs8BIk,21193
372
372
  nucliadb/writer/resource/origin.py,sha256=pvhUDdU0mlWPUcpoQi4LDUJaRtfjzVVrA8XcGVI_N8k,2021
373
373
  nucliadb/writer/tus/__init__.py,sha256=Kera0BtxoDX0ngPftXiMjNgjrhtQ3l2XFc5nJqSBOJY,5498
374
- nucliadb/writer/tus/azure.py,sha256=XhWAlWTM0vmXcXtuEPYjjeEhuZjiZXZu8q9WsJ7omFE,4107
374
+ nucliadb/writer/tus/azure.py,sha256=yxoRi4PhGDikTqVK3PiuVyguy8H9DOS66JpZCY4hpUY,4177
375
375
  nucliadb/writer/tus/dm.py,sha256=bVoXqt_dpNvTjpffPYhj1JfqK6gfLoPr0hdkknUCZ9E,5488
376
376
  nucliadb/writer/tus/exceptions.py,sha256=WfZSSjsHfoy63wUFlH3QoHx7FMoCNA1oKJmWpZZDnCo,2156
377
377
  nucliadb/writer/tus/gcs.py,sha256=pzJDJSXZKh7VrFYw-wiRSCCXfXklfGwDZSMAnjoh_48,13871
@@ -379,8 +379,8 @@ nucliadb/writer/tus/local.py,sha256=7jYa_w9b-N90jWgN2sQKkNcomqn6JMVBOVeDOVYJHto,
379
379
  nucliadb/writer/tus/s3.py,sha256=vu1BGg4VqJ_x2P1u2BxqPKlSfw5orT_a3R-Ln5oPUpU,8483
380
380
  nucliadb/writer/tus/storage.py,sha256=ToqwjoYnjI4oIcwzkhha_MPxi-k4Jk3Lt55zRwaC1SM,2903
381
381
  nucliadb/writer/tus/utils.py,sha256=MSdVbRsRSZVdkaum69_0wku7X3p5wlZf4nr6E0GMKbw,2556
382
- nucliadb-6.8.1.post4957.dist-info/METADATA,sha256=KGAf5k2C2lSS6oquvHBaWibun3KJxaxpK5ZORTH5FSg,4158
383
- nucliadb-6.8.1.post4957.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
384
- nucliadb-6.8.1.post4957.dist-info/entry_points.txt,sha256=XqGfgFDuY3zXQc8ewXM2TRVjTModIq851zOsgrmaXx4,1268
385
- nucliadb-6.8.1.post4957.dist-info/top_level.txt,sha256=hwYhTVnX7jkQ9gJCkVrbqEG1M4lT2F_iPQND1fCzF80,20
386
- nucliadb-6.8.1.post4957.dist-info/RECORD,,
382
+ nucliadb-6.8.1.post4965.dist-info/METADATA,sha256=QFrP-BjOYg7Bc7zaHPxkBCFi2f9ybaHcJ2O67hkylqY,4158
383
+ nucliadb-6.8.1.post4965.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
384
+ nucliadb-6.8.1.post4965.dist-info/entry_points.txt,sha256=XqGfgFDuY3zXQc8ewXM2TRVjTModIq851zOsgrmaXx4,1268
385
+ nucliadb-6.8.1.post4965.dist-info/top_level.txt,sha256=hwYhTVnX7jkQ9gJCkVrbqEG1M4lT2F_iPQND1fCzF80,20
386
+ nucliadb-6.8.1.post4965.dist-info/RECORD,,