lamindb_setup 0.76.1__tar.gz → 0.76.3__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.
Files changed (92) hide show
  1. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/PKG-INFO +1 -1
  2. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/__init__.py +1 -1
  3. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/_schema_metadata.py +14 -3
  4. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/upath.py +6 -9
  5. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/tests/hub-local/test_update_schema_in_hub.py +1 -1
  6. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/tests/storage/test_storage_basis.py +1 -1
  7. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/.github/workflows/build.yml +0 -0
  8. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/.github/workflows/doc-changes.yml +0 -0
  9. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/.gitignore +0 -0
  10. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/.pre-commit-config.yaml +0 -0
  11. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/LICENSE +0 -0
  12. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/README.md +0 -0
  13. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/docs/changelog.md +0 -0
  14. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/docs/hub-cloud/01-init-local-instance.ipynb +0 -0
  15. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/docs/hub-cloud/02-connect-local-instance.ipynb +0 -0
  16. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/docs/hub-cloud/03-add-managed-storage.ipynb +0 -0
  17. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/docs/hub-cloud/04-test-bionty.ipynb +0 -0
  18. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/docs/hub-cloud/05-init-hosted-instance.ipynb +0 -0
  19. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/docs/hub-cloud/06-connect-hosted-instance.ipynb +0 -0
  20. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/docs/hub-cloud/07-keep-artifacts-local.ipynb +0 -0
  21. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/docs/hub-cloud/test-multi-session.ipynb +0 -0
  22. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/docs/hub-cloud/test_notebooks.py +0 -0
  23. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/docs/hub-prod/test-cache-management.ipynb +0 -0
  24. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/docs/hub-prod/test-cloud-sync.ipynb +0 -0
  25. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/docs/hub-prod/test-connect-anonymously.ipynb +0 -0
  26. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/docs/hub-prod/test-empty-init.ipynb +0 -0
  27. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/docs/hub-prod/test-import-schema.ipynb +0 -0
  28. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/docs/hub-prod/test-insufficient-user-info.ipynb +0 -0
  29. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/docs/hub-prod/test-invalid-schema.ipynb +0 -0
  30. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/docs/hub-prod/test-sqlite-lock.ipynb +0 -0
  31. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/docs/hub-prod/test_notebooks2.py +0 -0
  32. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/docs/index.md +0 -0
  33. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/docs/notebooks.md +0 -0
  34. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/docs/reference.md +0 -0
  35. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/_cache.py +0 -0
  36. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/_check.py +0 -0
  37. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/_check_setup.py +0 -0
  38. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/_close.py +0 -0
  39. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/_connect_instance.py +0 -0
  40. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/_delete.py +0 -0
  41. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/_django.py +0 -0
  42. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/_exportdb.py +0 -0
  43. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/_importdb.py +0 -0
  44. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/_init_instance.py +0 -0
  45. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/_migrate.py +0 -0
  46. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/_register_instance.py +0 -0
  47. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/_schema.py +0 -0
  48. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/_set_managed_storage.py +0 -0
  49. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/_setup_user.py +0 -0
  50. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/_silence_loggers.py +0 -0
  51. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/__init__.py +0 -0
  52. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/_aws_credentials.py +0 -0
  53. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/_aws_storage.py +0 -0
  54. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/_deprecated.py +0 -0
  55. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/_docs.py +0 -0
  56. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/_hub_client.py +0 -0
  57. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/_hub_core.py +0 -0
  58. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/_hub_crud.py +0 -0
  59. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/_hub_utils.py +0 -0
  60. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/_private_django_api.py +0 -0
  61. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/_settings.py +0 -0
  62. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/_settings_instance.py +0 -0
  63. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/_settings_load.py +0 -0
  64. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/_settings_save.py +0 -0
  65. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/_settings_storage.py +0 -0
  66. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/_settings_store.py +0 -0
  67. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/_settings_user.py +0 -0
  68. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/_setup_bionty_sources.py +0 -0
  69. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/cloud_sqlite_locker.py +0 -0
  70. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/django.py +0 -0
  71. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/exceptions.py +0 -0
  72. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/hashing.py +0 -0
  73. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/lamindb_setup/core/types.py +0 -0
  74. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/noxfile.py +0 -0
  75. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/pyproject.toml +0 -0
  76. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/tests/hub-cloud/test_connect_instance.py +0 -0
  77. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/tests/hub-cloud/test_delete_instance.py +0 -0
  78. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/tests/hub-cloud/test_init_instance.py +0 -0
  79. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/tests/hub-cloud/test_login.py +0 -0
  80. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/tests/hub-cloud/test_migrate.py +0 -0
  81. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/tests/hub-cloud/test_set_storage.py +0 -0
  82. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/tests/hub-local/conftest.py +0 -0
  83. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/tests/hub-local/test_all.py +0 -0
  84. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/tests/hub-prod/conftest.py +0 -0
  85. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/tests/hub-prod/test_django.py +0 -0
  86. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/tests/hub-prod/test_global_settings.py +0 -0
  87. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/tests/hub-prod/test_switch_and_fallback_env.py +0 -0
  88. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/tests/hub-prod/test_upath.py +0 -0
  89. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/tests/storage/test_hashing.py +0 -0
  90. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/tests/storage/test_storage_access.py +0 -0
  91. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/tests/storage/test_storage_stats.py +0 -0
  92. {lamindb_setup-0.76.1 → lamindb_setup-0.76.3}/tests/storage/test_to_url.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lamindb_setup
