Skip to content
Back to skills

Streamlit Geospatial

ASecurity

"Guides researchers through the streamlit-geospatial multipage

  • 247 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 9, 2026
devopspythongoshellbashbackend

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 20 files and shows the line behind each finding

Scanned September 9, 2026

npx -y skills add VectorSpaceLab/AREX-Skill --skill streamlit-geospatial --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Streamlit Geospatial?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Streamlit Geospatial
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/vectorspacelab-streamlit-geospatial/badge)](https://www.skillsdirectory.com/skills/vectorspacelab-streamlit-geospatial)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: streamlit-geospatial
description: "Guides researchers through the streamlit-geospatial multipage
  application, including Streamlit composition, Leafmap/Folium maps, remote
  Earth Engine workflows, and data-backed geospatial dashboards."
disable-model-invocation: true
metadata:
  disco-role: operating
license: MIT
---

# streamlit-geospatial

Use this repo skill when a task asks to build, adapt, troubleshoot, or deploy a
Streamlit geospatial application using the workflow patterns demonstrated by
`streamlit-geospatial`. It is a recipe and routing graph, not a requirement to
keep the original checkout available.

## Route the request

- **Interactive maps**: basemaps, XYZ/QMS search, split maps, heatmaps, marker
  clusters, WMS, COG/raster views, vector uploads, or Folium/Kepler/PyDeck map
  rendering → [interactive-maps](sub-skills/interactive-maps/SKILL.md).
- **Remote geospatial data**: Earth Engine catalog/NLCD, Dynamic World or
  ESA/ESRI land cover, Microsoft building footprints, or Landsat/Sentinel/GOES/
  MODIS/NAIP timelapses → [remote-geospatial-data](sub-skills/remote-geospatial-data/SKILL.md).
- **Dashboards and app shell**: multipage Streamlit structure, U.S. housing
  metrics, PyDeck choropleths, historical Ordnance Survey comparisons, or
  Streamlit deployment → [streamlit-dashboards](sub-skills/streamlit-dashboards/SKILL.md).
- **Cross-cutting install or deployment failure**: read
  [installation and deployment](references/installation-and-deployment.md),
  then [troubleshooting](references/troubleshooting.md).

When a request combines routes, validate local inputs first, then cross the
external Earth Engine or remote-data boundary only after the caller explicitly
provides credentials/network access. Keep each sub-skill's ownership intact.

## Minimum environment

This repository is a Streamlit application rather than an installable Python
distribution. Use Python 3.11 as the conservative inspection/runtime choice,
install the documented Python requirements, and provide the system geospatial
libraries and media tools listed in `packages.txt` when deploying. A typical
runtime install is:

```bash
python -m pip install -r requirements.txt
```

The repository uses `geemap.foliumap` and `geemap.foliumap.Map`. Set the backend
selector before importing that module:

```bash
export USE_FOLIUM=1
python -c "import streamlit, leafmap, geemap, geopandas; print('imports ok')"
```

Run [the environment checker](scripts/check_environment.py) for a deterministic
import/version preflight; it does not start Streamlit, authenticate Earth
Engine, fetch tiles, or download data. Read the installation reference before
using the deployment files because the original setup recipe writes a user
Streamlit config and assumes host-level package installation.

## App composition

The app entry point is `Home.py`; numbered files under `pages/` become sidebar
pages automatically. Keep each page importable and call `st.set_page_config`
before creating the page UI. Use `st.cache_data` only around deterministic
fetch/parse functions, keep remote URLs and credentials outside source, and
render Folium/Kepler maps through their Streamlit adapter or PyDeck maps with
`st.pydeck_chart`.

For public runtime use, preserve attribution and validate remote endpoints.
Treat WMS/XYZ/COG/housing sources and Earth Engine assets as mutable external
services. Do not claim a remote layer, asset, or timelapse exists without a
successful bounded request and an output check.

## Verification and maintenance

- Compile page files and run each bundled helper's `--help` and tiny fixture
  checks before starting a server.
- Use local GeoJSON/KML/CSV fixtures for deterministic checks; do not use a
  live remote endpoint as an import test.
- Read [repo provenance](references/repo-provenance.md) before deciding whether
  a later checkout needs `refresh-repo-skill`.
- Read [the source script map](references/source-artifact-boundaries.md) when
  adapting a page or deployment helper so the original checkout is never a
  runtime dependency.

Files in this skill

  • SKILL.md4 KB
  • references/installation-and-deployment.md3.7 KB
  • references/repo-provenance.md2.1 KB
  • references/repo-routing-metadata.json422 B
  • references/source-artifact-boundaries.md1.5 KB
  • references/troubleshooting.md2.9 KB
  • scripts/check_environment.py1.8 KB
  • sub-skills/interactive-maps/SKILL.md3.1 KB
  • sub-skills/interactive-maps/references/api-reference.md9.4 KB
  • sub-skills/interactive-maps/references/data-formats.md5.1 KB
  • sub-skills/interactive-maps/references/troubleshooting.md6.3 KB
  • sub-skills/interactive-maps/references/workflows.md10.3 KB
  • sub-skills/interactive-maps/scripts/validate_vector_input.py11.2 KB
  • sub-skills/remote-geospatial-data/SKILL.md2.8 KB
  • sub-skills/remote-geospatial-data/references/earth-engine-api.md7.5 KB
  • sub-skills/remote-geospatial-data/references/timelapse-workflows.md9.5 KB
  • sub-skills/remote-geospatial-data/references/troubleshooting.md6 KB
  • sub-skills/remote-geospatial-data/scripts/validate_ee_config.py7.8 KB
  • sub-skills/streamlit-dashboards/SKILL.md2.1 KB
  • sub-skills/streamlit-dashboards/references/dashboard-workflows.md12 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.