mapsmith 0.3.0__tar.gz → 0.5.0__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.
- {mapsmith-0.3.0 → mapsmith-0.5.0}/.gitignore +5 -0
- mapsmith-0.5.0/.zenodo.json +19 -0
- mapsmith-0.5.0/CHANGELOG.md +1630 -0
- mapsmith-0.5.0/CITATION.cff +36 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/CLAUDE.md +3 -3
- {mapsmith-0.3.0 → mapsmith-0.5.0}/CONTRIBUTING.md +1 -1
- {mapsmith-0.3.0 → mapsmith-0.5.0}/Dockerfile +18 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/MANIFESTO.md +6 -3
- {mapsmith-0.3.0 → mapsmith-0.5.0}/PKG-INFO +566 -144
- {mapsmith-0.3.0 → mapsmith-0.5.0}/README.md +563 -141
- mapsmith-0.5.0/SECURITY.md +319 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/docs/argleton-run.json +6 -6
- {mapsmith-0.3.0 → mapsmith-0.5.0}/docs/benchmarks.md +54 -7
- {mapsmith-0.3.0 → mapsmith-0.5.0}/docs/catalog-entry-spec.md +43 -7
- mapsmith-0.5.0/docs/manifest-vocabulary.md +169 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/examples/01_verified_geoprocessing.ipynb +128 -27
- mapsmith-0.5.0/examples/02_terrain_hydrology.ipynb +507 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/examples/03_validated_plans.ipynb +31 -24
- {mapsmith-0.3.0 → mapsmith-0.5.0}/funding.json +71 -71
- mapsmith-0.5.0/glama.json +6 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/pyproject.toml +3 -3
- {mapsmith-0.3.0 → mapsmith-0.5.0}/schema/operation.schema.json +11 -2
- {mapsmith-0.3.0 → mapsmith-0.5.0}/server.json +4 -4
- {mapsmith-0.3.0 → mapsmith-0.5.0}/site/build.py +18 -1
- {mapsmith-0.3.0 → mapsmith-0.5.0}/site/index.template.html +144 -35
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/__init__.py +2 -2
- mapsmith-0.5.0/src/mapsmith/antimeridian.py +225 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/catalog.py +1568 -66
- mapsmith-0.5.0/src/mapsmith/datum.py +308 -0
- mapsmith-0.5.0/src/mapsmith/discovery_log.py +182 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/engines/dispatch.py +15 -2
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/engines/duckdb_engine.py +20 -4
- mapsmith-0.5.0/src/mapsmith/engines/esri.py +245 -0
- mapsmith-0.5.0/src/mapsmith/engines/linework.py +956 -0
- mapsmith-0.5.0/src/mapsmith/engines/network.py +1103 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/engines/raster.py +354 -33
- mapsmith-0.5.0/src/mapsmith/engines/sampling.py +629 -0
- mapsmith-0.5.0/src/mapsmith/engines/spatial_stats.py +824 -0
- mapsmith-0.5.0/src/mapsmith/engines/summaries.py +606 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/engines/vector.py +2957 -2371
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/engines/whitebox_engine.py +508 -12
- mapsmith-0.5.0/src/mapsmith/grid.py +539 -0
- mapsmith-0.5.0/src/mapsmith/lineage.py +718 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/plans/registry.py +297 -0
- mapsmith-0.5.0/src/mapsmith/provenance.py +810 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/readers.py +397 -354
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/server.py +92 -6
- mapsmith-0.5.0/src/mapsmith/sql_policy.py +265 -0
- mapsmith-0.5.0/src/mapsmith/stacks.py +304 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/verify.py +163 -7
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/workspace.py +45 -0
- mapsmith-0.5.0/tests/conftest.py +223 -0
- mapsmith-0.5.0/tests/data/discovery_queries.json +2046 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/data/manifest-v1.schema.json +54 -7
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/data/manifest_spec_validator.py +63 -1
- mapsmith-0.5.0/tests/test_antimeridian.py +346 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_band_math.py +37 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_catalog.py +1 -1
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_catalog_applicability.py +32 -3
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_clip_reclassify_raster.py +12 -2
- mapsmith-0.5.0/tests/test_contours_and_cost.py +287 -0
- mapsmith-0.5.0/tests/test_dashboard.py +319 -0
- mapsmith-0.5.0/tests/test_datum.py +527 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_discovery_contract.py +95 -9
- mapsmith-0.5.0/tests/test_discovery_log.py +321 -0
- mapsmith-0.5.0/tests/test_discovery_report.py +727 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_duckdb_sandbox.py +69 -0
- mapsmith-0.5.0/tests/test_environment.py +618 -0
- mapsmith-0.5.0/tests/test_grid_registration.py +449 -0
- mapsmith-0.5.0/tests/test_lineage.py +648 -0
- mapsmith-0.5.0/tests/test_linework.py +465 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_merge_simplify.py +19 -2
- mapsmith-0.5.0/tests/test_network.py +472 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_overlay_dissolve.py +9 -1
- mapsmith-0.5.0/tests/test_path_containment.py +494 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_plans.py +55 -0
- mapsmith-0.5.0/tests/test_published_figures.py +407 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_raster.py +7 -1
- mapsmith-0.5.0/tests/test_redaction.py +427 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_retrieval_at_scale.py +221 -219
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_retrieval_degradation.py +99 -1
- mapsmith-0.5.0/tests/test_sampling.py +497 -0
- mapsmith-0.5.0/tests/test_select_and_extract.py +720 -0
- mapsmith-0.5.0/tests/test_showcase.py +1905 -0
- mapsmith-0.5.0/tests/test_south_up_and_mixed.py +257 -0
- mapsmith-0.5.0/tests/test_spatial_stats.py +485 -0
- mapsmith-0.5.0/tests/test_sql_credentials.py +289 -0
- mapsmith-0.5.0/tests/test_stacks.py +289 -0
- mapsmith-0.5.0/tests/test_summaries.py +468 -0
- mapsmith-0.5.0/tests/test_verify.py +2433 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_verify_repair.py +10 -2
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_whitebox.py +207 -201
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_whitebox_derivatives.py +351 -245
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_worked_example.py +58 -83
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_workspace.py +50 -0
- mapsmith-0.3.0/CHANGELOG.md +0 -608
- mapsmith-0.3.0/SECURITY.md +0 -171
- mapsmith-0.3.0/examples/02_terrain_hydrology.ipynb +0 -507
- mapsmith-0.3.0/src/mapsmith/provenance.py +0 -354
- mapsmith-0.3.0/src/mapsmith/sql_policy.py +0 -105
- mapsmith-0.3.0/tests/data/discovery_queries.json +0 -1536
- mapsmith-0.3.0/tests/test_discovery_report.py +0 -102
- mapsmith-0.3.0/tests/test_path_containment.py +0 -249
- mapsmith-0.3.0/tests/test_redaction.py +0 -207
- mapsmith-0.3.0/tests/test_showcase.py +0 -868
- mapsmith-0.3.0/tests/test_sql_credentials.py +0 -117
- mapsmith-0.3.0/tests/test_verify.py +0 -511
- {mapsmith-0.3.0 → mapsmith-0.5.0}/.dockerignore +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/LICENSE +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/TRADEMARKS.md +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/docker-compose.yml +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/examples/README.md +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/examples/fixtures/mount_st_helens_dem.tif +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/engines/__init__.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/engines/geodesy.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/engines/sedona_engine.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/gdal_policy.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/jobs.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/plans/__init__.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/plans/executor.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/plans/models.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/plans/validator.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/preview.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/retrieval.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/src/mapsmith/ui.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_ambiguous_layer.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_catalog_entry_spec.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_catalog_retrieval.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_centroid_convert.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_describe_raster.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_engines.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_gdal_policy.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_geodesy.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_geoparquet2.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_measure_area.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_nearest_explode.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_preview.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_raster_reproject_bands.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_resample_raster.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_retrieval.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_smoke.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_sql_axis_order.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_terrain_derivatives.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_tier_a_operations.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_ui.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_verification_status.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_voronoi.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_whitebox_encoding.py +0 -0
- {mapsmith-0.3.0 → mapsmith-0.5.0}/tests/test_whitebox_geographic_refusal.py +0 -0
|
@@ -61,3 +61,8 @@ uv.lock
|
|
|
61
61
|
|
|
62
62
|
# The site is generated: `python site/build.py dist` rebuilds it from a real run.
|
|
63
63
|
site/generated/
|
|
64
|
+
|
|
65
|
+
# Written by `benchmarks/dashboard.py` and by MAPSMITH_DISCOVERY_LOG:
|
|
66
|
+
# both hold the queries somebody typed, so they stay out of the repository.
|
|
67
|
+
dashboard.html
|
|
68
|
+
*.jsonl
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"upload_type": "software",
|
|
3
|
+
"title": "MapSmith: geospatial processing over MCP, with verifiable provenance",
|
|
4
|
+
"version": "0.5.0",
|
|
5
|
+
"creators": [
|
|
6
|
+
{"name": "The MapSmith project"}
|
|
7
|
+
],
|
|
8
|
+
"license": "agpl-3.0-or-later",
|
|
9
|
+
"access_right": "open",
|
|
10
|
+
"keywords": [
|
|
11
|
+
"GIS",
|
|
12
|
+
"geospatial",
|
|
13
|
+
"provenance",
|
|
14
|
+
"reproducibility",
|
|
15
|
+
"Model Context Protocol",
|
|
16
|
+
"MCP"
|
|
17
|
+
],
|
|
18
|
+
"description": "<p>An MCP server for professional geoprocessing under a rule the caller cannot bend: every geometry and every number comes from a real engine run, never from the model.</p><p>Each operation that writes a dataset also writes a manifest beside it — the inputs and their hashes, the exact parameters, the coordinate-system decisions and the reason for each, the engine and its version, the environment that changed the answer, and the deterministic checks that ran. The manifest is written <em>before</em> a failed check raises, so the audit trail survives the error rather than disappearing with it.</p><p>Capabilities are reached through a searchable catalogue rather than a wall of tools, because a caller's ability to pick the right tool degrades long before a catalogue does. The catalogue answers with a set of candidates and the text that distinguishes them, not with a verdict.</p><p>A manifest records what was done; it does <em>not</em> certify that what was done was right. MapSmith says so in its own documentation, and a separate correctness suite exists to measure the difference.</p>"
|
|
19
|
+
}
|