Skip to main content

Python data converters for XYZ files to Evo geoscience objects

Project description

Seequent logo

PyPI - Version

Seequent Developer PortalSeequent CommunitySeequent website

Evo

Evo is a unified platform for geoscience teams. It enables access, connection, computation, and management of subsurface data. This empowers better decision-making, simplified collaboration, and accelerated innovation. Evo is built on open APIs, allowing developers to build custom integrations and applications. Our open schemas, code examples, and SDK are available for the community to use and extend.

Evo is powered by Seequent, a Bentley organisation.

Pre-requisites

  • Python virtual environment with Python 3.10, 3.11, or 3.12
  • Git

Installation

pip install evo-data-converters-xyz

XYZ

XYZ (.xyz) is a simple ASCII file format where each line contains space- or comma-separated coordinate values. The converter automatically detects the file variant from the first data line. Header lines (any line not starting with a digit, ., +, or -) are automatically skipped. Sentinel values (*) are replaced with -1.0e32.

Supported file types

Type Delimiter Columns Example
Points comma 3 numeric (x, y, z) 10.2,10.2,10.3
Binary comma 2 numeric (x, y) 12.2,12.3
Geochemistry (comma) comma label + 3 numeric (x, y, z) C,10.1,10.2,10.3
Geochemistry (space) space label + 3 numeric (x, y, z) C 10.1 10.2 10.3
Geosoft Binary XYZ space 2 numeric (x, y); z set to 0.0 -0.69 -1.40
Geosoft Binary XYZ + Data space ≥3 columns; x, y + data value; z set to 0.0 -0.69 -1.40 5.2
Geosoft XYZ Triplet space 3 numeric (x, y, z) -0.69 -1.40 0.20
Geosoft XYZ Triplet + Data space ≥4 columns; x, y, z + data value -0.69 -1.40 0.20 5.2

Type disambiguation for multi-column Geosoft files: when the file has ≥3 space-separated columns, the detected type depends on the z_index and data_index parameters passed to convert_xyz:

  • data_index set, z_index = -1Geosoft Binary XYZ + Data (z forced to 0.0)
  • data_index set, z_index set → Geosoft XYZ Triplet + Data
  • neither set → Geosoft XYZ Triplet

Column index parameters

All index parameters default to -1, which means "use the natural column order". Pass explicit zero-based column indices to select different columns from the file. These are only used in the Geosoft types, being ignored for all the others.

Parameter Default (-1) Custom (≥ 0)
x_index column 0 picks the specified column
y_index column 1 picks the specified column
z_index column 2 (or 0.0 for binary types) picks the specified column; also promotes the type to Triplet + Data when data_index is also set
data_index no attribute created picks the specified column as a per-point data attribute on the pointset

Implementations

The XYZ converter currently supports:

  • Reading – Parse a .xyz file into a NumPy float64 array of shape (N, 3) plus an optional list[float] of per-point data values.
  • Type detection – Automatically identify the XYZ variant from the first data line, refined by the z_index/data_index parameters.
  • Parquet export – Save the parsed coordinates to a Parquet file with three float64 columns (x, y, z). Per-point data values are saved to a separate Parquet file.
  • Publishing – Import the XYZ file as a Pointset (schema pointset/1.3.0) into an Evo workspace. When data values are present they are attached as a ContinuousAttribute named data on the pointset locations.

Publish geoscience objects from an XYZ file(s)

The evo-sdk-common Python library can be used to sign in. After successfully signing in, the user can select an organisation, an Evo hub, and a workspace. Use evo-objects to get an ObjectAPIClient, and evo-data-converters-xyz to convert your file.

Have a look at the code-samples/convert-xyz.ipynb notebook for an example of how to publish XYZ files.

Code of conduct

We rely on an open, friendly, inclusive environment. To help us ensure this remains possible, please familiarise yourself with our code of conduct.

License

Evo data converters are open source and licensed under the Apache 2.0 license.

Copyright © 2026 Bentley Systems, Incorporated.

Licensed under the Apache License, Version 2.0 (the "License"). You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

evo_data_converters_xyz-0.0.3.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

evo_data_converters_xyz-0.0.3-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file evo_data_converters_xyz-0.0.3.tar.gz.

File metadata

  • Download URL: evo_data_converters_xyz-0.0.3.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for evo_data_converters_xyz-0.0.3.tar.gz
Algorithm Hash digest
SHA256 d3dac95c2566e6e17eb45583b77e811c84b3b88dbb6e0055a3c868ac5c62ebf9
MD5 f756ccdeb9677408d63c826e9e9cdd74
BLAKE2b-256 618bcd5a25d229fd73581d54210d982d73218302ae0bcf107df09514a5e90aa7

See more details on using hashes here.

Provenance

The following attestation bundles were made for evo_data_converters_xyz-0.0.3.tar.gz:

Publisher: publish-xyz.yaml on SeequentEvo/evo-data-converters

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file evo_data_converters_xyz-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for evo_data_converters_xyz-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ef4bb6a33e99c4a669a68d522facea92492dbd48d573a8637300d1152f861209
MD5 a576f1dc8128160a56ff358aa252c7f7
BLAKE2b-256 0c9b0f7f808556c6ec7a51e67e24d4ebc6d4dd496cee52b727cd572a1c303964

See more details on using hashes here.

Provenance

The following attestation bundles were made for evo_data_converters_xyz-0.0.3-py3-none-any.whl:

Publisher: publish-xyz.yaml on SeequentEvo/evo-data-converters

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page