lamindb_setup 0.71.2__tar.gz → 0.71.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 (89) hide show
  1. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/.github/workflows/build.yml +2 -2
  2. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/PKG-INFO +1 -1
  3. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/docs/changelog.md +2 -0
  4. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/docs/hub-cloud/03-add-managed-storage.ipynb +4 -6
  5. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/__init__.py +1 -1
  6. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/core/_settings_user.py +2 -6
  7. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/core/django.py +4 -1
  8. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/tests/hub-cloud/test_connect_instance.py +8 -11
  9. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/tests/hub-local/conftest.py +1 -1
  10. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/tests/hub-local/test_all.py +3 -3
  11. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/.github/workflows/latest-changes.jinja2 +0 -0
  12. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/.github/workflows/latest-changes.yml +0 -0
  13. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/.gitignore +0 -0
  14. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/.pre-commit-config.yaml +0 -0
  15. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/LICENSE +0 -0
  16. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/README.md +0 -0
  17. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/docs/hub-cloud/01-init-local-instance.ipynb +0 -0
  18. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/docs/hub-cloud/02-connect-local-instance.ipynb +0 -0
  19. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/docs/hub-cloud/04-test-bionty.ipynb +0 -0
  20. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/docs/hub-cloud/05-init-hosted-instance.ipynb +0 -0
  21. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/docs/hub-cloud/06-connect-hosted-instance.ipynb +0 -0
  22. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/docs/hub-cloud/07-keep-artifacts-local.ipynb +0 -0
  23. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/docs/hub-cloud/test-multi-session.ipynb +0 -0
  24. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/docs/hub-cloud/test_notebooks.py +0 -0
  25. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/docs/hub-prod/test-cache-management.ipynb +0 -0
  26. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/docs/hub-prod/test-cloud-sync.ipynb +0 -0
  27. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/docs/hub-prod/test-connect-anonymously.ipynb +0 -0
  28. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/docs/hub-prod/test-empty-init.ipynb +0 -0
  29. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/docs/hub-prod/test-import-schema.ipynb +0 -0
  30. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/docs/hub-prod/test-insufficient-user-info.ipynb +0 -0
  31. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/docs/hub-prod/test-invalid-schema.ipynb +0 -0
  32. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/docs/hub-prod/test-sqlite-lock.ipynb +0 -0
  33. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/docs/hub-prod/test_notebooks2.py +0 -0
  34. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/docs/index.md +0 -0
  35. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/docs/notebooks.md +0 -0
  36. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/docs/reference.md +0 -0
  37. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/_cache.py +0 -0
  38. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/_check.py +0 -0
  39. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/_check_setup.py +0 -0
  40. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/_close.py +0 -0
  41. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/_connect_instance.py +0 -0
  42. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/_delete.py +0 -0
  43. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/_django.py +0 -0
  44. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/_exportdb.py +0 -0
  45. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/_importdb.py +0 -0
  46. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/_init_instance.py +0 -0
  47. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/_migrate.py +0 -0
  48. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/_register_instance.py +0 -0
  49. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/_schema.py +0 -0
  50. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/_set_managed_storage.py +0 -0
  51. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/_setup_user.py +0 -0
  52. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/_silence_loggers.py +0 -0
  53. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/core/__init__.py +0 -0
  54. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/core/_aws_storage.py +0 -0
  55. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/core/_deprecated.py +0 -0
  56. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/core/_docs.py +0 -0
  57. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/core/_hub_client.py +0 -0
  58. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/core/_hub_core.py +0 -0
  59. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/core/_hub_crud.py +0 -0
  60. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/core/_hub_utils.py +0 -0
  61. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/core/_settings.py +0 -0
  62. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/core/_settings_instance.py +0 -0
  63. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/core/_settings_load.py +0 -0
  64. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/core/_settings_save.py +0 -0
  65. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/core/_settings_storage.py +0 -0
  66. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/core/_settings_store.py +0 -0
  67. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/core/_setup_bionty_sources.py +0 -0
  68. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/core/cloud_sqlite_locker.py +0 -0
  69. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/core/exceptions.py +0 -0
  70. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/core/hashing.py +0 -0
  71. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/core/types.py +0 -0
  72. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/lamindb_setup/core/upath.py +0 -0
  73. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/noxfile.py +0 -0
  74. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/pyproject.toml +0 -0
  75. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/tests/hub-cloud/test_delete_instance.py +0 -0
  76. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/tests/hub-cloud/test_init_instance.py +0 -0
  77. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/tests/hub-cloud/test_login.py +0 -0
  78. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/tests/hub-cloud/test_migrate.py +0 -0
  79. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/tests/hub-cloud/test_set_storage.py +0 -0
  80. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/tests/hub-prod/conftest.py +0 -0
  81. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/tests/hub-prod/test_auto_connect.py +0 -0
  82. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/tests/hub-prod/test_django.py +0 -0
  83. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/tests/hub-prod/test_switch_and_fallback_env.py +0 -0
  84. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/tests/hub-prod/test_upath.py +0 -0
  85. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/tests/storage/test_hashing.py +0 -0
  86. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/tests/storage/test_storage_access.py +0 -0
  87. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/tests/storage/test_storage_basis.py +0 -0
  88. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/tests/storage/test_storage_stats.py +0 -0
  89. {lamindb_setup-0.71.2 → lamindb_setup-0.71.3}/tests/storage/test_to_url.py +0 -0
