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.
1. A key and the SDK
Section titled “1. A key 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:
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 --jsonIn 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.
2. A sandbox with data
Section titled “2. A sandbox with data”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:
ophiolite-ops dev up --fixture nlog-provincesRun 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.
3. Recipes
Section titled “3. Recipes”| 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.
