core-lens 0.1.dev149__tar.gz → 0.1.dev150__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.dev149 → core_lens-0.1.dev150}/PKG-INFO +1 -1
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/_version.py +2 -2
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/base/result.py +7 -4
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/.github/ISSUE_TEMPLATE/blank-proposal.yaml +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/.github/ISSUE_TEMPLATE/bug-report.yaml +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/.github/ISSUE_TEMPLATE/feature-request.yaml +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/.github/pull_request_template.md +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/.github/workflows/ci.yml +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/.github/workflows/gh-pages.yml +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/.github/workflows/pre-release.yml +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/.github/workflows/release.yml +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/.gitignore +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/.gitmessage +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/.pre-commit-config.yaml +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/.python-version +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/CONTRIBUTING.md +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/LICENSE +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/README.md +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/SKILLS.md +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/benchmarks/README.md +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/benchmarks/bench_aoi.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/benchmarks/bench_export.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/benchmarks/bench_polars_utils.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/benchmarks/bench_result.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/benchmarks/bench_schema.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/benchmarks/bench_season.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/benchmarks/bench_spatial.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/benchmarks/bench_view.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/benchmarks/run_all.sh +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/docs/Makefile +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/docs/make.bat +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/docs/source/concepts.md +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/docs/source/conf.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/docs/source/export.md +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/docs/source/index.rst +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/docs/source/intro.md +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/docs/source/logging.md +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/docs/source/plots.md +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/docs/source/plugins.md +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/docs/source/queries.md +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/docs/source/quickstart.md +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/docs/source/stats.md +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/examples/demo_mws.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/examples/demo_tehsil.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/hooks/mypy.sh +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/hooks/no-parquet-outside-fixtures.sh +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/hooks/pytest.sh +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/pyproject.toml +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/__init__.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/__main__.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/aoi.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/base/__init__.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/base/entity.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/base/namespaces/__init__.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/base/namespaces/plot.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/base/namespaces/stats.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/base/view.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/entities/__init__.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/entities/mws.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/entities/tehsil.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/entities/waterbody.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/export/__init__.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/export/formats.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/py.typed +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/schema/__init__.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/schema/detection.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/schema/profile.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/utils/__init__.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/utils/paths.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/utils/polars_utils.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/utils/season.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/src/core_lens/utils/spatial.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/tests/fixtures/generate_fixtures.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/tests/unit/conftest.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/tests/unit/test_aoi.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/tests/unit/test_entities.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/tests/unit/test_entity.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/tests/unit/test_export.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/tests/unit/test_main.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/tests/unit/test_plot.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/tests/unit/test_polars_utils.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/tests/unit/test_profile.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/tests/unit/test_result.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/tests/unit/test_schema_detection.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/tests/unit/test_schema_profile.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/tests/unit/test_season.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/tests/unit/test_season_config.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/tests/unit/test_spatial.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/tests/unit/test_stats.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/tests/unit/test_view.py +0 -0
- {core_lens-0.1.dev149 → core_lens-0.1.dev150}/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.dev150
|
|
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.dev150'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 1, 'dev150')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -155,10 +155,13 @@ class Result:
|
|
|
155
155
|
return self
|
|
156
156
|
|
|
157
157
|
key_cols = self.key_cols
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
158
|
+
|
|
159
|
+
# We use a direct left join here instead of a semi-join intermediate step.
|
|
160
|
+
# A semi-join creates a "diamond" query graph where `self.data` must be evaluated
|
|
161
|
+
# twice by Polars. Because `self.data` can be an expensive aggregation pipeline,
|
|
162
|
+
# this caused execution times to double.
|
|
163
|
+
joined = self.data.join(self.entity.geometry_lazy, on=key_cols, how="left")
|
|
164
|
+
|
|
162
165
|
return self._replace(data=joined, has_geometry=True)
|
|
163
166
|
|
|
164
167
|
def derive(self, name: str, expr: pl.Expr) -> "Result":
|
|
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
|