Skip to content
Back to skills

Gempy

ASecurity

"Use GemPy 3.x for CPU-first 3-D implicit geological modeling,

  • 247 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added September 8, 2026
developmentpythonrustbashapibackend

Works with

  • api

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 8, 2026

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

Installs into .claude/skills of the current project.

Are you the author of Gempy?

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

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

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: gempy
description: "Use GemPy 3.x for CPU-first 3-D implicit geological modeling,
  structural data preparation, grid evaluation, visualization, persistence, and
  optional integrations."
disable-model-invocation: true
metadata:
  disco-role: operating
license: EUPL 1.2
---

# GemPy operating skill

Use this skill when a Researcher needs to build, compute, inspect, serialize, or
troubleshoot a GemPy 3.x geological model. It is distilled from a versioned
public package surface and is self-contained: workflows use caller-owned arrays,
tables, and paths rather than checkout-relative examples or downloaded data.

## Route the request

Choose the narrowest route before writing code:

- **Create, map, validate, compute, faults, or unconformities:**
  [`modeling`](sub-skills/modeling/SKILL.md)
- **Surface points, orientations, CSV input, IDs, elements, groups, or table
  mutation:** [`data-and-structure`](sub-skills/data-and-structure/SKILL.md)
- **Dense/custom/section/centered/topography grids, coordinate queries, or
  plots:** [`grids-and-visualization`](sub-skills/grids-and-visualization/SKILL.md)
- **`.gempy`/JSON persistence, mesh extraction, gravity, topology, properties,
  Subsurface, or legacy adapters:**
  [`serialization-and-advanced`](sub-skills/serialization-and-advanced/SKILL.md)
- **Installation, imports, package drift, backend/device, optional packages,
  or headless rendering:**
  [`environment-and-troubleshooting`](sub-skills/environment-and-troubleshooting/SKILL.md)

For a multi-stage request, follow the usual order:
**environment → data/structure → modeling → grid/evaluation → persistence or
visualization**. Return to the owning route when a failure crosses a boundary;
do not mask a data error by changing the backend or installing unrelated
optional packages.

## Install and verify the public package

Use a fresh Python 3.10+ environment and keep pip attached to that interpreter:

```bash
python -m pip install gempy
python -m pip check
python -c "import gempy, gempy_engine; print(gempy.__version__)"
```

Add the base extra only for pandas/table readers or GemPy Viewer workflows:

```bash
python -m pip install "gempy[base]"
```

Install optional scientific, plugin, Subsurface, PyVista, or PyTorch packages
only for the corresponding route. The environment route's checker is read-only:
`python sub-skills/environment-and-troubleshooting/scripts/check_environment.py
--json`.

## Core operating rules

1. Prefer `import gempy as gp` and public `gp.data`/`gp.*` APIs. Verify the
   installed GemPy, `gempy_engine`, and (if used) `gempy_viewer` release line
   before relying on a changed signature.
2. Start with a small dense grid and NumPy:
   `GemPyEngineConfig(backend=gp.data.AvailableBackends.numpy, use_gpu=False)`.
   PyTorch/CUDA, PyKeOps, viewer/PyVista, SciPy/scikit-image, GSTools,
   `gempy_plugins`, Subsurface, and `gempy_legacy` are optional boundaries,
   not proof obligations for the core route.
3. Build or load a `StructuralFrame`, add caller-owned input data, map elements
   to final structural groups, then call `model.validate()` before
   `gp.compute_model()`. Preserve `ModelValidationError.reason`, `.field`, and
   `.context` when repair is needed.
4. Grid setters activate flags without necessarily clearing earlier components;
   inspect `model.grid.active_grids`, use `reset=True` intentionally, and
   recompute after grid changes. `compute_model_at` is stateful and leaves a
   custom grid active.
5. Keep `.gempy` archives and JSON files in caller-owned temporary or output
   paths. Load and compare structure/input counts before trusting a round trip;
   recompute restored models when solutions are needed.
6. Do not fetch network examples, open interactive viewers in headless jobs, or
   claim an optional backend works from a CPU import. See
   [`references/troubleshooting.md`](references/troubleshooting.md) for the
   cross-cutting decision sequence.

## Bundled diagnostics

The sub-skills contain deterministic helpers that do not install packages,
fetch data, or read the source checkout:

- `sub-skills/environment-and-troubleshooting/scripts/check_environment.py`
  checks Python, core imports, optional modules, and selected backends.
- `sub-skills/modeling/scripts/tiny_model_smoke.py` builds and computes a tiny
  in-memory CPU model.
- `sub-skills/grids-and-visualization/scripts/grid_smoke.py` checks dense,
  custom, active-grid, and section semantics without a viewer.
- `sub-skills/data-and-structure/scripts/inspect_tables.py` reports caller-owned
  CSV table shape, names, IDs, and finite-value counts without modifying files.
- `sub-skills/serialization-and-advanced/scripts/json_roundtrip_smoke.py`
  checks tiny `.gempy` and JSON round trips in temporary output.

Run these from the generated skill directory or by passing their absolute path;
read the owning route first so a smoke result is not mistaken for geological
correctness.

## Freshness and limits

The package facts are tied to the commit and evidence listed in
[`references/repo-provenance.md`](references/repo-provenance.md). Optional
plugins, GPU/autodiff, external data readers, and interactive 3-D rendering are
explicitly bounded; if a request depends on one, verify that dependency and
runtime separately. The review artifacts under `skills/tests/gempy/` are
construction and verification records, not runtime dependencies.

Files in this skill

  • SKILL.md5.3 KB
  • references/repo-provenance.md2.5 KB
  • references/repo-routing-metadata.json330 B
  • references/troubleshooting.md2.6 KB
  • sub-skills/data-and-structure/SKILL.md8.4 KB
  • sub-skills/data-and-structure/references/api-reference.md7.1 KB
  • sub-skills/data-and-structure/references/data-formats.md8.9 KB
  • sub-skills/data-and-structure/references/troubleshooting.md7.1 KB
  • sub-skills/data-and-structure/scripts/inspect_tables.py3.2 KB
  • sub-skills/environment-and-troubleshooting/SKILL.md6.5 KB
  • sub-skills/environment-and-troubleshooting/references/dependency-matrix.md5 KB
  • sub-skills/environment-and-troubleshooting/references/troubleshooting.md11.4 KB
  • sub-skills/environment-and-troubleshooting/scripts/check_environment.py11.2 KB
  • sub-skills/grids-and-visualization/SKILL.md7.4 KB
  • sub-skills/grids-and-visualization/references/grid-reference.md8.5 KB
  • sub-skills/grids-and-visualization/references/troubleshooting.md9.7 KB
  • sub-skills/grids-and-visualization/references/visualization-workflows.md7.5 KB
  • sub-skills/grids-and-visualization/scripts/grid_smoke.py4 KB
  • sub-skills/modeling/SKILL.md6.8 KB
  • sub-skills/modeling/references/api-reference.md9.5 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.