Skip to main content

Quick start guide

1. Register application

Start building your Evo integration by registering your application in Bentley

Fill in the required details, such as:

  • Application name
  • Application type: Native for this example
  • Redirect URIs: http://localhost:3000/signin-callback for this example. Redirect URIs specify where users may be redirected back to after signing in.

A Client ID will be generated - be sure to save it for the final step.

2. Install a Python SDK

Install SDK packages:

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

Looking for more?

Check out our other open source offerings to accelerate your geoscience development.

3. Start building

Here's how to get started with your app:

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

# Use the value you entered in step 1
REDIRECT_URL = "http://localhost:3000/signin-callback"
USER_AGENT = "Your Application Name"
# Enter the client ID you obtained in step 1
CLIENT_ID = "<YOUR_CLIENT_ID>"

transport = AioTransport(user_agent=USER_AGENT)
connector = OAuthConnector(transport=transport, client_id=CLIENT_ID)
authorizer = AuthorizationCodeAuthorizer(oauth_connector=connector, redirect_url=REDIRECT_URL)

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())

Need help? Connect with the developer community - they're a great resource for support and collaboration.