pyapacheatlas
A package to simplify working with the Apache Atlas REST APIs for Atlas and Azure Purview.
What it is and what it does
PyApacheAtlas is a Python SDK that bridges programmatic and low-code workflows for managing metadata in Azure Purview and Apache Atlas. It wraps the REST APIs of both systems to let you create, update, and query entities (data assets), define custom types and classifications, establish lineage relationships, and manage glossary terms—all from Python code or from Excel templates that the package can parse and upload.
The package is designed for two user profiles: developers who want to automate metadata operations through Python, and business users or data stewards who prefer working with Excel spreadsheets. It handles authentication to both Azure Purview (via service principals) and Apache Atlas (via basic auth), and includes validation helpers to check entity correctness before upload. The core dependencies are minimal (openpyxl for Excel parsing, requests for HTTP calls), making it lightweight to integrate into existing data pipelines.
Use it for:
- Bulk-load data asset metadata and lineage definitions into Azure Purview or Apache Atlas from Python scripts or scheduled jobs.
- Parse and upload metadata from Excel templates to avoid manual API calls for repetitive metadata registration tasks.
- Programmatically define custom entity types, classifications, and relationships to extend the metadata model beyond built-in types.
- Automate data lineage tracking by creating Process entities and relationships between source and target assets.
- Validate metadata before upload using the package's "What-If" analysis to catch missing or invalid attributes early.
- Query and extract existing entities by GUID or qualified name for downstream processing or reporting.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PyApacheAtlas provides a Python SDK and Excel integration for programmatic and low-code interaction with Azure Purview and Apache Atlas APIs, supporting entity management, lineage definition, type definitions, and classifications.
Yes, if you are actively working with Azure Purview or Apache Atlas and need to automate metadata operations at scale. The low install friction and permissive license make it a practical choice. However, be aware that maintenance is dormant—no updates since late 2023—so evaluate whether the current API compatibility matches your target system versions and whether you can support the package yourself if needed.
Install
pyapacheatlas on PyPI
pip
pip install pyapacheatlasuv
uv add pyapacheatlaspoetry
poetry add pyapacheatlasInstalling pyapacheatlas
Before you install
Low install friction with only two runtime dependencies (openpyxl and requests). Maintenance is dormant—last commit was 2024-10-24 and no release since 2023-12-23—so expect no active bug fixes or feature development, though the repository is not archived.
License in practice
Licensed under MIT (permissive), so you can use, modify, and distribute the package freely with minimal restrictions.
Quickstart
pip install pyapacheatlas
from pyapacheatlas.core import AtlasEntity
from pyapacheatlas.auth import ServicePrincipalAuthentication
# Create an entity and authenticate to Azure Purview
entity = AtlasEntity(name="my_asset", typeName="DataSet")
Requires Python 3.6 or later. For Azure Purview authentication, you need azure-identity and appropriate service principal credentials configured.
Verify before relying
- Whether the package works with current versions of Azure Purview and Apache Atlas APIs, given the dormant maintenance status.
- Whether Excel template functionality is fully documented and actively supported.
- Performance characteristics for bulk operations on large metadata sets.
Package facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — openpyxl, requests |
| Maintenance | dormant — 965 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 573,943/month — #5,942 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyapacheatlas-0.16.0-py3-none-any.whl
Tags
More Front-Ends packages
SQLAlchemy is a Python SQL toolkit and Object…
permissive · top 100 on PyPI
psycopg2-binarypsycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
alembicAlembic generates and manages database schema…
permissive · top 1,000 on PyPI
weaviate-clientA Python client library for connecting to and…
permissive · top 1,000 on PyPI
databricks-sql-connectorA Python client library that connects to…
permissive · top 1,000 on PyPI
psycopgPsycopg 3 is a PostgreSQL database adapter for…
copyleft · top 1,000 on PyPI
atlasclientA Python client for Apache Atlas REST API v2…
permissive · top 5,000 on PyPI
PowerPlatform-Dataverse-ClientA Python client library for Microsoft Dataverse…
unclear · top 15,000 on PyPI
agent-framework-purviewAdds Microsoft Purview data governance and DLP…
permissive · top 15,000 on PyPI
azure-cosmosdb-tableClient library for reading, writing, and…
permissive · top 5,000 on PyPI
cloudfoundry-clientA Python client library for interacting with…
unclear · top 15,000 on PyPI
azure-mgmt-consumptionProvides programmatic access to Azure…
permissive · top 5,000 on PyPI
azure-mgmt-monitorProvides programmatic access to Azure Monitor…
permissive · top 5,000 on PyPI
pulumiPulumi's Python SDK lets you define and deploy…
permissive · top 5,000 on PyPI
alpaca-pyAlpaca-py is the official Python SDK for…
permissive · top 5,000 on PyPI
azure-applicationinsightsProvides a Python client library for querying…
permissive · top 5,000 on PyPI