3
- Version: 0.76.1
3
+ Version: 0.76.3
4
4
  Summary: Setup & configure LaminDB.
5
5
  Author-email: Lamin Labs <open-source@lamin.ai>
6
6
  Description-Content-Type: text/markdown
@@ -34,7 +34,7 @@ Modules & settings:
34
34
 
35
35
  """
36
36
 
37
- __version__ = "0.76.1" # denote a release candidate for 0.1.0 with 0.1rc1
37
+ __version__ = "0.76.3" # denote a release candidate for 0.1.0 with 0.1rc1
38
38
 
39
39
  import sys
40
40
  from os import name as _os_name
@@ -22,6 +22,13 @@ from lamindb_setup import settings
22
22
  from lamindb_setup._init_instance import get_schema_module_name
23
23
  from lamindb_setup.core._hub_client import call_with_fallback_auth
24
24
 
25
+ # surpress pydantic warning about `model_` namespace
26
+ try:
27
+ BaseModel.model_config["protected_namespaces"] = ()
28
+ except Exception:
29
+ pass
30
+
31
+
25
32
  if TYPE_CHECKING:
26
33
  from supabase import Client
27
34
 
@@ -349,7 +356,9 @@ class _SchemaHandler:
349
356
  return self.to_dict(include_django_objects=False)
350
357
 
351
358
  def _get_modules_metadata(self):
352
- return {
359
+ from lnschema_core.models import Record, Registry
360
+
361
+ all_models = {
353
362
  module_name: {
354
363
  model._meta.model_name: _ModelHandler(
355
364
  model, module_name, self.included_modules
@@ -357,13 +366,15 @@ class _SchemaHandler:
357
366
  for model in self._get_schema_module(
358
367
  module_name
359
368
  ).models.__dict__.values()
360
- if model.__class__.__name__ == "RecordMeta"
361
- and model.__name__ not in ["Record", "ORM"]
369
+ if model.__class__ is Registry
370
+ and model is not Record
362
371
  and not model._meta.abstract
363
372
  and model.__get_schema_name__() == module_name
364
373
  }
365
374
  for module_name in self.included_modules
366
375
  }
376
+ assert all_models
377
+ return all_models
367
378
 
368
379
  def _get_module_set_info(self):
369
380
  # TODO: rely on schemamodule table for this
@@ -28,7 +28,7 @@ LocalPathClasses = (PosixUPath, WindowsUPath, LocalPath)
28
28
  # also see https://gist.github.com/securifera/e7eed730cbe1ce43d0c29d7cd2d582f4
29
29
  # ".gz" is not listed here as it typically occurs with another suffix
30
30
  # the complete list is at lamindb.core.storage._suffixes
31
- VALID_SUFFIXES = {
31
+ VALID_SIMPLE_SUFFIXES = {
32
32
  #
33
33
  # without readers
34
34
  #
@@ -56,11 +56,8 @@ VALID_SUFFIXES = {
56
56
  ".zarr",
57
57
  ".json",
58
58
  }
59
- VALID_COMPOSITE_SUFFIXES = {
60
- ".anndata.zarr",
61
- ".spatialdata.zarr",
62
- ".ome.zarr",
63
- }
59
+ # below gets updated within lamindb because it's frequently changing
60
+ VALID_COMPOSITE_SUFFIXES = {".anndata.zarr"}
64
61
 
65
62
  TRAILING_SEP = (os.sep, os.altsep) if os.altsep is not None else os.sep
66
63
 
@@ -76,7 +73,7 @@ def extract_suffix_from_path(path: Path, arg_name: str | None = None) -> str:
76
73
  return process_digits(path.suffix)
77
74
 
78
75
  total_suffix = "".join(path.suffixes)
79
- if total_suffix in VALID_SUFFIXES:
76
+ if total_suffix in VALID_SIMPLE_SUFFIXES:
80
77
  return total_suffix
81
78
  elif total_suffix.endswith(tuple(VALID_COMPOSITE_SUFFIXES)):
82
79
  # below seems slow but OK for now
@@ -94,7 +91,7 @@ def extract_suffix_from_path(path: Path, arg_name: str | None = None) -> str:
94
91
  # in COMPRESSION_SUFFIXES to detect something like .random.gz and then
95
92
  # add ".random.gz" but concluded it's too dangerous it's safer to just
96
93
  # use ".gz" in such a case
97
- if path.suffixes[-2] in VALID_SUFFIXES:
94
+ if path.suffixes[-2] in VALID_SIMPLE_SUFFIXES:
98
95
  suffix = "".join(path.suffixes[-2:])
99
96
  msg += f"inferring: '{suffix}'"
100
97
  # do not print a warning for things like .tar.gz, .fastq.gz
@@ -105,7 +102,7 @@ def extract_suffix_from_path(path: Path, arg_name: str | None = None) -> str:
105
102
  msg += (
106
103
  f"using only last suffix: '{suffix}' - if you want your composite"
107
104
  " suffix to be recognized add it to"
108
- " lamindb.core.storage.VALID_SUFFIXES.add()"
105
+ " lamindb.core.storage.VALID_SIMPLE_SUFFIXES.add()"
109
106
  )
110
107
  if print_hint:
111
108
  logger.hint(msg)
@@ -57,7 +57,7 @@ def test_update_schema_in_hub(setup_instance):
57
57
 
58
58
  assert schema["schema_json"]["core"]["artifact"]["fields"]["_accessor"] == {
59
59
  "type": "CharField",
60
- "column_name": "accessor",
60
+ "column_name": "_accessor",
61
61
  "through": None,
62
62
  "field_name": "_accessor",
63
63
  "model_name": "artifact",
@@ -19,7 +19,7 @@ def test_extract_suffix_from_path():
19
19
  ("logs/date.log.123", ""), # digits are no valid suffixes
20
20
  ("salmon.merged.gene_counts.tsv", ".tsv"),
21
21
  ("salmon.merged.gene_counts.tsv.gz", ".tsv.gz"),
22
- ("filename.v1.1.0.spatialdata.zarr", ".spatialdata.zarr"),
22
+ ("filename.v1.1.0.anndata.zarr", ".anndata.zarr"),
23
23
  ]
24
24
  for path, suffix in collection:
25
25
  filepath = Path(path)
File without changes
File without changes