diff --git a/README.md b/README.md index fb0a8d0..f84c190 100644 --- a/README.md +++ b/README.md @@ -2,15 +2,61 @@ **MEOS-API** is the machine-readable description of the [MEOS](https://github.com/MobilityDB/MEOS) C library's public API. It is a JSON catalog — `meos-api.json` — that lists every function, structure, and enum that MEOS exposes, with the type signatures, ownership rules, and documentation strings. -This catalog is the foundation for generating language bindings (Python, Java, Rust, Go, .NET, JavaScript), building documentation, or powering any tooling that needs to understand the MEOS API without re-parsing C headers. +This catalog is the foundation for generating language bindings (Python, Java, Go, Rust, and .NET/C#), building documentation, or powering any tooling that needs to understand the MEOS API without re-parsing C headers. See [Ecosystem](#ecosystem) for the projects that build on it. ## Table of contents +- [Ecosystem](#ecosystem) - [How it works](#how-it-works) - [Getting started](#getting-started) - [Output format](#output-format) - [Adding metadata](#adding-metadata) +## Ecosystem + +MEOS is the common computational substrate of the MobilityDB ecosystem. This +catalog is the language-independent contract that the projects below consume — +directly against the MEOS C library or by code-generating from `meos-api.json`. +The full ecosystem (including visualization and tooling) lives at +[github.com/MobilityDB](https://github.com/MobilityDB). + +### Engine + +| Project | Description | +|---|---| +| [MEOS](https://github.com/MobilityDB/MEOS) | Mobility Engine Open Source — the core C library this catalog describes | +| [MobilityDB](https://github.com/MobilityDB/MobilityDB) | PostgreSQL / PostGIS extension for spatiotemporal trajectory data | +| [MobilityDuck](https://github.com/MobilityDB/MobilityDuck) | DuckDB extension for temporal and spatiotemporal data | + +### Language bindings + +| Project | Language | +|---|---| +| [PyMEOS](https://github.com/MobilityDB/PyMEOS) (via [PyMEOS-CFFI](https://github.com/MobilityDB/PyMEOS-CFFI)) | Python | +| [JMEOS](https://github.com/MobilityDB/JMEOS) | Java | +| [GoMEOS](https://github.com/MobilityDB/GoMEOS) | Go | +| [meos-rs](https://github.com/MobilityDB/meos-rs) | Rust | +| [MEOS.NET](https://github.com/MobilityDB/MEOS.NET) | .NET / C# | +| [MEOS.js](https://github.com/MobilityDB/MEOS.js) | JavaScript (WebAssembly / Node.js) | + +### Analytics & services + +| Project | Description | +|---|---| +| [MobilitySpark](https://github.com/MobilityDB/MobilitySpark) | Trajectory data platform on Spark-SQL | +| [MobilityAPI](https://github.com/MobilityDB/MobilityAPI) | HTTP server implementing the OGC API – Moving Features standard | + +### Catalog projections + +Beyond binding code-generation, the enriched catalog is projected into +service contracts generated from the same model: + +| Projection | Description | +|---|---| +| OpenAPI 3.1 contract | A language-agnostic HTTP contract for the MEOS value algebra | +| Model Context Protocol (MCP) tool manifest | One MCP tool per stateless-exposable function, so LLMs/agents can call the MEOS spatiotemporal algebra directly | +| Contract-driven runtime server | An HTTP server with a pluggable MEOS engine, driven by the generated contract | + ## How it works The pipeline runs in two steps: