OSDU without a cloud: a LocalStack-style emulator for the OSDU data platform
The Open Subsurface Data Universe (OSDU) is a solid set of service contracts for the energy industry: Storage, Search, Dataset, File, Workflow, Legal, Schema, Entitlements. It powers real data platforms and real subsurface workflows. But there is a gap between the contracts and the day-to-day reality of anyone who writes code against them. A real deployment means Kubernetes, OpenSearch, Redis,…
The Open Subsurface Data Universe (OSDU) offers a suite of service contracts for the energy industry, including Storage, Search, Dataset, File, Workflow, Legal, Schema, and Entitlements. However, deploying these services requires complex infrastructure like Kubernetes, OpenSearch, Redis, PostgreSQL, and an OIDC provider. This project provides a LocalStack-style emulator for OSDU, allowing developers to test their code against the entire OSDU platform without the need for any of these components.
The emulator is implemented in a single Python file (server/server.py) and can be run locally with a Python script. The emulator supports the same HTTP surface as a real OSDU deployment, enabling developers to work with the same API endpoints. The emulator is particularly useful for local development, tutorial walkthroughs, and continuous integration (CI) pipelines.
To get started, users can run the emulator using a Docker command or execute a Makefile command. The emulator includes a complete Well 360 integration, demonstrating a typical workflow using the official OSDU tutorial. The emulator is built around the service APIs and can be customized with options like base URL, partition, bearer token, ACL groups, and approved LegalTags.
The emulator focuses on validating ingested records and ensuring data integrity, making it an ideal tool for developers to test their code against the OSDU platform in a lightweight and deterministic environment.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.