arraylake 0.26.1__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 (64) hide show
  1. arraylake-0.26.1/.gitignore +147 -0
  2. arraylake-0.26.1/PKG-INFO +58 -0
  3. arraylake-0.26.1/README.md +22 -0
  4. arraylake-0.26.1/arraylake/__init__.py +25 -0
  5. arraylake-0.26.1/arraylake/__main__.py +3 -0
  6. arraylake-0.26.1/arraylake/_version.py +34 -0
  7. arraylake-0.26.1/arraylake/api_utils.py +672 -0
  8. arraylake-0.26.1/arraylake/asyn.py +248 -0
  9. arraylake-0.26.1/arraylake/cli/__init__.py +0 -0
  10. arraylake-0.26.1/arraylake/cli/auth.py +114 -0
  11. arraylake-0.26.1/arraylake/cli/compute.py +188 -0
  12. arraylake-0.26.1/arraylake/cli/config.py +201 -0
  13. arraylake-0.26.1/arraylake/cli/main.py +46 -0
  14. arraylake-0.26.1/arraylake/cli/repo.py +472 -0
  15. arraylake-0.26.1/arraylake/cli/utils.py +286 -0
  16. arraylake-0.26.1/arraylake/client.py +1593 -0
  17. arraylake-0.26.1/arraylake/compute/doctor.py +262 -0
  18. arraylake-0.26.1/arraylake/compute/http_client.py +140 -0
  19. arraylake-0.26.1/arraylake/compute/services.py +177 -0
  20. arraylake-0.26.1/arraylake/compute/types.py +116 -0
  21. arraylake-0.26.1/arraylake/config.py +26 -0
  22. arraylake-0.26.1/arraylake/config.yaml +8 -0
  23. arraylake-0.26.1/arraylake/credentials.py +62 -0
  24. arraylake-0.26.1/arraylake/diagnostics.py +147 -0
  25. arraylake-0.26.1/arraylake/display/__init__.py +0 -0
  26. arraylake-0.26.1/arraylake/display/repo.py +53 -0
  27. arraylake-0.26.1/arraylake/display/repolist.py +115 -0
  28. arraylake-0.26.1/arraylake/exceptions.py +39 -0
  29. arraylake-0.26.1/arraylake/log_util.py +30 -0
  30. arraylake-0.26.1/arraylake/metastore/__init__.py +1 -0
  31. arraylake-0.26.1/arraylake/metastore/abc.py +45 -0
  32. arraylake-0.26.1/arraylake/metastore/http_metastore.py +245 -0
  33. arraylake-0.26.1/arraylake/py.typed +0 -0
  34. arraylake-0.26.1/arraylake/repos/__init__.py +0 -0
  35. arraylake-0.26.1/arraylake/repos/icechunk/__init__.py +0 -0
  36. arraylake-0.26.1/arraylake/repos/icechunk/storage.py +285 -0
  37. arraylake-0.26.1/arraylake/repos/icechunk/types.py +137 -0
  38. arraylake-0.26.1/arraylake/repos/icechunk/virtual.py +225 -0
  39. arraylake-0.26.1/arraylake/token.py +363 -0
  40. arraylake-0.26.1/arraylake/tuning.py +246 -0
  41. arraylake-0.26.1/arraylake/types.py +867 -0
  42. arraylake-0.26.1/pyproject.toml +159 -0
  43. arraylake-0.26.1/tests/__init__.py +35 -0
  44. arraylake-0.26.1/tests/compute/test_client.py +130 -0
  45. arraylake-0.26.1/tests/compute/test_doctor.py +173 -0
  46. arraylake-0.26.1/tests/config.yaml +6 -0
  47. arraylake-0.26.1/tests/conftest.py +633 -0
  48. arraylake-0.26.1/tests/icechunk/__init__.py +0 -0
  49. arraylake-0.26.1/tests/icechunk/conftest.py +93 -0
  50. arraylake-0.26.1/tests/icechunk/test_storage.py +182 -0
  51. arraylake-0.26.1/tests/icechunk/test_virtual.py +39 -0
  52. arraylake-0.26.1/tests/test_api_utils.py +1042 -0
  53. arraylake-0.26.1/tests/test_asyn.py +66 -0
  54. arraylake-0.26.1/tests/test_cli.py +424 -0
  55. arraylake-0.26.1/tests/test_client.py +1258 -0
  56. arraylake-0.26.1/tests/test_config.py +21 -0
  57. arraylake-0.26.1/tests/test_credentials.py +49 -0
  58. arraylake-0.26.1/tests/test_diagnostics.py +89 -0
  59. arraylake-0.26.1/tests/test_performance.py +68 -0
  60. arraylake-0.26.1/tests/test_subscriptions.py +94 -0
  61. arraylake-0.26.1/tests/test_token_handler.py +434 -0
  62. arraylake-0.26.1/tests/test_types.py +119 -0
  63. arraylake-0.26.1/tests/test_virtual_chunks.py +592 -0
  64. arraylake-0.26.1/uv.lock +3079 -0
