core-lens 0.1.dev194__tar.gz → 0.1.dev197__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.dev194 → core_lens-0.1.dev197}/PKG-INFO +1 -1
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/_version.py +2 -2
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/base/entity.py +14 -3
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/base/namespaces/stats.py +3 -3
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/utils/polars_utils.py +1 -7
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/utils/spatial.py +16 -3
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/uv.lock +21 -20
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/.github/ISSUE_TEMPLATE/blank-proposal.yaml +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/.github/ISSUE_TEMPLATE/bug-report.yaml +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/.github/ISSUE_TEMPLATE/feature-request.yaml +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/.github/pull_request_template.md +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/.github/workflows/ci.yml +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/.github/workflows/gh-pages.yml +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/.github/workflows/pre-release.yml +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/.github/workflows/release.yml +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/.gitignore +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/.gitmessage +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/.pre-commit-config.yaml +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/.python-version +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/CONTRIBUTING.md +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/LICENSE +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/README.md +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/SKILLS.md +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/benchmarks/README.md +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/benchmarks/bench_aoi.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/benchmarks/bench_entity.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/benchmarks/bench_export.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/benchmarks/bench_polars_utils.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/benchmarks/bench_result.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/benchmarks/bench_schema.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/benchmarks/bench_season.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/benchmarks/bench_spatial.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/benchmarks/bench_view.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/benchmarks/run_all.sh +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/docs/Makefile +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/docs/make.bat +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/docs/source/concepts.md +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/docs/source/conf.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/docs/source/export.md +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/docs/source/index.rst +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/docs/source/intro.md +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/docs/source/logging.md +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/docs/source/plots.md +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/docs/source/plugins.md +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/docs/source/queries.md +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/docs/source/quickstart.md +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/docs/source/stats.md +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/examples/demo_mws.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/examples/demo_tehsil.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/hooks/mypy.sh +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/hooks/no-parquet-outside-fixtures.sh +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/hooks/pytest.sh +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/pyproject.toml +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/__init__.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/__main__.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/aoi.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/base/__init__.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/base/namespaces/__init__.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/base/namespaces/plot.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/base/result.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/base/view.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/entities/__init__.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/entities/farms.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/entities/mws.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/entities/tehsil.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/entities/waterbody.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/export/__init__.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/export/formats.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/py.typed +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/schema/__init__.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/schema/detection.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/schema/profile.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/utils/__init__.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/utils/paths.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/src/core_lens/utils/season.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/tests/fixtures/generate_fixtures.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/tests/unit/conftest.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/tests/unit/test_aoi.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/tests/unit/test_entities.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/tests/unit/test_entity.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/tests/unit/test_export.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/tests/unit/test_main.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/tests/unit/test_plot.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/tests/unit/test_polars_utils.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/tests/unit/test_profile.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/tests/unit/test_result.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/tests/unit/test_schema_detection.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/tests/unit/test_schema_profile.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/tests/unit/test_season.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/tests/unit/test_season_config.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/tests/unit/test_spatial.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/tests/unit/test_stats.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/tests/unit/test_view.py +0 -0
- {core_lens-0.1.dev194 → core_lens-0.1.dev197}/usage.md +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.dev197
|
|
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.dev197'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 1, 'dev197')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
@@ -475,7 +475,11 @@ class BaseEntity(ABC):
|
|
|
475
475
|
)
|
|
476
476
|
|
|
477
477
|
# --- Combine attribute and spatial filters into a single lazy pipeline ---
|
|
478
|
-
|
|
478
|
+
_so = self._storage_options or {}
|
|
479
|
+
lf = pl.scan_parquet(
|
|
480
|
+
parquet_scan_path(static),
|
|
481
|
+
storage_options=_so or None,
|
|
482
|
+
)
|
|
479
483
|
|
|
480
484
|
if attr_kwargs:
|
|
481
485
|
filter_expr = pl.lit(True)
|
|
@@ -510,11 +514,18 @@ class BaseEntity(ABC):
|
|
|
510
514
|
|
|
511
515
|
lookup_geoms = []
|
|
512
516
|
for entity_kwarg_name, entity_kwarg_val in entity_kwargs.items():
|
|
513
|
-
other_entity = _REGISTRY[entity_kwarg_name](
|
|
517
|
+
other_entity = _REGISTRY[entity_kwarg_name](
|
|
518
|
+
data_root=self._data_root,
|
|
519
|
+
storage_options=self._storage_options,
|
|
520
|
+
)
|
|
514
521
|
other_profile = other_entity.schema_profile
|
|
515
522
|
other_static = other_entity._resolve(other_entity.static_path)
|
|
516
523
|
|
|
517
|
-
|
|
524
|
+
other_so = other_entity._storage_options or {}
|
|
525
|
+
other_lf = pl.scan_parquet(
|
|
526
|
+
other_static,
|
|
527
|
+
storage_options=other_so or None,
|
|
528
|
+
)
|
|
518
529
|
match_expr = pl.lit(False)
|
|
519
530
|
other_schema = cached_read_schema(
|
|
520
531
|
other_static, other_entity._storage_options
|
|
@@ -1045,9 +1045,9 @@ class StatsNamespace:
|
|
|
1045
1045
|
26 if len(full_vals) >= 52 else max(2, len(full_vals) // 2)
|
|
1046
1046
|
)
|
|
1047
1047
|
min_required = 2 * period
|
|
1048
|
-
min_reliable = (
|
|
1049
|
-
|
|
1050
|
-
) # want ~3 cycles minimum for a trustworthy seasonal fit, not just 2
|
|
1048
|
+
# min_reliable = (
|
|
1049
|
+
# 3 * period
|
|
1050
|
+
# ) # want ~3 cycles minimum for a trustworthy seasonal fit, not just 2
|
|
1051
1051
|
|
|
1052
1052
|
# if len(full_vals) < min_reliable:
|
|
1053
1053
|
# warnings.warn(
|
|
@@ -150,12 +150,7 @@ def scan_with_key_filter(
|
|
|
150
150
|
2. **Time filter** — an optional Polars expression appended with ``&``,
|
|
151
151
|
pushed down when the Parquet file carries min/max column statistics.
|
|
152
152
|
|
|
153
|
-
``use_statistics=True``
|
|
154
|
-
the underlying ``pl.scan_parquet`` call so that:
|
|
155
|
-
|
|
156
|
-
* Row-group skipping via Parquet min/max statistics is always active.
|
|
157
|
-
* On wide Parquet files, column chunks within each row group are fetched
|
|
158
|
-
concurrently instead of serially — reduces round trips on S3.
|
|
153
|
+
``use_statistics=True`` is set explicitly on the underlying ``pl.scan_parquet`` call so that row-group skipping via Parquet min/max statistics is always active.
|
|
159
154
|
|
|
160
155
|
Args:
|
|
161
156
|
path (str): Absolute path or cloud URI to a Parquet file.
|
|
@@ -176,7 +171,6 @@ def scan_with_key_filter(
|
|
|
176
171
|
path,
|
|
177
172
|
hive_partitioning=True,
|
|
178
173
|
use_statistics=True,
|
|
179
|
-
parallel="columns",
|
|
180
174
|
storage_options=_so or None,
|
|
181
175
|
)
|
|
182
176
|
|
|
@@ -668,11 +668,15 @@ def execute_spatial_join(
|
|
|
668
668
|
):
|
|
669
669
|
# Pre-filter other_entity using its in-memory bounding box index
|
|
670
670
|
candidates = bbox_intersects_geometry(other_entity._index, primary_total_box)
|
|
671
|
+
other_so = getattr(other_entity, "_storage_options", None) or {}
|
|
671
672
|
if candidates.is_empty():
|
|
672
673
|
other_df = pl.DataFrame(schema={c: pl.Utf8 for c in other_cols})
|
|
673
674
|
else:
|
|
674
675
|
other_df = (
|
|
675
|
-
pl.scan_parquet(
|
|
676
|
+
pl.scan_parquet(
|
|
677
|
+
other_static,
|
|
678
|
+
storage_options=other_so or None,
|
|
679
|
+
)
|
|
676
680
|
.select(other_cols)
|
|
677
681
|
.join(
|
|
678
682
|
candidates.select(other_key_cols).lazy(),
|
|
@@ -682,7 +686,12 @@ def execute_spatial_join(
|
|
|
682
686
|
.collect()
|
|
683
687
|
)
|
|
684
688
|
else:
|
|
685
|
-
|
|
689
|
+
other_so = getattr(other_entity, "_storage_options", None) or {}
|
|
690
|
+
other_df = pl.read_parquet(
|
|
691
|
+
other_static,
|
|
692
|
+
columns=other_cols,
|
|
693
|
+
storage_options=other_so or None,
|
|
694
|
+
)
|
|
686
695
|
|
|
687
696
|
if other_df.is_empty():
|
|
688
697
|
other_geoms = np.array([])
|
|
@@ -847,8 +856,12 @@ def point_in_entities(
|
|
|
847
856
|
key_cols: list[str] = entity.key_cols
|
|
848
857
|
static_path: str = entity._resolve(entity.static_path)
|
|
849
858
|
|
|
859
|
+
so = getattr(entity, "_storage_options", None) or {}
|
|
850
860
|
geom_df = (
|
|
851
|
-
pl.scan_parquet(
|
|
861
|
+
pl.scan_parquet(
|
|
862
|
+
parquet_scan_path(static_path),
|
|
863
|
+
storage_options=so or None,
|
|
864
|
+
)
|
|
852
865
|
.select(key_cols + [geom_col])
|
|
853
866
|
.join(candidates.select(key_cols).lazy(), on=key_cols, how="semi")
|
|
854
867
|
.collect()
|
|
@@ -3275,14 +3275,14 @@ wheels = [
|
|
|
3275
3275
|
|
|
3276
3276
|
[[package]]
|
|
3277
3277
|
name = "python-discovery"
|
|
3278
|
-
version = "1.
|
|
3278
|
+
version = "1.6.2"
|
|
3279
3279
|
source = { registry = "https://pypi.org/simple" }
|
|
3280
3280
|
dependencies = [
|
|
3281
3281
|
{ name = "filelock" },
|
|
3282
3282
|
]
|
|
3283
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
3283
|
+
sdist = { url = "https://files.pythonhosted.org/packages/b0/73/54993df8fc57e906dc9b7e01d1d9b0b2d3eb0ce3190639e33dccb12853f7/python_discovery-1.6.2.tar.gz", hash = "sha256:cd1738ca1d37c86ef9d0b654dd46fcee1e41c97c6add12575e8501ced39afdb4", size = 86921, upload-time = "2026-10-10T01:24:27.912Z" }
|
|
3284
3284
|
wheels = [
|
|
3285
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3285
|
+
{ url = "https://files.pythonhosted.org/packages/61/3b/50ed32583bfffa737df67d33b9c15d7b25df232c55ab606d059f610ef6ca/python_discovery-1.6.2-py3-none-any.whl", hash = "sha256:f0c697f95a3aaec4174a6e5e58f5885e25768684bafc76f1afde384709ebdcf2", size = 38912, upload-time = "2026-10-10T01:24:26.721Z" },
|
|
3286
3286
|
]
|
|
3287
3287
|
|
|
3288
3288
|
[[package]]
|
|
@@ -3987,19 +3987,19 @@ wheels = [
|
|
|
3987
3987
|
|
|
3988
3988
|
[[package]]
|
|
3989
3989
|
name = "tornado"
|
|
3990
|
-
version = "6.5.
|
|
3990
|
+
version = "6.5.10"
|
|
3991
3991
|
source = { registry = "https://pypi.org/simple" }
|
|
3992
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
3992
|
+
sdist = { url = "https://files.pythonhosted.org/packages/06/61/53d562a57b28c08eda40b258c0f975e360541943ad7c7bef897a40caafda/tornado-6.5.10.tar.gz", hash = "sha256:a6b1ccd08c04b4a06fb5aeb381be99de5ad1e5375c1785e31d78c880feb57687", size = 537910, upload-time = "2026-09-15T13:47:48.73Z" }
|
|
3993
3993
|
wheels = [
|
|
3994
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3995
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3996
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3997
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3998
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3999
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
4000
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
4001
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
4002
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
3994
|
+
{ url = "https://files.pythonhosted.org/packages/cd/5b/ff5fc58fa2427c30dea74c90053f4fc5eda1e7f3833ed3ecc7147fe2b311/tornado-6.5.10-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:9261783640e23258694a9ff0795df430a5a7b0a651d3dd53dd0969ad6be16da7", size = 465883, upload-time = "2026-09-15T13:47:35.463Z" },
|
|
3995
|
+
{ url = "https://files.pythonhosted.org/packages/ad/f5/cd7be26c34a3315532f3aef5f092465da8f59c334dd439d3c14aaef16461/tornado-6.5.10-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:83e6cf438b106c6b3852d70960967bb1b70c87438050dca0981e4b9aa751a4c1", size = 464046, upload-time = "2026-09-15T13:47:37.178Z" },
|
|
3996
|
+
{ url = "https://files.pythonhosted.org/packages/60/33/df6d7d04854a58619f8349a51e3edb138324130a7562b0bb21f115bb940f/tornado-6.5.10-cp39-abi3-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:bdf942448169e5336451d0494d7e3d81cfa726d5aa312affdc4682dd62a62f6d", size = 467096, upload-time = "2026-09-15T13:47:38.559Z" },
|
|
3997
|
+
{ url = "https://files.pythonhosted.org/packages/29/17/cc35dff68272d685cffd8600ffafbd8067e7d05e7348d9f80caddffbbd5f/tornado-6.5.10-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:69acca6501eed74582b76dbbceee2a91613f54728e3e418346000d7103101676", size = 468067, upload-time = "2026-09-15T13:47:40.085Z" },
|
|
3998
|
+
{ url = "https://files.pythonhosted.org/packages/c3/01/6e5349b4e1a53a4b4972a6716785e1fe7407f312063c3972690af8ff301b/tornado-6.5.10-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:66aaa3f57d30c6e6becee83ff28055d5930ac724214bde99393eefda83d5e015", size = 467901, upload-time = "2026-09-15T13:47:41.576Z" },
|
|
3999
|
+
{ url = "https://files.pythonhosted.org/packages/28/5e/b4facf94370dba006819c8d304376f8b9fbec6b935b5e51bf45823a9790b/tornado-6.5.10-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:4bd192b959f9128fb99b8898148070ba4574c9589b78bce42d1851131fe85828", size = 467308, upload-time = "2026-09-15T13:47:43.145Z" },
|
|
4000
|
+
{ url = "https://files.pythonhosted.org/packages/56/ae/047938e828cafc8eca4c908fafb6588fee944e3af39a0af9d7b602499ae5/tornado-6.5.10-cp39-abi3-win32.whl", hash = "sha256:302eb1e0e3e159314eb591920529fdea80acca92df5510a2cec5bbd4f099ec72", size = 468387, upload-time = "2026-09-15T13:47:44.556Z" },
|
|
4001
|
+
{ url = "https://files.pythonhosted.org/packages/d8/d4/5901517f05affd752490f6a654ba31b7474664e8dd80bd045a00c220bd88/tornado-6.5.10-cp39-abi3-win_amd64.whl", hash = "sha256:37ae8f150cecfdbf747fc4e12f5e9a97ecd8cf1d4cdb3f119e2de84b11196918", size = 468828, upload-time = "2026-09-15T13:47:45.961Z" },
|
|
4002
|
+
{ url = "https://files.pythonhosted.org/packages/f3/1a/fd497f3a7f7b74bb04f4b94536b5c9f80742b5d50501fd27977652ddec16/tornado-6.5.10-cp39-abi3-win_arm64.whl", hash = "sha256:ce045d3c298fddd30e89a2777f97039d1b641eb9518ac7b26a4721903539c694", size = 467847, upload-time = "2026-09-15T13:47:47.283Z" },
|
|
4003
4003
|
]
|
|
4004
4004
|
|
|
4005
4005
|
[[package]]
|
|
@@ -4106,11 +4106,11 @@ wheels = [
|
|
|
4106
4106
|
|
|
4107
4107
|
[[package]]
|
|
4108
4108
|
name = "urllib3"
|
|
4109
|
-
version = "2.
|
|
4109
|
+
version = "2.8.0"
|
|
4110
4110
|
source = { registry = "https://pypi.org/simple" }
|
|
4111
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
4111
|
+
sdist = { url = "https://files.pythonhosted.org/packages/e3/05/b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e/urllib3-2.8.0.tar.gz", hash = "sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63", size = 458972, upload-time = "2026-09-15T19:29:36.253Z" }
|
|
4112
4112
|
wheels = [
|
|
4113
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
4113
|
+
{ url = "https://files.pythonhosted.org/packages/92/9d/c4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c/urllib3-2.8.0-py3-none-any.whl", hash = "sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3", size = 135717, upload-time = "2026-09-15T19:29:34.577Z" },
|
|
4114
4114
|
]
|
|
4115
4115
|
|
|
4116
4116
|
[[package]]
|
|
@@ -4128,17 +4128,18 @@ wheels = [
|
|
|
4128
4128
|
|
|
4129
4129
|
[[package]]
|
|
4130
4130
|
name = "virtualenv"
|
|
4131
|
-
version = "21.7
|
|
4131
|
+
version = "21.14.7"
|
|
4132
4132
|
source = { registry = "https://pypi.org/simple" }
|
|
4133
4133
|
dependencies = [
|
|
4134
4134
|
{ name = "distlib" },
|
|
4135
4135
|
{ name = "filelock" },
|
|
4136
|
+
{ name = "packaging" },
|
|
4136
4137
|
{ name = "platformdirs" },
|
|
4137
4138
|
{ name = "python-discovery" },
|
|
4138
4139
|
]
|
|
4139
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
4140
|
+
sdist = { url = "https://files.pythonhosted.org/packages/dc/3f/935cf1757643381fb7f7cc98197b4bc119223d9c2cf37dc3b03ad2a4455f/virtualenv-21.14.7.tar.gz", hash = "sha256:5f427d56f39eb7e7447d641dd4b7ab1e9c92793f498f35f26da2e4972c5546ae", size = 5471741, upload-time = "2026-10-12T01:27:31.842Z" }
|
|
4140
4141
|
wheels = [
|
|
4141
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
4142
|
+
{ url = "https://files.pythonhosted.org/packages/52/5b/799c3e5b8e04d5fa1c9b61a4c1f5079603e747205c7311b92abd30283df5/virtualenv-21.14.7-py3-none-any.whl", hash = "sha256:3769219a308c5d2f093e7729621ad12a6346b5767a7ec4338414e2a0fb0c526b", size = 5487587, upload-time = "2026-10-12T01:27:29.37Z" },
|
|
4142
4143
|
]
|
|
4143
4144
|
|
|
4144
4145
|
[[package]]
|
|
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
|