Skip to content

Build on Ophiolite

Everything an application needs is public: this page, the API description every deployment serves (/api/v1/openapi.json), the documentation index for agents and the SDK.

Create a project access key on your account page under Project access keys (it inherits your own access to one project; it is shown once). Then:

Terminal window
pip install "ophiolite @ git+https://github.com/tuna-soup/ophiolite-sdk@<the commit llms.txt names>"
export OPHIOLITE_ACCESS_KEY=oph_key_...
ophiolite projects --url https://ophiolite.example --json

In Python, Client(url, project, Credential.bearer(os.environ["OPHIOLITE_ACCESS_KEY"])) is the client every recipe below uses. Every command takes --json; exit codes and dry runs are described with the command line. Every refusal carries a code, what to do and a request id — see Errors.

To try this without touching a real deployment, start a disposable sandbox with three provinces of public NLOG well headers and three people who see different wells:

Terminal window
ophiolite-ops dev up --fixture nlog-provinces

Run it in your deployment’s package folder (it uses the release named in .env; elsewhere pass --image). It prints each person’s project access key and Workspace sign-in token once (--json prints them as one JSON object). Alice sees the wells of Groningen and Drenthe, Bob those of Drenthe and Friesland, and Eve none: each well is located by its row in its province’s table, which the sandbox administrator shares only with the people who may read that province. ophiolite-ops dev down removes only this sandbox.

Journey Recipe
Wells on a map Wells on a map — ophiolite init map-application
Read curves in Python Read curves in Python
Formation tops in another application Formation tops in another application
Publish a result you computed Derive and publish — ophiolite init derive-and-publish
Keep in step with Workspace Keep in step with Workspace — ophiolite init sync-worker

Each recipe runs as written in the conformance suite, so an example that stops working fails a check.