Metadata-Version: 2.2
Name: pyatlan
Version: 4.2.3
Summary: Atlan Python Client
Home-page: https://github.com/atlanhq/atlan-python
Author: Atlan Technologies Pvt Ltd
Author-email: engineering@atlan.com
License: Apache LICENSE 2.0
Keywords: atlan client
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 5 - Production/Stable
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: requests>=2.24
Requires-Dist: pydantic<3.0.0,>=2.0.0
Requires-Dist: jinja2==3.1.5
Requires-Dist: tenacity==8.2.3
Requires-Dist: urllib3<3,>=1.26.0
Requires-Dist: lazy_loader~=0.4
Requires-Dist: nanoid==2.0.0
Requires-Dist: pytz==2024.2
Requires-Dist: python-dateutil==2.9.0.post0
Requires-Dist: PyYAML~=6.0.2
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

<!-- SPDX-License-Identifier: CC-BY-4.0 -->
<!-- Copyright 2022 Atlan Pte. Ltd. -->

[![SphinxDocs](https://img.shields.io/badge/sphinx--docs-passing-success)](https://atlanhq.github.io/atlan-python/)

# Atlan Python SDK

This repository houses the code for a Python SDK to interact with [Atlan](https://atlan.com).

## [Documentation](https://developer.atlan.com/getting-started/python-sdk/)

[https://developer.atlan.com/getting-started/python-sdk/](https://developer.atlan.com/getting-started/python-sdk/)



## Installing for Development

### Initial Setup
To get started developing the SDK:

1. Clone the repository:
   ```bash
   git clone <repository-url>
   ```

2. Ensure you have Python 3.8 or later installed. You can verify your Python version with:
   ```bash
   python --version
   ```
   or
   ```bash
   python3 --version
   ```

3. Set up a virtual environment for development:
   ```bash
   python -m venv venv
   source venv/bin/activate  # On macOS/Linux
   venv\Scripts\activate     # On Windows
   ```

4. Install the required dependencies:
   ```bash
   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:

```bash
./pyatlan-formatter
```

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

1. Copy the example environment file:
   ```bash
   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:
      ```bash
      export $(cat .env | xargs)
      ```
    - For Windows (PowerShell):
      ```powershell
      Get-Content .env | ForEach-Object {
          if ($_ -match '^(.*?)=(.*)$') {
              $env:($matches[1]) = $matches[2]
          }
      }
      ```

## Testing the SDK

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

```bash
./qa-checks
```

### Running Unit Tests
You can run the SDK's unit tests **without needing access to an Atlan environment**:

```bash
pytest tests/unit
```

### Running Integration Tests
Once the environment is set up, you can run integration tests:

- All integration tests:
  ```bash
  pytest tests/integration
  ```
- Specific integration tests:
  ```bash
  pytest tests/integration/<test_specific_feature>.py
  ```

## 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:

```python
# 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:

```python
# Based on original code from https://github.com/elastic/elasticsearch-dsl-py.git (under Apache-2.0 license)
```
----
License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/),
Copyright 2022 Atlan Pte. Ltd.
