core-lens 0.1.dev198__tar.gz → 0.1.dev200__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 (94) hide show
  1. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/PKG-INFO +1 -1
  2. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/SKILLS.md +3 -2
  3. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/source/quickstart.md +2 -4
  4. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/_version.py +2 -2
  5. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/base/result.py +1 -1
  6. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/entities/farms.py +2 -2
  7. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.github/ISSUE_TEMPLATE/blank-proposal.yaml +0 -0
  8. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.github/ISSUE_TEMPLATE/bug-report.yaml +0 -0
  9. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.github/ISSUE_TEMPLATE/feature-request.yaml +0 -0
  10. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.github/pull_request_template.md +0 -0
  11. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.github/workflows/ci.yml +0 -0
  12. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.github/workflows/gh-pages.yml +0 -0
  13. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.github/workflows/pre-release.yml +0 -0
  14. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.github/workflows/release.yml +0 -0
  15. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.gitignore +0 -0
  16. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.gitmessage +0 -0
  17. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.pre-commit-config.yaml +0 -0
  18. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.python-version +0 -0
  19. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/CONTRIBUTING.md +0 -0
  20. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/LICENSE +0 -0
  21. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/README.md +0 -0
  22. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/benchmarks/README.md +0 -0
  23. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/benchmarks/bench_aoi.py +0 -0
  24. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/benchmarks/bench_entity.py +0 -0
  25. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/benchmarks/bench_export.py +0 -0
  26. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/benchmarks/bench_polars_utils.py +0 -0
  27. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/benchmarks/bench_result.py +0 -0
  28. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/benchmarks/bench_schema.py +0 -0
  29. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/benchmarks/bench_season.py +0 -0
  30. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/benchmarks/bench_spatial.py +0 -0
  31. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/benchmarks/bench_view.py +0 -0
  32. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/benchmarks/run_all.sh +0 -0
  33. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/Makefile +0 -0
  34. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/make.bat +0 -0
  35. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/source/concepts.md +0 -0
  36. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/source/conf.py +0 -0
  37. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/source/export.md +0 -0
  38. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/source/index.rst +0 -0
  39. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/source/intro.md +0 -0
  40. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/source/logging.md +0 -0
  41. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/source/plots.md +0 -0
  42. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/source/plugins.md +0 -0
  43. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/source/queries.md +0 -0
  44. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/source/stats.md +0 -0
  45. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/examples/demo_mws.py +0 -0
  46. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/examples/demo_tehsil.py +0 -0
  47. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/hooks/mypy.sh +0 -0
  48. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/hooks/no-parquet-outside-fixtures.sh +0 -0
  49. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/hooks/pytest.sh +0 -0
  50. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/pyproject.toml +0 -0
  51. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/__init__.py +0 -0
  52. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/__main__.py +0 -0
  53. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/aoi.py +0 -0
  54. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/base/__init__.py +0 -0
  55. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/base/entity.py +0 -0
  56. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/base/namespaces/__init__.py +0 -0
  57. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/base/namespaces/plot.py +0 -0
  58. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/base/namespaces/stats.py +0 -0
  59. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/base/view.py +0 -0
  60. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/entities/__init__.py +0 -0
  61. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/entities/mws.py +0 -0
  62. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/entities/tehsil.py +0 -0
  63. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/entities/waterbody.py +0 -0
  64. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/export/__init__.py +0 -0
  65. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/export/formats.py +0 -0
  66. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/py.typed +0 -0
  67. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/schema/__init__.py +0 -0
  68. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/schema/detection.py +0 -0
  69. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/schema/profile.py +0 -0
  70. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/utils/__init__.py +0 -0
  71. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/utils/paths.py +0 -0
  72. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/utils/polars_utils.py +0 -0
  73. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/utils/season.py +0 -0
  74. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/utils/spatial.py +0 -0
  75. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/fixtures/generate_fixtures.py +0 -0
  76. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/conftest.py +0 -0
  77. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_aoi.py +0 -0
  78. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_entities.py +0 -0
  79. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_entity.py +0 -0
  80. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_export.py +0 -0
  81. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_main.py +0 -0
  82. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_plot.py +0 -0
  83. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_polars_utils.py +0 -0
  84. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_profile.py +0 -0
  85. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_result.py +0 -0
  86. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_schema_detection.py +0 -0
  87. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_schema_profile.py +0 -0
  88. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_season.py +0 -0
  89. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_season_config.py +0 -0
  90. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_spatial.py +0 -0
  91. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_stats.py +0 -0
  92. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_view.py +0 -0
  93. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/usage.md +0 -0
  94. {core_lens-0.1.dev198 → core_lens-0.1.dev200}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: core-lens
3
- Version: 0.1.dev198
3
+ Version: 0.1.dev200
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
@@ -71,7 +71,7 @@ Entities on the `AoI` object are accessed as **Views**. Views are lazy and can b
71
71
  # Access the view
72
72
  mws_view = aoi.mws
73
73
 
74
- # Attribute Filtering
74
+ # Attribute Filtering (supports exact match, lists, and automatically casts to match column dtype)
75
75
  filtered = mws_view.where(state="Himachal Pradesh")
76
76
 
77
77
  # Spatial Filtering (inside the AoI)
@@ -200,7 +200,7 @@ result.stats.similarity(
200
200
 
201
201
  ## 8. Plotting and Visualization (`Result.plot`)
202
202
 
203
- Plots are explicitly accessed via the `result.plot` namespace. Maps use Lonboard (requires geometry); charts use Plotly. By default, charts render the top 10 entities.
203
+ Plots are explicitly accessed via the `result.plot` namespace. Maps use Lonboard (requires geometry); charts use Bokeh. By default, charts render the top 10 entities.
204
204
 
205
205
  ```python
206
206
  # Map plotting (Requires result.with_geometry() to have been called for time-series)
@@ -268,3 +268,4 @@ AoI.register(CustomEntity)
268
268
  - **DO NOT** forget to import and register entities before initializing the `AoI`.
269
269
  - **DO** use Polars expressions (`import polars as pl`) inside `.derive()` and `.aggregate()` methods for maximum performance.
270
270
  - **DO** always read parameters/testing metrics from `result.metadata` and underlying stats from `result.data` after running any methods in `result.stats`.
271
+ - **DO NOT** rely on implicit type coercion in queries — `core-lens` requires strictly typed operands under Polars 2.0+.
@@ -6,10 +6,8 @@
6
6
  pip install core-lens
7
7
  ```
8
8
 
9
- To enable GPU-accelerated queries (requires an NVIDIA GPU and Linux), install with the `gpu` extra. You will need to configure your package manager to use the NVIDIA PyPI index for RAPIDS dependencies:
10
-
11
- ```bash
12
- pip install "core-lens[gpu]" --extra-index-url=https://pypi.nvidia.com
9
+ ```{note}
10
+ GPU acceleration (`core-lens[gpu]` via `cudf-polars`) is temporarily paused pending an upstream NVIDIA RAPIDS release supporting Polars 2.0+. Queries currently execute via Polars' CPU streaming and in-memory engine.
13
11
  ```
14
12
 
15
13
  ## Basic Usage
@@ -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.dev198'
22
- __version_tuple__ = version_tuple = (0, 1, 'dev198')
21
+ __version__ = version = '0.1.dev200'
22
+ __version_tuple__ = version_tuple = (0, 1, 'dev200')
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -335,7 +335,7 @@ class Result:
335
335
  def plot(self) -> "PlotNamespace":
336
336
  """Return the visualisation namespace for this result.
337
337
 
338
- Methods here return Lonboard or Plotly objects.
338
+ Methods here return Lonboard or Bokeh objects.
339
339
 
340
340
  Example::
341
341
 
@@ -50,7 +50,7 @@ class FarmEntity(BaseEntity):
50
50
  str: The relative path to the annual data.
51
51
 
52
52
  """
53
- return "farms/annual.parquet"
53
+ return "farms/annual/"
54
54
 
55
55
  @property
56
56
  def sub_annual_path(self) -> str:
@@ -60,4 +60,4 @@ class FarmEntity(BaseEntity):
60
60
  str: The relative path to the monthly data.
61
61
 
62
62
  """
63
- return "farms/sub_annual.parquet"
63
+ return "farms/sub_annual/"
File without changes
File without changes
File without changes
File without changes