This repository houses the code for a Python SDK to interact with Atlan.
https://developer.atlan.com/getting-started/python-sdk/
To get started developing the SDK:
-
Clone the repository:
git clone <repository-url>
-
Ensure you have Python 3.8 or later installed. You can verify your Python version with:
python --version
or
python3 --version
-
Set up a virtual environment for development:
python -m venv venv source venv/bin/activate # On macOS/Linux venv\Scripts\activate # On Windows
-
Install the required dependencies:
pip install -e . && pip install -r requirements-dev.txt
Before committing code, ensure it adheres to the repository's formatting guidelines. You can apply the required formatting using the below command:
./pyatlan-formatter
For running integration tests, you'll need to configure your environment:
- Copy the example environment file:
cp .env.example .env
- Update the
.env
file with your Atlan API key and base URL. - Load the environment variables:
- For macOS/Linux:
export $(cat .env | xargs)
- For Windows (PowerShell):
Get-Content .env | ForEach-Object { if ($_ -match '^(.*?)=(.*)$') { $env:($matches[1]) = $matches[2] } }
- For macOS/Linux:
You can run all the QA checks using the following command:
./qa-checks
You can run the SDK's unit tests without needing access to an Atlan environment:
pytest tests/unit
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
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.