@@ -0,0 +1,147 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ pip-wheel-metadata/
24
+ share/python-wheels/
25
+ *.egg-info/
26
+ .installed.cfg
27
+ *.egg
28
+ MANIFEST
29
+
30
+ # PyInstaller
31
+ # Usually these files are written by a python script from a template
32
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
33
+ *.manifest
34
+ *.spec
35
+
36
+ # Installer logs
37
+ pip-log.txt
38
+ pip-delete-this-directory.txt
39
+
40
+ # Unit test / coverage reports
41
+ htmlcov/
42
+ .tox/
43
+ .nox/
44
+ .coverage
45
+ .coverage.*
46
+ .cache
47
+ nosetests.xml
48
+ coverage.xml
49
+ *.cover
50
+ *.py,cover
51
+ .hypothesis/
52
+ .pytest_cache/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ target/
76
+
77
+ # Jupyter Notebook
78
+ .ipynb_checkpoints
79
+
80
+ # IPython
81
+ profile_default/
82
+ ipython_config.py
83
+
84
+ # pyenv
85
+ .python-version
86
+
87
+ # pipenv
88
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
89
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
90
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
91
+ # install all needed dependencies.
92
+ #Pipfile.lock
93
+ poetry.lock
94
+
95
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow
96
+ __pypackages__/
97
+
98
+ # Celery stuff
99
+ celerybeat-schedule
100
+ celerybeat.pid
101
+
102
+ # SageMath parsed files
103
+ *.sage.py
104
+
105
+ # Environments
106
+ .env
107
+ .venv
108
+ env/
109
+ venv/
110
+ ENV/
111
+ env.bak/
112
+ venv.bak/
113
+ # customize cognito keypairs to use for local auth
114
+ .env-cognito-keypairs.yaml
115
+
116
+ # Spyder project settings
117
+ .spyderproject
118
+ .spyproject
119
+
120
+ # Rope project settings
121
+ .ropeproject
122
+
123
+ # mkdocs documentation
124
+ /site
125
+
126
+ # mypy
127
+ .mypy_cache/
128
+ .dmypy.json
129
+ dmypy.json
130
+
131
+ # Pyre type checker
132
+ .pyre/
133
+
134
+ # auto-generated API docs
135
+ web/docs/reference
136
+ web/.yarn
137
+ **/node_modules
138
+ .vercel
139
+
140
+ # hatch vcs artifacts
141
+ utils/src/arraylake_utils/_version.py
142
+ client/arraylake/_version.py
143
+
144
+ *.DS_Store
145
+
146
+ # claude
147
+ **/.claude/
@@ -0,0 +1,58 @@
1
+ Metadata-Version: 2.4
2
+ Name: arraylake
3
+ Version: 0.26.1
4
+ Summary: Python client for ArrayLake
5
+ Project-URL: Documentation, https://docs.earthmover.io/
6
+ Project-URL: Changelog, https://docs.earthmover.io/changelog
7
+ Author-email: Joseph Hamman <joe@earthmover.io>
8
+ License-Expression: MIT
9
+ Classifier: Programming Language :: Python
10
+ Classifier: Programming Language :: Python :: 3.11
11
+ Classifier: Programming Language :: Python :: 3.12
12
+ Classifier: Programming Language :: Python :: 3.13
13
+ Requires-Python: <3.14,>=3.11
14
+ Requires-Dist: click<9.0,>=8.1.3
15
+ Requires-Dist: donfig<1.0,>=0.7
16
+ Requires-Dist: httpx<0.28,>=0.23
17
+ Requires-Dist: icechunk<2.0.0,>=1.1.0
18
+ Requires-Dist: numpy<3.0,>=1.23
19
+ Requires-Dist: packaging<26.0,>=23.0
20
+ Requires-Dist: pydantic[email]<3.0,>=2.9
21
+ Requires-Dist: python-dateutil<3.0,>=2.8
22
+ Requires-Dist: rich<15.0,>=12.6
23
+ Requires-Dist: ruamel-yaml<1.0,>=0.17
24
+ Requires-Dist: structlog<26.0,>=24.1
25
+ Requires-Dist: typer<1.0,>=0.12.0
26
+ Requires-Dist: zarr<4.0,>=3.1.0
27
+ Provides-Extra: maximal
28
+ Requires-Dist: cf-xarray>=0.10.4; extra == 'maximal'
29
+ Requires-Dist: numpy<2.3; extra == 'maximal'
30
+ Requires-Dist: pyarrow<22; extra == 'maximal'
31
+ Requires-Dist: xarray[complete]>=2024.10.0; extra == 'maximal'
32
+ Provides-Extra: xarray
33
+ Requires-Dist: cf-xarray>=0.10.4; extra == 'xarray'
34
+ Requires-Dist: xarray>=2024.10.0; extra == 'xarray'
35
+ Description-Content-Type: text/markdown
36
+
37
+ <p align="center">
38
+ <img src="https://earthmover-web-assets.s3.amazonaws.com/04-Arraylake-Lockup-Midnight-RGB-LARGE.png" width="80%" alt="Arraylake">
39
+ </p>
40
+
41
+ <p align="center">
42
+ <a href="https://earthmover.io" rel="nofollow">earthmover.io</a> -
43
+ <a href="https://docs.earthmover.io" rel="nofollow">documentation</a>
44
+ </p>
45
+
46
+ Arraylake is a cloud-based platform that understands a wide array of multidimensional scientific data. Organize, analyze, build, and collaborate—effortlessly.
47
+
48
+ Check out the [documentation](https://docs.earthmover.io) to get started.
49
+
50
+ ## Install
51
+
52
+ ```
53
+ # using pip
54
+ pip install arraylake
55
+
56
+ # using conda
57
+ conda install arraylake
58
+ ```
@@ -0,0 +1,22 @@
1
+ <p align="center">
2
+ <img src="https://earthmover-web-assets.s3.amazonaws.com/04-Arraylake-Lockup-Midnight-RGB-LARGE.png" width="80%" alt="Arraylake">
3
+ </p>
4
+
5
+ <p align="center">
6
+ <a href="https://earthmover.io" rel="nofollow">earthmover.io</a> -
7
+ <a href="https://docs.earthmover.io" rel="nofollow">documentation</a>
8
+ </p>
9
+
10
+ Arraylake is a cloud-based platform that understands a wide array of multidimensional scientific data. Organize, analyze, build, and collaborate—effortlessly.
11
+
12
+ Check out the [documentation](https://docs.earthmover.io) to get started.
13
+
14
+ ## Install
15
+
16
+ ```
17
+ # using pip
18
+ pip install arraylake
19
+
20
+ # using conda
21
+ conda install arraylake
22
+ ```
@@ -0,0 +1,25 @@
1
+ import importlib.metadata
2
+
3
+ from arraylake.client import AsyncClient, Client
4
+ from arraylake.config import config
5
+ from arraylake.exceptions import (
6
+ ArraylakeClientError,
7
+ ArraylakeHttpError,
8
+ ArraylakeServerError,
9
+ ArraylakeValidationError,
10
+ )
11
+
12
+ __version__ = importlib.metadata.version("arraylake")
13
+
14
+
15
+ __all__ = [
16
+ "__version__",
17
+ "AsyncClient",
18
+ "Client",
19
+ "config",
20
+ "repo",
21
+ "ArraylakeHttpError",
22
+ "ArraylakeClientError",
23
+ "ArraylakeServerError",
24
+ "ArraylakeValidationError",
25
+ ]
@@ -0,0 +1,3 @@
1
+ from arraylake.cli.main import app
2
+
3
+ app(prog_name="arraylake")
@@ -0,0 +1,34 @@
1
+ # file generated by setuptools-scm
2
+ # don't change, don't track in version control
3
+
4
+ __all__ = [
5
+ "__version__",
6
+ "__version_tuple__",
7
+ "version",
8
+ "version_tuple",
9
+ "__commit_id__",
10
+ "commit_id",
11
+ ]
12
+
13
+ TYPE_CHECKING = False
14
+ if TYPE_CHECKING:
15
+ from typing import Tuple
16
+ from typing import Union
17
+
18
+ VERSION_TUPLE = Tuple[Union[int, str], ...]
19
+ COMMIT_ID = Union[str, None]
20
+ else:
21
+ VERSION_TUPLE = object
22
+ COMMIT_ID = object
23
+
24
+ version: str
25
+ __version__: str
26
+ __version_tuple__: VERSION_TUPLE
27
+ version_tuple: VERSION_TUPLE
28
+ commit_id: COMMIT_ID
29
+ __commit_id__: COMMIT_ID
30
+
31
+ __version__ = version = '0.26.1'
32
+ __version_tuple__ = version_tuple = (0, 26, 1)
33
+
34
+ __commit_id__ = commit_id = None