Skip to content

Upload a LAS and work locally in Python

Upload a supported LAS from your computer, grant a colleague explicit access, and use its exact revision in local Python. Workspace stores and shares data; Python runs on your computer. This bounded pilot does not provide hosted computation.

A file may be an original download or an output produced by your own tools. Its bytes are retained without claiming that it is a raw measurement. Select Inspect file first; review the recognized well, curves, units, order and missing samples. Inspection creates no asset. Repeated curve names are kept as stated; each repeated curve is addressed by its column, for example GR (column 4). Changing the file requires inspection again before upload.

For local reads and plots, follow read-first Python. The recorded calculation below is optional and remains an advanced workflow.

Your deployment must enable scientific assets and browser-authorized Python access. An administrator grants project membership and compute permissions to the scientists. The uploader needs project membership with permission to edit (a contributor); administration and compute are not required to upload. See Share data with colleagues. Account/provider provisioning remains deployment setup. Use your own identity and a separate Python credential cache.

  1. Open your project’s Connect → Add files and drop a local file, or press Choose files. The file is read first: you see the well, curves and depth range it states before anything is added (Add data).
  2. Enter its source attribution and optional well context notes; the file keeps its own name. These are declarations; the service does not verify them or convert scientific coordinates.
  3. Select who can ever see the original and confirm your retention, derivation and sharing rights. This sets the maximum audience, not actual access. You can change it later with a reason; removing someone also removes their access to results built on it.
  4. Press Add this file. Open it under Data to inspect the exact revision and source curves.
  5. Under Share original, explicitly grant read and, where needed, reuse.

The exact bytes are retained as an uploaded original, shown as Held as: Copy kept in the project. This is not a live connection to the originating provider, a native-backend import or an OSDU publication. Existing connection and native-import workflows remain separate. No server file path, registry edit, distribution JSON or release capture is required.

View and download permits inspection and export; build on this also permits using it as a Python input. Project compute permission is still required to run a calculation. Membership alone shares nothing unless the owner chose everyone in this project. Removing access stops new reads, exports and reuse; copies already downloaded cannot be recalled.

Choose a tested SDK template for a notebook, Python application, React application or agent workflow. Follow its README, locked requirements and explicit test command. Synthetic mode uses original fixtures without credentials; live mode uses your approved configuration. Downloading a template does not execute it. See the SDK reference for scientific metadata, error recovery and support limits.

The recipient opens the asset in Data, chooses Build on it in Python, selects its primary curve and output profile, then saves. Download input configuration provides gateway/project/binding without copying IDs. Keep each role’s configuration and credentials separate. The primary curve does not remove other channels from the original LAS. Authorize Python, prepare exact input, execute your inspected calculation locally, inspect the result and publish separately. All numerical changes remain deliberate application choices.

The transitional local Python kit retains setup/plot scripts and the older Alice/Bob exercise below. Its START-HERE now installs the SDK first. Use fresh SDK login; never import old credential caches. Login needs the deployment’s sign-in through an identity provider (Install › Sign-in).

Alice’s example derives VP_QC and VS_QC from DTCO/DTSM in us/ft using 304800/value, and copies/masks RHOB_QC explicitly. Bob derives AI in kg/m2/s (density conversion from g/cm3 ×1000) and dimensionless VPVS. The templates refuse unexpected units and preserve original depth and channels; missing values are never replaced by zero. Candidate spikes are not automatically removed. Parameter files begin with empty rejected-row lists. Scientific suitability remains the scientist’s responsibility.

Publication creates a private, separate asset in Data. Under Data → Results, its author explicitly grants the colleague view and download or build on this, within who can see the original; or shares it with everyone in the project when everyone in the project can see what it is built on. The colleague selects that exact result as the next Python input. Result sharing does not grant access to its parent: restricted ancestry is labelled accordingly. A receipt proves committed publication, not that external code ran as declared.

  • Empty selector: verify account/project, completed upload and explicit reuse grant.
  • Missing dependency or file: run check_setup.py and follow its message.
  • Expired login: authorize your own identity again and retry with the same run folder.
  • Interrupted upload: retry the same file/details; identical commands recover one asset.
  • Conflicting upload retry: start a new upload; never overwrite an existing original.
  • Interrupted publication: preserve run checkpoints and retry the same publication.
  • Changed code/parameters: prepare a new run folder. Do not reuse frozen output requests.
  • Revoked original reuse stops future reads/runs from it, not already retained children or previously exported files. Children still enforce their own grants.

LAS 2/UTF-8, up to the deployment’s upload limit (at most 32 MiB; the packaged default) per upload, 64 curves and 100,000 rows; two uploads admitted concurrently. By default uploads in progress hold at most 128 MiB together (upload_total_bytes) and 100 per project, and retained originals 512 MiB (retained_bytes); a deployment sets its own (Large files). Derived results retain32 MiB/result,100/project and2,100,000-byte publication request limits. Unknown units/reference context stay unknown. No automatic eviction or source write-back. Python 3.12/Linux and 3.14/Mac are the qualification environments.

This is internal pilot qualification. External-user M4 validation is deferred, not passed. Scientific contract and derived-curve publication remain the public read/write contracts; this increment adds onboarding, not a broad SDK or execution service.