Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

The GeoStack layer map: layers, imports and boundaries

Design · a proposed layering of every library, the imports between them, and where each library's boundary sits

Abstract

A proposal for how the libraries of the stack layer, drawn from an import scan of every repository under references/. Core holds the maths and plumbing that know no geography, GeoNumerics the geophysical maths on plain arrays, GeoStack (geotoolz + xrtoolz) the carriers and real data, GeoModels the physics, and GeoBench and GeoApps the runs and applications on top. How code is packaged, what data it sees, the role ladder and the vocabulary that place any name in the stack now have their own page, Kinds and roles.

Keywords:layersdependency graphboundariesfunctaxgeoarray

Open the full page

Where it sits. This page proposes the layering that Levels across the stack and the dependency graph (docs/api/dependency_graph.md) describe for today, and it renames the levels of the former: its L1 to L3 become pairs of kind and data, and “L” goes back to the processing levels. The full page is a self-contained document with two maps (one with every import, one without), cards for each library and tables, which opens on its own and links back here. The open questions it raises are tracked in #122 (the role ladder per library) and geotoolz#641 (geoproducts below geoops).

TL;DR: one test per layer

On the page

  1. The stack at a glance, and the interactive map of every import (today and planned)

  2. What we build on each foundation (extends, replaces, wraps)

  3. Core, reorganised (the pipekit and pyrox workspaces, functax, integrix, argminax)

  4. GeoNumerics, GeoStack and GeoModels, reorganised (cards per library, and what moves)

  5. radiomax and radtrax: where the line is

  6. functax and geonnax: where the line is

  7. The four library layers, and the test for each

  8. Three kinds of function, three kinds of data: a pointer to Kinds and roles

  9. Boundaries, library by library

  10. Every library, today and proposed

  11. Which foundations each library leans on