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.
Files changed (93) hide show
  1. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/PKG-INFO +1 -1
  2. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/_version.py +2 -2
  3. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/entities/tehsil.py +25 -17
  4. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_entities.py +12 -6
  5. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.github/ISSUE_TEMPLATE/blank-proposal.yaml +0 -0
  6. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.github/ISSUE_TEMPLATE/bug-report.yaml +0 -0
  7. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.github/ISSUE_TEMPLATE/feature-request.yaml +0 -0
  8. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.github/pull_request_template.md +0 -0
  9. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.github/workflows/ci.yml +0 -0
  10. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.github/workflows/gh-pages.yml +0 -0
  11. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.github/workflows/pre-release.yml +0 -0
  12. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.github/workflows/release.yml +0 -0
  13. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.gitignore +0 -0
  14. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.gitmessage +0 -0
  15. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.pre-commit-config.yaml +0 -0
  16. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/.python-version +0 -0
  17. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/CONTRIBUTING.md +0 -0
  18. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/LICENSE +0 -0
  19. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/README.md +0 -0
  20. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/SKILLS.md +0 -0
  21. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/benchmarks/README.md +0 -0
  22. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/benchmarks/bench_aoi.py +0 -0
  23. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/benchmarks/bench_entity.py +0 -0
  24. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/benchmarks/bench_export.py +0 -0
  25. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/benchmarks/bench_polars_utils.py +0 -0
  26. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/benchmarks/bench_result.py +0 -0
  27. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/benchmarks/bench_schema.py +0 -0
  28. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/benchmarks/bench_season.py +0 -0
  29. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/benchmarks/bench_spatial.py +0 -0
  30. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/benchmarks/bench_view.py +0 -0
  31. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/benchmarks/run_all.sh +0 -0
  32. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/Makefile +0 -0
  33. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/make.bat +0 -0
  34. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/source/concepts.md +0 -0
  35. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/source/conf.py +0 -0
  36. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/source/export.md +0 -0
  37. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/source/index.rst +0 -0
  38. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/source/intro.md +0 -0
  39. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/source/logging.md +0 -0
  40. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/source/plots.md +0 -0
  41. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/source/plugins.md +0 -0
  42. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/source/queries.md +0 -0
  43. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/source/quickstart.md +0 -0
  44. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/docs/source/stats.md +0 -0
  45. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/examples/demo_mws.py +0 -0
  46. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/examples/demo_tehsil.py +0 -0
  47. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/hooks/mypy.sh +0 -0
  48. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/hooks/no-parquet-outside-fixtures.sh +0 -0
  49. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/hooks/pytest.sh +0 -0
  50. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/pyproject.toml +0 -0
  51. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/__init__.py +0 -0
  52. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/__main__.py +0 -0
  53. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/aoi.py +0 -0
  54. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/base/__init__.py +0 -0
  55. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/base/entity.py +0 -0
  56. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/base/namespaces/__init__.py +0 -0
  57. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/base/namespaces/plot.py +0 -0
  58. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/base/namespaces/stats.py +0 -0
  59. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/base/result.py +0 -0
  60. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/base/view.py +0 -0
  61. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/entities/__init__.py +0 -0
  62. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/entities/mws.py +0 -0
  63. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/entities/waterbody.py +0 -0
  64. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/export/__init__.py +0 -0
  65. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/export/formats.py +0 -0
  66. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/py.typed +0 -0
  67. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/schema/__init__.py +0 -0
  68. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/schema/detection.py +0 -0
  69. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/schema/profile.py +0 -0
  70. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/utils/__init__.py +0 -0
  71. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/utils/paths.py +0 -0
  72. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/utils/polars_utils.py +0 -0
  73. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/utils/season.py +0 -0
  74. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/src/core_lens/utils/spatial.py +0 -0
  75. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/fixtures/generate_fixtures.py +0 -0
  76. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/conftest.py +0 -0
  77. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_aoi.py +0 -0
  78. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_entity.py +0 -0
  79. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_export.py +0 -0
  80. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_main.py +0 -0
  81. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_plot.py +0 -0
  82. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_polars_utils.py +0 -0
  83. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_profile.py +0 -0
  84. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_result.py +0 -0
  85. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_schema_detection.py +0 -0
  86. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_schema_profile.py +0 -0
  87. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_season.py +0 -0
  88. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_season_config.py +0 -0
  89. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_spatial.py +0 -0
  90. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_stats.py +0 -0
  91. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/tests/unit/test_view.py +0 -0
  92. {core_lens-0.1.dev178 → core_lens-0.1.dev180}/usage.md +0 -0
  93. {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.dev178
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.dev178'
22
- __version_tuple__ = version_tuple = (0, 1, 'dev178')
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
- id — unique tehsil key
12
- TEHSIL — tehsil name
13
- District — parent district name
14
- STATE — parent state name
15
- geom WKB geometry
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 ["id"]
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 "geom"
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/tehsil.parquet"
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=["id"],
59
- geometry_col="geom",
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=None,
66
+ bbox_cols=(
67
+ "bbox.xmin",
68
+ "bbox.ymin",
69
+ "bbox.xmax",
70
+ "bbox.ymax",
71
+ ),
64
72
  extra_static_cols=[
65
- "TEHSIL",
66
- "District",
67
- "STATE",
68
- "Shape_Area",
69
- "Shape_Leng",
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 == ["id"]
11
- assert entity.geometry_col == "geom"
12
- assert entity.static_path == "tehsil/static/tehsil.parquet"
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 == ["id"]
20
- assert profile.geometry_col == "geom"
21
- assert "TEHSIL" in profile.extra_static_cols
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