evo-python-sdk - Evo Python SDK

# evo-python-sdk

GitHub repository

## Getting started with Evo code samples

For detailed information about creating Evo apps, the authentication setup, available code samples, and step-by-step guides for working with the Jupyter notebooks, please refer to the Quick start guide, or code-samples section of the repository.

This comprehensive guide will walk you through everything required to get started with Evo APIs.

## Getting started with the Evo SDK

The evo-python-sdk 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 |  | A metapackage that installs all available Seequent Evo SDKs, including Jupyter notebook examples.
evo-sdk-common (discovery and workspaces) |  | A shared library that provides common functionality for integrating with Seequent's client SDKs.
evo-files |  | A service client for interacting with the Evo File API.
evo-objects |  | A geoscience object service client library designed to help get up and running with the Geoscience Object API.
evo-colormaps |  | A service client to create colour mappings and associate them to geoscience data with the Colormap API.
evo-blockmodels |  | The Block Model API provides the ability to manage and report on block models in your Evo workspaces.
evo-compute |  | A service client to send jobs to the Compute Tasks API.

### 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` (`discovery` and `workspaces`): 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
- `evo-colormaps`: for interacting with the Colormap API
- `evo-blockmodels`: for interacting with the Block Model API
- `evo-compute`: for interacting with the Compute Tasks API

#### Keyboard Shortcuts

Keys | Action
--- | ---
`?` | Open this help
`n` | Next page
`p` | Previous page
`s` | Search