Python data converters for Deswik DUF to Evo geoscience objects
Project description
Seequent Developer Portal • Seequent Community • Seequent 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
- Microsoft Windows - this package is not currently supported on Linux or macOS
- Deswik Spatial - https://www.deswik.com/products/spatial
- .NET Framework v4.7.2 or higher (or other compatible .NET runtime)
Installation
Windows
Python package
The package can be installed from PyPI using pip:
pip install evo-data-converters-duf
Deswik Suite
The duf data-converter package depends on an installed version of Deswik.Suite for interacting with DUF files. The
package will search for Deswik.Suite in C:\Program Files\Deswik, and use the latest version installed. If you have
installed Deswik.Suite in a different location, you will need to set the environment variable DESWIK_PATH to point
to your installation location, for example:
set DESWIK_PATH="D:\Applications\Deswik\Deswik.Suite 2024.1"
This package has been tested with Deswik Suite version 2024.1.
.NET Framework
The package uses pythonnet to resolve the appropriate .NET runtime. For Deswik.Suite 2024.1 up until (but not including) Deswik.Suite 2025.2, .NET Framework 4.7.2 or later is required. For 2025.2 and later, .NETCoreApp 8 or later is required.
If pythonnet fails to load the runtime, and you know where the runtime is installed, then you can set the environment variable DOTNET_ROOT. For other suggestions and more reading, see here. However, things described there are untested and may not work with your Deswik Suite installation.
macOS
Not currently supported.
Linux
Not currently supported.
DUF
Deswik Unified File (DUF) is a proprietary file format from Deswik Mining Consultants Pty Ltd.
Publish geoscience objects from a DUF file
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-common to convert your file.
Choose the DUF file you want to publish. Choose an EPSG code to use for the Coordinate Reference System. You can also specify tags to add to the created geoscience objects.
The flag combine_objects_in_layers can be specified True to cause the convert to attempt to combine objects of the
same type found in the same layer. For example, where a layer in the file contains only Polyface objects, these can
all be published as parts on a single Evo triangle-mesh object. Where a layer contains a mix of object types, or a
single type, but the Evo type the objects map to does not support multiple parts, the objects will be published as
separate Evo objects.
Then call convert_duf, passing it the DUF file path, EPSG code, the workspace metadata or service manager widget, the
tags, optionally the flag combine_objects_in_layers, and finally a path you want the published objects to appear under
in your workspace.
See the convert-duf sample notebook for a complete example.
Note: Some geometry types are not yet supported. A warning will be shown for each element that could not be converted. Currently, for publishing we support polyface objects and polylines, and all attribute types except for colour attributes.
Export objects to DUF
To do.
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 © 2025 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file evo_data_converters_duf-0.2.1.tar.gz.
File metadata
- Download URL: evo_data_converters_duf-0.2.1.tar.gz
- Upload date:
- Size: 22.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59cca602283e3a8603e81d8be51a899165474ebfa819610c1c015425c23a7d48
|
|
| MD5 |
6e14c5230c45454d7cf53b07a9d2bb37
|
|
| BLAKE2b-256 |
587b369d99a3c1d42fec06ccc32d08457ec0225e8a9e3ee66edb2b89758a21f8
|
Provenance
The following attestation bundles were made for evo_data_converters_duf-0.2.1.tar.gz:
Publisher:
publish-duf.yaml on SeequentEvo/evo-data-converters
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
evo_data_converters_duf-0.2.1.tar.gz -
Subject digest:
59cca602283e3a8603e81d8be51a899165474ebfa819610c1c015425c23a7d48 - Sigstore transparency entry: 763999067
- Sigstore integration time:
-
Permalink:
SeequentEvo/evo-data-converters@74885d797227ae8292eb009eea8dbd1ddcc509ef -
Branch / Tag:
refs/tags/evo-data-converters-duf@v0.2.1 - Owner: https://github.com/SeequentEvo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-duf.yaml@74885d797227ae8292eb009eea8dbd1ddcc509ef -
Trigger Event:
release
-
Statement type:
File details
Details for the file evo_data_converters_duf-0.2.1-py3-none-any.whl.
File metadata
- Download URL: evo_data_converters_duf-0.2.1-py3-none-any.whl
- Upload date:
- Size: 32.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9840c838f7bd5770332a608c010a5230dbb76fb1090b807fda46d8c432e8d43d
|
|
| MD5 |
b8cb73b36e94cf9733fcfc0b104bcc76
|
|
| BLAKE2b-256 |
852b0420d27feee7200f65f9d8bd09c9ce32ea439f977dce5d79088a72540b04
|
Provenance
The following attestation bundles were made for evo_data_converters_duf-0.2.1-py3-none-any.whl:
Publisher:
publish-duf.yaml on SeequentEvo/evo-data-converters
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
evo_data_converters_duf-0.2.1-py3-none-any.whl -
Subject digest:
9840c838f7bd5770332a608c010a5230dbb76fb1090b807fda46d8c432e8d43d - Sigstore transparency entry: 763999068
- Sigstore integration time:
-
Permalink:
SeequentEvo/evo-data-converters@74885d797227ae8292eb009eea8dbd1ddcc509ef -
Branch / Tag:
refs/tags/evo-data-converters-duf@v0.2.1 - Owner: https://github.com/SeequentEvo
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-duf.yaml@74885d797227ae8292eb009eea8dbd1ddcc509ef -
Trigger Event:
release
-
Statement type: