Stable Public Vocabulary
Audience: Python builders and API evaluators
Status: Preview
Ophiolite should teach stable nouns before internal modules, transport DTOs, or app-specific wrappers.
This is the current public vocabulary to optimize for.
Core nouns
Section titled “Core nouns”These are the main builder nouns that should remain easy to recognize:
ProjectSurveyWellWellboreWellboreBinding
These describe the canonical local object graph. They should stay more durable than any one ingest path, app shell, or transport detail.
Typed workflow terms
Section titled “Typed workflow terms”These are the public terms that expose built-in workflow composition:
Log and AVO
Section titled “Log and AVO”ElasticChannelBindingsLayeringSpecAngleSamplingAvoExperimentAvoResult.response_source(...)AvoResult.crossplot_source(...)
Seismic processing
Section titled “Seismic processing”TraceBoostAppSeismicDatasetSectionSelectionTraceProcessingPipelineBandpassFilterRmsAgc
These are not generic request wrappers. They are public workflow terms that should read like actual subsurface work.
Advanced namespaces
Section titled “Advanced namespaces”These namespaces are public, but they should not define the first-contact story:
ophiolite_sdk.analysisophiolite_sdk.avoophiolite_sdk.operatorsophiolite_sdk.platformophiolite_sdk.interop
Use them when you need lower-level control, extension hooks, or compatibility-facing access.
What should stay out of the main vocabulary
Section titled “What should stay out of the main vocabulary”These should not become the public identity of the SDK:
- raw request and response DTOs as the main learning path
- storage internals
- app-local wrappers
- charts and notebook widget hosts
Those surfaces can be useful, but they are secondary integration layers.
Practical rule
Section titled “Practical rule”If a builder can describe the workflow using domain nouns and typed operators, prefer that API shape.
If the surface mainly exists to mirror transport, admin, or extension plumbing, keep it in an advanced namespace.