@@ -61,7 +61,7 @@ jobs:
61
61
  repository: laminlabs/laminapp-ui
62
62
  token: ${{ secrets.GH_TOKEN_DEPLOY_LAMINAPP }}
63
63
  path: laminhub
64
- ref: 11b0e5065d6f1a05484e1ef8ab8413f3c65bfa5a
64
+ ref: main
65
65
  - uses: actions/cache@v3
66
66
  with:
67
67
  path: ~/.cache/pre-commit
@@ -130,7 +130,7 @@ jobs:
130
130
  repository: laminlabs/laminapp-ui
131
131
  token: ${{ secrets.GH_TOKEN_DEPLOY_LAMINAPP }}
132
132
  path: laminhub
133
- ref: 11b0e5065d6f1a05484e1ef8ab8413f3c65bfa5a
133
+ ref: main
134
134
  - name: Set env file for local test of edge functions
135
135
  run: |
136
136
  touch .env.local
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lamindb_setup
3
- Version: 0.71.2
3
+ Version: 0.71.3
4
4
  Summary: Setup & configure LaminDB.
5
5
  Author-email: Lamin Labs <laminlabs@gmail.com>
6
6
  Description-Content-Type: text/markdown
@@ -3,6 +3,8 @@
3
3
  <!-- prettier-ignore -->
4
4
  Name | PR | Developer | Date | Version
5
5
  --- | --- | --- | --- | ---
