core-lens 0.1.dev100__tar.gz → 0.1.dev101__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 (74) hide show
  1. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/PKG-INFO +1 -1
  2. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/_version.py +2 -2
  3. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/aoi.py +6 -3
  4. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/.github/pull_request_template.md +0 -0
  5. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/.github/workflows/ci.yml +0 -0
  6. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/.github/workflows/gh-pages.yml +0 -0
  7. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/.github/workflows/pre-release.yml +0 -0
  8. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/.github/workflows/release.yml +0 -0
  9. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/.gitignore +0 -0
  10. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/.gitmessage +0 -0
  11. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/.pre-commit-config.yaml +0 -0
  12. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/.python-version +0 -0
  13. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/CONTRIBUTING.md +0 -0
  14. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/LICENSE +0 -0
  15. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/README.md +0 -0
  16. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/SKILLS.md +0 -0
  17. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/docs/Makefile +0 -0
  18. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/docs/make.bat +0 -0
  19. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/docs/source/concepts.md +0 -0
  20. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/docs/source/conf.py +0 -0
  21. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/docs/source/index.rst +0 -0
  22. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/docs/source/intro.md +0 -0
  23. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/docs/source/plots.md +0 -0
  24. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/docs/source/plugins.md +0 -0
  25. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/docs/source/queries.md +0 -0
  26. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/docs/source/quickstart.md +0 -0
  27. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/docs/source/stats.md +0 -0
  28. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/examples/demo_mws.py +0 -0
  29. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/examples/demo_tehsil.py +0 -0
  30. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/hooks/mypy.sh +0 -0
  31. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/hooks/no-parquet-outside-fixtures.sh +0 -0
  32. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/hooks/pytest.sh +0 -0
  33. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/pyproject.toml +0 -0
  34. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/__init__.py +0 -0
  35. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/__main__.py +0 -0
  36. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/base/__init__.py +0 -0
  37. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/base/entity.py +0 -0
  38. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/base/namespaces/__init__.py +0 -0
  39. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/base/namespaces/plot.py +0 -0
  40. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/base/namespaces/stats.py +0 -0
  41. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/base/result.py +0 -0
  42. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/base/view.py +0 -0
  43. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/entities/__init__.py +0 -0
  44. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/entities/mws.py +0 -0
  45. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/entities/tehsil.py +0 -0
  46. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/export/__init__.py +0 -0
  47. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/export/formats.py +0 -0
  48. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/py.typed +0 -0
  49. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/schema/__init__.py +0 -0
  50. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/schema/detection.py +0 -0
  51. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/schema/profile.py +0 -0
  52. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/utils/__init__.py +0 -0
  53. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/utils/polars_utils.py +0 -0
  54. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/utils/season.py +0 -0
  55. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/src/core_lens/utils/spatial.py +0 -0
  56. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/tests/fixtures/generate_fixtures.py +0 -0
  57. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/tests/unit/conftest.py +0 -0
  58. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/tests/unit/test_aoi.py +0 -0
  59. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/tests/unit/test_entities.py +0 -0
  60. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/tests/unit/test_entity.py +0 -0
  61. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/tests/unit/test_export.py +0 -0
  62. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/tests/unit/test_main.py +0 -0
  63. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/tests/unit/test_plot.py +0 -0
  64. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/tests/unit/test_polars_utils.py +0 -0
  65. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/tests/unit/test_profile.py +0 -0
  66. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/tests/unit/test_result.py +0 -0
  67. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/tests/unit/test_schema_detection.py +0 -0
  68. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/tests/unit/test_schema_profile.py +0 -0
  69. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/tests/unit/test_season.py +0 -0
  70. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/tests/unit/test_season_config.py +0 -0
  71. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/tests/unit/test_spatial.py +0 -0
  72. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/tests/unit/test_stats.py +0 -0
  73. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/tests/unit/test_view.py +0 -0
  74. {core_lens-0.1.dev100 → core_lens-0.1.dev101}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: core-lens
3
- Version: 0.1.dev100
3
+ Version: 0.1.dev101
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.dev100'
22
- __version_tuple__ = version_tuple = (0, 1, 'dev100')
21
+ __version__ = version = '0.1.dev101'
22
+ __version_tuple__ = version_tuple = (0, 1, 'dev101')
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -150,7 +150,7 @@ class AoI:
150
150
  bbox: tuple[float, float, float, float] | None = None,
151
151
  geometry: "shapely.Geometry | None" = None,
152
152
  seasons: SeasonConfig | None = None,
153
- **entity_kwargs: str,
153
+ **entity_kwargs: str | list[str],
154
154
  ) -> None:
155
155
  """Resolve the AoI boundary and scope all registered entities.
156
156
 
@@ -313,7 +313,7 @@ class AoI:
313
313
  )
314
314
 
315
315
  def _resolve_named_boundary(
316
- self, entity_kwargs: dict[str, str]
316
+ self, entity_kwargs: dict[str, str | list[str]]
317
317
  ) -> "shapely.Geometry":
318
318
  """Resolve a set of named attribute filters to a Shapely geometry.
319
319
 
@@ -373,7 +373,10 @@ class AoI:
373
373
  col in candidate.schema_profile.key_cols
374
374
  or col in candidate.schema_profile.extra_static_cols
375
375
  ):
376
- filter_expr = filter_expr & (pl.col(col) == val)
376
+ if isinstance(val, list):
377
+ filter_expr = filter_expr & pl.col(col).is_in(val)
378
+ else:
379
+ filter_expr = filter_expr & (pl.col(col) == val)
377
380
 
378
381
  df = lf.filter(filter_expr).select(candidate.key_cols + [geom_col]).collect()
379
382
 
File without changes
File without changes
File without changes
File without changes