Skip to content

atlanhq/atlan-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SphinxDocs

Atlan Python SDK

This repository houses the code for a Python SDK to interact with Atlan.

https://developer.atlan.com/getting-started/python-sdk/

Installing for Development

Initial Setup

To get started developing the SDK:

  1. Clone the repository:

    git clone <repository-url>
  2. Ensure you have Python 3.8 or later installed. You can verify your Python version with:

    python --version

    or

    python3 --version
  3. Set up a virtual environment for development:

    python -m venv venv
    source venv/bin/activate  # On macOS/Linux
    venv\Scripts\activate     # On Windows
  4. Install the required dependencies:

    # Upgrade pip before installing dependencies
    python -m pip install --upgrade pip
    # Install required dependencies for development
    pip install -e . && pip install -r requirements-dev.txt

Code Formatting

Before committing code, ensure it adheres to the repository's formatting guidelines. You can apply the required formatting using the below command:

./pyatlan-formatter

Environment Setup

For running integration tests, you'll need to configure your environment:

  1. Copy the example environment file:
    cp .env.example .env
  2. Update the .env file with your Atlan API key and base URL.
  3. Load the environment variables:
    • For macOS/Linux:
      export $(cat .env | xargs)
    • For Windows (PowerShell): Load environment variables
      # Run this in PowerShell (not Command Prompt)
      Get-Content .env | ForEach-Object {
       if ($_ -match '^(.*?)=(.*)$') {
        $env:($matches[1]) = $matches[2]
       }
      }
    • For macOS/Linux: Load environment variables from .env file
      export $(cat .env | xargs)

Testing the SDK

Run all the QA checks

You can run all the QA checks using the following command:

./qa-checks

Running Unit Tests

You can run the SDK's unit tests without needing access to an Atlan environment:

pytest tests/unit

Running Integration Tests

Once the environment is set up, you can run integration tests:

  • All integration tests:
    pytest tests/integration
  • Specific integration tests:
    pytest tests/integration/<test_specific_feature>.py

Running the SDK Model Generator

If you've pushed new typedefs to Atlan and want to generate SDK asset models to manage them via the SDK, this section covers how to run the SDK generator.

Note

Before running any generator scripts, make sure you have configured your environment variables specifically ATLAN_BASE_URL and ATLAN_API_KEY.

  1. Retrieve the typedefs from your Atlan instance and save them to a JSON file by running:

    python3 pyatlan/generator/create_typedefs_file.py
  2. Generate the asset models, enums, and struct modules in the SDK based on the typedefs by running:

    python3 pyatlan/generator/class_generator.py
  3. The generated files will be unformatted. To format them properly, run the formatter:

    ./pyatlan-formatter

Attribution

Portions of the SDK are based on original work from https://github.com/apache/atlas. Those classes that derive from this original work have an extra heading comment as follows:

# Based on original code from https://github.com/apache/atlas (under Apache-2.0 license)

Portions of the SDK are based on original work from https://github.com/elastic/elasticsearch-dsl-py. Those classes that derive from this original work have an extra heading comment as follows:

# Based on original code from https://github.com/elastic/elasticsearch-dsl-py.git (under Apache-2.0 license)

License: CC BY 4.0, Copyright 2022 Atlan Pte. Ltd.