core-lens 0.1.dev163__tar.gz → 0.1.dev164__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 (91) hide show
  1. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/PKG-INFO +1 -1
  2. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/_version.py +2 -2
  3. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/base/entity.py +8 -2
  4. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/.github/ISSUE_TEMPLATE/blank-proposal.yaml +0 -0
  5. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/.github/ISSUE_TEMPLATE/bug-report.yaml +0 -0
  6. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/.github/ISSUE_TEMPLATE/feature-request.yaml +0 -0
  7. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/.github/pull_request_template.md +0 -0
  8. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/.github/workflows/ci.yml +0 -0
  9. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/.github/workflows/gh-pages.yml +0 -0
  10. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/.github/workflows/pre-release.yml +0 -0
  11. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/.github/workflows/release.yml +0 -0
  12. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/.gitignore +0 -0
  13. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/.gitmessage +0 -0
  14. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/.pre-commit-config.yaml +0 -0
  15. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/.python-version +0 -0
  16. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/CONTRIBUTING.md +0 -0
  17. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/LICENSE +0 -0
  18. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/README.md +0 -0
  19. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/SKILLS.md +0 -0
  20. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/benchmarks/README.md +0 -0
  21. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/benchmarks/bench_aoi.py +0 -0
  22. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/benchmarks/bench_export.py +0 -0
  23. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/benchmarks/bench_polars_utils.py +0 -0
  24. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/benchmarks/bench_result.py +0 -0
  25. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/benchmarks/bench_schema.py +0 -0
  26. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/benchmarks/bench_season.py +0 -0
  27. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/benchmarks/bench_spatial.py +0 -0
  28. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/benchmarks/bench_view.py +0 -0
  29. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/benchmarks/run_all.sh +0 -0
  30. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/docs/Makefile +0 -0
  31. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/docs/make.bat +0 -0
  32. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/docs/source/concepts.md +0 -0
  33. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/docs/source/conf.py +0 -0
  34. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/docs/source/export.md +0 -0
  35. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/docs/source/index.rst +0 -0
  36. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/docs/source/intro.md +0 -0
  37. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/docs/source/logging.md +0 -0
  38. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/docs/source/plots.md +0 -0
  39. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/docs/source/plugins.md +0 -0
  40. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/docs/source/queries.md +0 -0
  41. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/docs/source/quickstart.md +0 -0
  42. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/docs/source/stats.md +0 -0
  43. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/examples/demo_mws.py +0 -0
  44. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/examples/demo_tehsil.py +0 -0
  45. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/hooks/mypy.sh +0 -0
  46. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/hooks/no-parquet-outside-fixtures.sh +0 -0
  47. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/hooks/pytest.sh +0 -0
  48. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/pyproject.toml +0 -0
  49. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/__init__.py +0 -0
  50. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/__main__.py +0 -0
  51. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/aoi.py +0 -0
  52. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/base/__init__.py +0 -0
  53. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/base/namespaces/__init__.py +0 -0
  54. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/base/namespaces/plot.py +0 -0
  55. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/base/namespaces/stats.py +0 -0
  56. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/base/result.py +0 -0
  57. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/base/view.py +0 -0
  58. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/entities/__init__.py +0 -0
  59. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/entities/mws.py +0 -0
  60. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/entities/tehsil.py +0 -0
  61. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/entities/waterbody.py +0 -0
  62. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/export/__init__.py +0 -0
  63. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/export/formats.py +0 -0
  64. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/py.typed +0 -0
  65. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/schema/__init__.py +0 -0
  66. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/schema/detection.py +0 -0
  67. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/schema/profile.py +0 -0
  68. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/utils/__init__.py +0 -0
  69. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/utils/paths.py +0 -0
  70. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/utils/polars_utils.py +0 -0
  71. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/utils/season.py +0 -0
  72. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/src/core_lens/utils/spatial.py +0 -0
  73. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/tests/fixtures/generate_fixtures.py +0 -0
  74. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/tests/unit/conftest.py +0 -0
  75. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/tests/unit/test_aoi.py +0 -0
  76. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/tests/unit/test_entities.py +0 -0
  77. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/tests/unit/test_entity.py +0 -0
  78. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/tests/unit/test_export.py +0 -0
  79. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/tests/unit/test_main.py +0 -0
  80. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/tests/unit/test_plot.py +0 -0
  81. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/tests/unit/test_polars_utils.py +0 -0
  82. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/tests/unit/test_profile.py +0 -0
  83. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/tests/unit/test_result.py +0 -0
  84. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/tests/unit/test_schema_detection.py +0 -0
  85. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/tests/unit/test_schema_profile.py +0 -0
  86. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/tests/unit/test_season.py +0 -0
  87. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/tests/unit/test_season_config.py +0 -0
  88. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/tests/unit/test_spatial.py +0 -0
  89. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/tests/unit/test_stats.py +0 -0
  90. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/tests/unit/test_view.py +0 -0
  91. {core_lens-0.1.dev163 → core_lens-0.1.dev164}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: core-lens
3
- Version: 0.1.dev163
3
+ Version: 0.1.dev164
4
4
  Summary: Query, analyse, and visualise CoreStack's microwatershed and Earth science data through a clean, composable Python API.
5
5
  Project-URL: Homepage, https://github.com/ApoorvaKashyap/core-lens
6
6
  Project-URL: Issues, https://github.com/ApoorvaKashyap/core-lens/issues
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '0.1.dev163'
22
- __version_tuple__ = version_tuple = (0, 1, 'dev163')
21
+ __version__ = version = '0.1.dev164'
22
+ __version_tuple__ = version_tuple = (0, 1, 'dev164')
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -226,13 +226,15 @@ class BaseEntity(ABC):
226
226
  FileNotFoundError: For *local* paths that do not exist after resolution.
227
227
 
228
228
  """
229
+ import pathlib as _pathlib
230
+
229
231
  # Fully-qualified cloud URI — return as-is.
230
232
  if is_cloud_uri(path):
233
+ if not path.endswith("/") and not _pathlib.Path(path).suffix:
234
+ return path + "/"
231
235
  return path
232
236
 
233
237
  # Relative path — join against data_root (which may itself be a cloud URI).
234
- import pathlib as _pathlib
235
-
236
238
  p = _pathlib.Path(path)
237
239
  if not p.is_absolute():
238
240
  root = (
@@ -244,6 +246,10 @@ class BaseEntity(ABC):
244
246
  else:
245
247
  resolved = str(p)
246
248
 
249
+ # Polars cloud directory scanning requires a trailing slash.
250
+ if is_cloud_uri(resolved) and not resolved.endswith("/") and not p.suffix:
251
+ resolved += "/"
252
+
247
253
  # For local resolved paths only: eager existence check.
248
254
  if not is_cloud_uri(resolved) and not path_exists(resolved):
249
255
  if path_exists(resolved + ".parquet"):
File without changes
File without changes
File without changes
File without changes