core-lens 0.1.dev178__tar.gz → 0.1.dev180__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.dev178 → core_lens-0.1.dev180}/PKG-INFO +1 -1
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/_version.py +2 -2
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/entities/tehsil.py +25 -17
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_entities.py +12 -6
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.github/ISSUE_TEMPLATE/blank-proposal.yaml +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.github/ISSUE_TEMPLATE/bug-report.yaml +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.github/ISSUE_TEMPLATE/feature-request.yaml +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.github/pull_request_template.md +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.github/workflows/ci.yml +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.github/workflows/gh-pages.yml +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.github/workflows/pre-release.yml +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.github/workflows/release.yml +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.gitignore +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.gitmessage +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.pre-commit-config.yaml +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.python-version +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/CONTRIBUTING.md +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/LICENSE +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/README.md +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/SKILLS.md +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/benchmarks/README.md +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/benchmarks/bench_aoi.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/benchmarks/bench_entity.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/benchmarks/bench_export.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/benchmarks/bench_polars_utils.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/benchmarks/bench_result.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/benchmarks/bench_schema.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/benchmarks/bench_season.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/benchmarks/bench_spatial.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/benchmarks/bench_view.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/benchmarks/run_all.sh +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/Makefile +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/make.bat +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/source/concepts.md +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/source/conf.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/source/export.md +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/source/index.rst +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/source/intro.md +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/source/logging.md +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/source/plots.md +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/source/plugins.md +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/source/queries.md +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/source/quickstart.md +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/source/stats.md +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/examples/demo_mws.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/examples/demo_tehsil.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/hooks/mypy.sh +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/hooks/no-parquet-outside-fixtures.sh +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/hooks/pytest.sh +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/pyproject.toml +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/__init__.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/__main__.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/aoi.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/base/__init__.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/base/entity.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/base/namespaces/__init__.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/base/namespaces/plot.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/base/namespaces/stats.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/base/result.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/base/view.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/entities/__init__.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/entities/mws.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/entities/waterbody.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/export/__init__.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/export/formats.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/py.typed +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/schema/__init__.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/schema/detection.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/schema/profile.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/utils/__init__.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/utils/paths.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/utils/polars_utils.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/utils/season.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/utils/spatial.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/fixtures/generate_fixtures.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/conftest.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_aoi.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_entity.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_export.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_main.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_plot.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_polars_utils.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_profile.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_result.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_schema_detection.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_schema_profile.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_season.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_season_config.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_spatial.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_stats.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_view.py +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/usage.md +0 -0
- {core_lens-0.1.dev178 → core_lens-0.1.dev180}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: core-lens
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.dev180
|
|
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.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 1, '
|
|
21
|
+
__version__ = version = '0.1.dev180'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 1, 'dev180')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -7,12 +7,15 @@ from core_lens.schema.profile import SchemaProfile
|
|
|
7
7
|
class TehsilEntity(BaseEntity):
|
|
8
8
|
"""Tehsil administrative boundary entity.
|
|
9
9
|
|
|
10
|
-
Static file columns:
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
Static file columns (from parquet schema):
|
|
11
|
+
tehsil_id — unique tehsil key
|
|
12
|
+
tehsil — tehsil name
|
|
13
|
+
district — parent district name
|
|
14
|
+
state — parent state name
|
|
15
|
+
shape_area — polygon area
|
|
16
|
+
shape_length — polygon perimeter
|
|
17
|
+
geometry — WKB geometry
|
|
18
|
+
bbox — struct<xmin, ymin, xmax, ymax> pre-computed bounds
|
|
16
19
|
"""
|
|
17
20
|
|
|
18
21
|
@property
|
|
@@ -23,7 +26,7 @@ class TehsilEntity(BaseEntity):
|
|
|
23
26
|
list[str]: The key columns for the entity.
|
|
24
27
|
|
|
25
28
|
"""
|
|
26
|
-
return ["
|
|
29
|
+
return ["tehsil_id"]
|
|
27
30
|
|
|
28
31
|
@property
|
|
29
32
|
def geometry_col(self) -> str:
|
|
@@ -33,7 +36,7 @@ class TehsilEntity(BaseEntity):
|
|
|
33
36
|
str: The geometry column name.
|
|
34
37
|
|
|
35
38
|
"""
|
|
36
|
-
return "
|
|
39
|
+
return "geometry"
|
|
37
40
|
|
|
38
41
|
@property
|
|
39
42
|
def static_path(self) -> str:
|
|
@@ -43,7 +46,7 @@ class TehsilEntity(BaseEntity):
|
|
|
43
46
|
str: The relative path to the static data.
|
|
44
47
|
|
|
45
48
|
"""
|
|
46
|
-
return "tehsil/static
|
|
49
|
+
return "tehsil/static.parquet"
|
|
47
50
|
|
|
48
51
|
@property
|
|
49
52
|
def schema_profile(self) -> SchemaProfile:
|
|
@@ -55,18 +58,23 @@ class TehsilEntity(BaseEntity):
|
|
|
55
58
|
"""
|
|
56
59
|
if not hasattr(self, "_schema_profile"):
|
|
57
60
|
self._schema_profile = SchemaProfile(
|
|
58
|
-
key_cols=["
|
|
59
|
-
geometry_col="
|
|
61
|
+
key_cols=["tehsil_id"],
|
|
62
|
+
geometry_col="geometry",
|
|
60
63
|
geometry_type="wkb",
|
|
61
64
|
annual_time_col=None,
|
|
62
65
|
sub_annual_time_col=None,
|
|
63
|
-
bbox_cols=
|
|
66
|
+
bbox_cols=(
|
|
67
|
+
"bbox.xmin",
|
|
68
|
+
"bbox.ymin",
|
|
69
|
+
"bbox.xmax",
|
|
70
|
+
"bbox.ymax",
|
|
71
|
+
),
|
|
64
72
|
extra_static_cols=[
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"
|
|
69
|
-
"
|
|
73
|
+
"tehsil",
|
|
74
|
+
"district",
|
|
75
|
+
"state",
|
|
76
|
+
"shape_area",
|
|
77
|
+
"shape_length",
|
|
70
78
|
],
|
|
71
79
|
)
|
|
72
80
|
return self._schema_profile
|
|
@@ -7,18 +7,24 @@ from core_lens.schema.profile import SchemaProfile
|
|
|
7
7
|
|
|
8
8
|
def test_tehsil_entity() -> None:
|
|
9
9
|
entity = TehsilEntity()
|
|
10
|
-
assert entity.key_cols == ["
|
|
11
|
-
assert entity.geometry_col == "
|
|
12
|
-
assert entity.static_path == "tehsil/static
|
|
10
|
+
assert entity.key_cols == ["tehsil_id"]
|
|
11
|
+
assert entity.geometry_col == "geometry"
|
|
12
|
+
assert entity.static_path == "tehsil/static.parquet"
|
|
13
13
|
assert entity.annual_path is None
|
|
14
14
|
assert entity.sub_annual_path is None
|
|
15
15
|
|
|
16
16
|
# Check schema profile override
|
|
17
17
|
profile = entity.schema_profile
|
|
18
18
|
assert isinstance(profile, SchemaProfile)
|
|
19
|
-
assert profile.key_cols == ["
|
|
20
|
-
assert profile.geometry_col == "
|
|
21
|
-
assert
|
|
19
|
+
assert profile.key_cols == ["tehsil_id"]
|
|
20
|
+
assert profile.geometry_col == "geometry"
|
|
21
|
+
assert profile.extra_static_cols == [
|
|
22
|
+
"tehsil",
|
|
23
|
+
"district",
|
|
24
|
+
"state",
|
|
25
|
+
"shape_area",
|
|
26
|
+
"shape_length",
|
|
27
|
+
]
|
|
22
28
|
|
|
23
29
|
|
|
24
30
|
def test_mws_entity() -> None:
|
|
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
|
|
File without changes
|