Python Quickstart
Audience: Python-first builders
Status: Preview
The current Python surface is centered on project access, typed results, and domain-first workflow composition.
Public vocabulary
Section titled “Public vocabulary”The main Python story should be learned through stable nouns first:
ProjectSurveyWellWellboreWellboreBindingTraceLocalPipeline
Advanced transport and extension details still exist, but they should not define the beginner story.
Create or open a project
Section titled “Create or open a project”from ophiolite_sdk import Project
project = Project.create("demo-project")summary = project.summary()print(summary.root)Read project metadata
Section titled “Read project metadata”print(project.summary())
wells = project.wells()surveys = project.surveys()print(len(wells))print(len(surveys))if wells: well = wells[0] wellbores = well.wellbores() print(well.name) print(len(wellbores)) print(len(well.surveys()))Current boundary
Section titled “Current boundary”Today the Python SDK is strongest for:
- project lifecycle
- survey-backed seismic discovery
- project-owned seismic operator discovery and execution
- well and wellbore navigation
- typed seismic operator chains
- operator lock inspection
- operator package installation
- compute catalog and compute execution
Some import and broader project-manipulation flows are still more complete in Rust than in the Python wrapper.
Project-owned seismic workflow
Section titled “Project-owned seismic workflow”from ophiolite_sdk import Project, SectionSelection, TraceLocalPipeline
project = Project.open("demo-project")survey = project.surveys()[0]selection = SectionSelection.inline(120)pipeline = ( TraceLocalPipeline.named("Bandpass + RMS AGC") .bandpass(8.0, 12.0, 45.0, 60.0) .agc_rms(40.0))
catalog = survey.operator_catalog()preview = survey.preview_processing(selection, pipeline)processed = survey.run_processing( pipeline, output_collection_name="derived-seismic",)If you are working directly on .tbvol or .tbgath stores outside an OphioliteProject, use TraceBoostApp and SeismicDataset as the compatibility lane instead of the main builder path.
When to stay in Python
Section titled “When to stay in Python”Stay in Python when you want typed objects, local scripting, notebook-style composition, or a programmable workflow surface that tracks platform nouns instead of raw commands.
Use ophiolite_sdk.operators only when you are authoring external operators. For built-in workflows, prefer typed helpers such as elastic.run_avo(...) and TraceProcessingPipeline.bandpass(...).agc_rms(...).
Next: CLI automation