Skip to main content

Python SDK for using Seequent Evo

Project description

Seequent logo

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.

SDKs

This repository contains a number of sub-packages. You may choose to install the evo-sdk package, which includes all sub-packages and optional dependencies (e.g. Jupyter notebook support), or choose a specific package to install:

Package Version Description
evo-sdk PyPI - Version A metapackage that installs all available Seequent Evo SDKs, including Jupyter notebook examples.
evo-sdk-common PyPI - Version A shared library that provides common functionality for integrating with Seequent's client SDKs.
evo-files PyPI - Version A service client for interacting with the Evo File API.
evo-objects PyPI - Version A geoscience object service client library designed to help get up and running with the Geoscience Object API.

Pre-requisites

Installation

To install the evo-sdk package, including all sub-packages, run the following command:

pip install evo-sdk

Seequent Evo APIs use OAuth for authentication. In order to support it in this example, we'll be using the asyncio library to power the OAuth callback process.

pip install asyncio

Getting started

Now that you have installed the Evo SDK, you can get started by configuring your API connector, and performing a basic API call to list the organizations that you have access to:

from evo.aio import AioTransport
from evo.oauth import OAuthConnector, AuthorizationCodeAuthorizer
from evo.discovery import DiscoveryAPIClient
from evo.common import APIConnector
import asyncio

transport = AioTransport(user_agent="Your Application Name")
connector = OAuthConnector(transport=transport, client_id="<YOUR_CLIENT_ID>")
authorizer = AuthorizationCodeAuthorizer(oauth_connector=connector, redirect_url="http://localhost:3000/signin-callback")

async def main():
    await authorizer.login()
    await discovery()

async def discovery():
    async with APIConnector("https://discover.api.seequent.com", transport, authorizer) as api_connector:
        discovery_client = DiscoveryAPIClient(api_connector)
        organizations = await discovery_client.list_organizations()
        print("Organizations:", organizations)

asyncio.run(main())

For next steps and more information about using Evo, see:

  • evo-sdk-common: providing the foundation for all Evo SDKs, as well as tools for performing arbitrary Seequent Evo API requests
  • evo-files: for interacting with the File API
  • evo-objects: for interacting with the Geoscience Object API
  • Seequent Developer Portal: for guides, tutorials, and API references

Contributing

Thank you for your interest in contributing to Seequent software. Please have a look over our contribution guide.

Getting started

All Python SDKs in this monorepo are managed with uv. We use workspaces in order to manage the different SDKs published out of this repository.

With workspaces, uv lock operates on the entire workspace at once. uv run and uv sync operate on the workspace root by default, though both accept a --package argument allowing you to run a command in a particular workspace member from any workspace directory.

Install UV

To install UV on your machine, run one of the following convenience scripts from the root of the repo. These scripts ensure everyone is using the same version.

Windows:

./scripts/install-uv.ps1

UNIX-like:

./scripts/install-uv.sh

You can run the same script again whenever the version in the UV_VERSION file changes. It will replace your existing installation of UV.

Install pre-commit hooks

Once you've installed UV, install pre-commit hooks. These are used to standardise development workflows for all contributors:

uv run pre-commit install

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

The Python SDK for Evo is 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


Download files

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

Source Distribution

evo_sdk-0.1.4.tar.gz (254.6 kB view details)

Uploaded Source

Built Distribution

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

evo_sdk-0.1.4-py3-none-any.whl (392.2 kB view details)

Uploaded Python 3

File details

Details for the file evo_sdk-0.1.4.tar.gz.

File metadata

  • Download URL: evo_sdk-0.1.4.tar.gz
  • Upload date:
  • Size: 254.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for evo_sdk-0.1.4.tar.gz
Algorithm Hash digest
SHA256 38749416a0ca59120f1272c6ee7a74e773236e5a62a70db07f774d7dfdc8a01a
MD5 b75097ace24d21209869c39def00657d
BLAKE2b-256 9d9de5a19a7bce357a8bea4ad8f8c793faed08081bd7313ecbde1bf84af1b4c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for evo_sdk-0.1.4.tar.gz:

Publisher: publish-evo-sdk.yaml on SeequentEvo/evo-python-sdk

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_sdk-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: evo_sdk-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 392.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for evo_sdk-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ddea74b56dfed329932663174449fc0471908b6fcc6c1c27fb58db6690974631
MD5 341788e1482dfec7eaf27872619cb4e8
BLAKE2b-256 9cc337aea6c5d1294b412156addc2c99a2992f639c0f9c5b4be78e711d889e1e

See more details on using hashes here.

Provenance

The following attestation bundles were made for evo_sdk-0.1.4-py3-none-any.whl:

Publisher: publish-evo-sdk.yaml on SeequentEvo/evo-python-sdk

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