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.
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/PKG-INFO +1 -1
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/SKILLS.md +3 -2
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/source/quickstart.md +2 -4
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/_version.py +2 -2
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/base/result.py +1 -1
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/entities/farms.py +2 -2
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.github/ISSUE_TEMPLATE/blank-proposal.yaml +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.github/ISSUE_TEMPLATE/bug-report.yaml +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.github/ISSUE_TEMPLATE/feature-request.yaml +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.github/pull_request_template.md +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.github/workflows/ci.yml +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.github/workflows/gh-pages.yml +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.github/workflows/pre-release.yml +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.github/workflows/release.yml +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.gitignore +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.gitmessage +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.pre-commit-config.yaml +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/.python-version +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/CONTRIBUTING.md +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/LICENSE +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/README.md +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/benchmarks/README.md +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/benchmarks/bench_aoi.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/benchmarks/bench_entity.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/benchmarks/bench_export.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/benchmarks/bench_polars_utils.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/benchmarks/bench_result.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/benchmarks/bench_schema.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/benchmarks/bench_season.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/benchmarks/bench_spatial.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/benchmarks/bench_view.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/benchmarks/run_all.sh +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/Makefile +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/make.bat +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/source/concepts.md +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/source/conf.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/source/export.md +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/source/index.rst +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/source/intro.md +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/source/logging.md +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/source/plots.md +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/source/plugins.md +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/source/queries.md +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/docs/source/stats.md +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/examples/demo_mws.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/examples/demo_tehsil.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/hooks/mypy.sh +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/hooks/no-parquet-outside-fixtures.sh +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/hooks/pytest.sh +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/pyproject.toml +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/__init__.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/__main__.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/aoi.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/base/__init__.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/base/entity.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/base/namespaces/__init__.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/base/namespaces/plot.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/base/namespaces/stats.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/base/view.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/entities/__init__.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/entities/mws.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/entities/tehsil.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/entities/waterbody.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/export/__init__.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/export/formats.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/py.typed +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/schema/__init__.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/schema/detection.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/schema/profile.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/utils/__init__.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/utils/paths.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/utils/polars_utils.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/utils/season.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/src/core_lens/utils/spatial.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/fixtures/generate_fixtures.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/conftest.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_aoi.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_entities.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_entity.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_export.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_main.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_plot.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_polars_utils.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_profile.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_result.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_schema_detection.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_schema_profile.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_season.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_season_config.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_spatial.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_stats.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/tests/unit/test_view.py +0 -0
- {core_lens-0.1.dev198 → core_lens-0.1.dev200}/usage.md +0 -0
- {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.
|
|
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
|
|
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
|
-
|
|
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.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 1, '
|
|
21
|
+
__version__ = version = '0.1.dev200'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 1, 'dev200')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -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
|
|
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
|
|
63
|
+
return "farms/sub_annual/"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|