6
+ ♻️ Better treatment of current_user_id | [754](https://github.com/laminlabs/lamindb-setup/pull/754) | [falexwolf](https://github.com/falexwolf) | 2024-05-06 | 0.72.2
7
+ 💚 Fix tests | [753](https://github.com/laminlabs/lamindb-setup/pull/753) | [fredericenard](https://github.com/fredericenard) | 2024-05-06 |
6
8
  ♻️ Actually use local db | [751](https://github.com/laminlabs/lamindb-setup/pull/751) | [falexwolf](https://github.com/falexwolf) | 2024-05-06 | 0.71.2
7
9
  ✏️ Restore view_tree py3.9 compatibility | [750](https://github.com/laminlabs/lamindb-setup/pull/750) | [sunnyosun](https://github.com/sunnyosun) | 2024-05-06 |
8
10
  💚 Pin laminapp-ui | [749](https://github.com/laminlabs/lamindb-setup/pull/749) | [falexwolf](https://github.com/falexwolf) | 2024-05-06 |
@@ -302,16 +302,14 @@
302
302
  "metadata": {},
303
303
  "outputs": [],
304
304
  "source": [
305
- "from laminhub_rest.core.collaborator._add_collaborator import add_collaborator\n",
305
+ "from laminhub_rest.core.instance.collaborator import InstanceCollaboratorHandler\n",
306
306
  "from lamindb_setup.core._hub_client import connect_hub_with_auth\n",
307
307
  "\n",
308
308
  "admin_hub = connect_hub_with_auth()\n",
309
- "add_collaborator(\n",
309
+ "InstanceCollaboratorHandler(admin_hub).add_by_slug(\n",
310
+ " \"testuser1/test-add-managed-storage\",\n",
310
311
  " \"testuser2\",\n",
311
- " \"testuser1\",\n",
312
- " \"test-add-managed-storage\",\n",
313
- " \"write\",\n",
314
- " admin_hub,\n",
312
+ " \"write\"\n",
315
313
  ")\n",
316
314
  "admin_hub.auth.close()"
317
315
  ]
@@ -34,7 +34,7 @@ Modules & settings:
34
34
 
35
35
  """
36
36
 
37
- __version__ = "0.71.2" # denote a release candidate for 0.1.0 with 0.1rc1
37
+ __version__ = "0.71.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
@@ -46,10 +46,6 @@ class UserSettings:
46
46
  @property
47
47
  def id(self):
48
48
  """Integer id valid in current intance."""
49
- # do NOT use the function below because this
50
- # doesn't error - it needs to be this way to have
51
- # a user id available in migrations
52
- # from lnschema_core.users import current_user_id
53
- from lnschema_core.models import User
49
+ from lnschema_core.users import current_user_id
54
50
 
55
- return User.objects.get(uid=self.uid).id
51
+ return current_user_id()
@@ -4,7 +4,6 @@ from __future__ import annotations
4
4
  import builtins
5
5
  import os
6
6
  from pathlib import Path
7
- import shutil
8
7
  import time
9
8
  from lamin_utils import logger
10
9
  from ._settings_store import current_instance_settings_file
@@ -12,6 +11,7 @@ from ._settings_instance import InstanceSettings
12
11
 
13
12
  IS_RUN_FROM_IPYTHON = getattr(builtins, "__IPYTHON__", False)
14
13
  IS_SETUP = False
14
+ IS_MIGRATING = False
15
15
  CONN_MAX_AGE = 299
16
16
 
17
17
 
@@ -101,7 +101,10 @@ def setup_django(
101
101
  call_command("migrate", verbosity=2)
102
102
  isettings._update_cloud_sqlite_file(unlock_cloud_sqlite=False)
103
103
  elif init:
104
+ global IS_MIGRATING
105
+ IS_MIGRATING = True
104
106
  call_command("migrate", verbosity=0)
107
+ IS_MIGRATING = False
105
108
 
106
109
  global IS_SETUP
107
110
  IS_SETUP = True
@@ -7,8 +7,7 @@ import pytest
7
7
  from lamindb_setup._connect_instance import InstanceNotFoundError
8
8
  from lamindb_setup.core._hub_client import connect_hub_with_auth
9
9
  from lamindb_setup.core._hub_crud import update_instance
10
- from laminhub_rest.core.collaborator._add_collaborator import add_collaborator
11
- from laminhub_rest.core.collaborator._delete_collaborator import delete_collaborator
10
+ from laminhub_rest.core.instance.collaborator import InstanceCollaboratorHandler
12
11
  from postgrest.exceptions import APIError
13
12
 
14
13
  # @pytest.fixture
@@ -24,15 +23,16 @@ def test_connect_after_revoked_access():
24
23
  if os.getenv("LAMIN_ENV") == "prod":
25
24
  ln_setup.login("testuser1@lamin.ai")
26
25
  admin_hub = connect_hub_with_auth()
26
+ collaborator_handler = InstanceCollaboratorHandler(admin_hub)
27
27
  try:
28
28
  # if a previous test run failed, this will
29
29
  # error with a violation of a unique constraint
30
- add_collaborator(
30
+ collaborator_handler.add_by_slug(
31
+ "laminlabs/static-test-instance-private-sqlite",
31
32
  "testuser2",
32
- "laminlabs",
33
- "static-test-instance-private-sqlite",
34
33
  "write",
35
- admin_hub,
34
+ "default",
35
+ skip_insert_user_table=True,
36
36
  )
37
37
  except APIError:
38
38
  pass
@@ -44,11 +44,8 @@ def test_connect_after_revoked_access():
44
44
  ln_setup.settings.instance.storage.root_as_str
45
45
  == "s3://lamindb-setup-private-bucket"
46
46
  )
47
- delete_collaborator(
48
- "laminlabs",
49
- "static-test-instance-private-sqlite",
50
- ln_setup.settings.user._uuid,
51
- admin_hub,
47
+ collaborator_handler.delete_by_slug(
48
+ "laminlabs/static-test-instance-private-sqlite", "testuser2"
52
49
  )
53
50
  # make the instance private
54
51
  with pytest.raises(InstanceNotFoundError):
@@ -6,7 +6,7 @@ from lamin_utils import logger
6
6
  from laminhub_rest.dev._setup_local_hub import setup_local_hub
7
7
 
8
8
  pytest_plugins = [
9
- "laminhub_rest.test.fixtures.user",
9
+ "laminhub_rest.core.account.user.test.fixtures",
10
10
  "laminhub_rest.test.fixtures.run_id",
11
11
  ]
12
12
 
@@ -34,7 +34,7 @@ from lamindb_setup.core._settings_save import save_user_settings
34
34
  from lamindb_setup.core._settings_storage import base62
35
35
  from lamindb_setup.core._settings_storage import init_storage as init_storage_base
36
36
  from lamindb_setup.core._settings_user import UserSettings
37
- from laminhub_rest.core.collaborator._add_collaborator import add_collaborator_by_ids
37
+ from laminhub_rest.core.instance.collaborator import InstanceCollaboratorHandler
38
38
  from postgrest.exceptions import APIError
39
39
 
40
40
 
@@ -196,11 +196,11 @@ def test_db_user(
196
196
  )
197
197
  assert db_collaborator is None
198
198
  # now add testreader1 as a collaborator
199
- add_collaborator_by_ids(
199
+ InstanceCollaboratorHandler(admin_client).add(
200
200
  account_id=reader_settings._uuid,
201
201
  instance_id=instance_id,
202
202
  role="read",
203
- supabase_client=admin_client,
203
+ skip_insert_user_table=True,
204
204
  )
205
205
  # check that this was successful and can be read by the reader
206
206
  db_collaborator = select_collaborator(
File without changes
File without changes