Codebase

Macrostrat's software is open source and spread across several repositories, each released independently. Most live in the UW-Macrostrat organization on GitHub.

Core system

RepositoryWhat it holds
macrostratThe core of the system: database schema definitions, the macrostrat command-line tool, map and column ingestion libraries, and services including the tile server, API v3 and background workers. Developer documentation in this section comes from its docs/ directory.
macrostrat-apiAPI v2, the stable public data API (Node.js)
webThe Macrostrat website (TypeScript, React, Vike), including the map, columns, lexicon and contributor interfaces and the renderer for these documentation pages
column-ingestionThe specification and templates for the column ingestion format (Format documentation)
docsThese documentation pages

Libraries

RepositoryWhat it holds
python-librariesPython packages under the macrostrat namespace on PyPI, notably macrostrat.database for database access, plus application, authentication, raster and utility modules (documentation)
web-componentsReact and TypeScript components published under @macrostrat on npm: map interfaces, column views, timescales, data sheets and UI building blocks (component documentation)
RepositoryWhat it holds
corelleA plate rotation system compatible with GPlates, used to place Macrostrat's data in paleogeographic context
topology-managerTopological map management for PostGIS, shared with the Mapboard GIS app and used for Macrostrat's map compilations
macrostrat-xddPipelines that extract geologic information from the literature through xDD, feeding the Knowledge graph
rockd-websiteThe website for the Rockd mobile app

Development of these repositories is closely coupled even though they are released separately: a change to a tile layer, for example, usually touches the tile server and the website together.