Skip to content

Releases: atlanhq/atlan-python

v9.7.4

02 Jun 08:12
3c621ab

Choose a tag to compare

Experimental: pyatlan_v9 πŸ§ͺ

  • Generated latest typedef models.

Full Changelog: 9.7.3...9.7.4

v9.7.3

25 May 10:56
77b86e7

Choose a tag to compare

πŸŽ‰ New Features

  • skillArtifactContent attribute on SkillArtifact: Adds the skill_artifact_content (skillArtifactContent) field to SkillArtifact in both pyatlan and pyatlan_v9. The Atlas API returns this attribute on SkillArtifact entities but PyAtlan was silently dropping it (Config.extra = ignore). This unblocks the Atlan MCP server from surfacing skill .md body content via get_asset / search_assets without needing a raw HTTP fallback. (#937)

🐞 Bug Fixes

  • Connection.creator validates connector_type slug (BLDX-1294): Connection.creator and Connection.creator_async (both pyatlan and pyatlan_v9) now validate connector_type.value against ^[a-z0-9-]+$ β€” the same pattern the Atlan platform's server-side asset-import (RAB) path enforces. Raises InvalidRequestError (ATLAN-PYTHON-400-079) on violation. Mirrors the Java SDK constraint. Root cause: a customer-created dev_cmdr connection (underscore in slug) caused RAB to reject every asset-import referencing it, leaving phantom Connection rows in Atlas. (#939)

Full Changelog: 9.7.2...9.7.3

v9.7.2

18 May 09:51
2d33c6a

Choose a tag to compare

πŸŽ‰ New Features

  • Add AMAZON_MSK to AtlanConnectorType: New AMAZON_MSK = ("amazon-msk", AtlanConnectionCategory.EVENT_BUS) enum entry, matching the Java SDK. Removes the need for the extend_enum workaround.

🐞 Bug Fixes

  • DataProduct.creator now defaults daap_visibility to PRIVATE: Mirrors the Atlan UI default. Fixes the marketplace Overview Assets tile rendering blank for products created via the SDK because the UI required both daapStatus and daapVisibility to be non-null. The earlier partial fix only set daap_status. New optional overrides also exposed on creator() / create(): daap_visibility, daap_visibility_users, daap_visibility_groups, owner_users, owner_groups.
  • DataProduct.creator defaults owner_users to the calling user: When a client is passed, the creating user's username is used as the default owner, matching UI behavior.

Full Changelog: 9.7.1...9.7.2

v9.7.1

01 May 09:41
8056510

Choose a tag to compare

🐞 Bug Fixes

  • DbtProcess and DbtColumnProcess now extend the correct process parent: Atlas typedefs list Dbt first in superTypes, causing the class generator to pick Dbt over Process/ColumnProcess as the Python superclass. This made issubclass(cls, Process) return False, causing atlan-publish-app to place dbt-process types in Batch 1 alongside their upstream entities and producing ATLAS-404 errors on every inputs/outputs lookup.

Full Changelog: 9.7.0...9.7.1

v9.7.0

30 Apr 18:18
06a63db

Choose a tag to compare

New Features πŸŽ‰

  • GENERIC_OPENLINEAGE connector type: Added AtlanConnectorType.GENERIC_OPENLINEAGE = ("generic-openlineage", AtlanConnectionCategory.ELT) so the SDK can target the marketplace generic-openlineage (GOLC) ingestion endpoint at /events/openlineage/generic-openlineage/api/v1/lineage. Mirrored in pyatlan_v9.
  • OpenLineageEvent.emit() accepts connector_type: emit() and emit_async() now take an optional connector_type kwarg (defaulting to SPARK), matching the pattern already used by emit_raw() / emit_raw_async(). Removes the previous hardcoded SPARK assumption so callers can route events to any OpenLineage-compatible connector.

Bug Fixes 🐞

  • DbtMeasure extends SemanticMeasure, not Dbt: The Atlas type hierarchy is DbtMeasure β†’ SemanticMeasure β†’ Semantic, but the generator picked Dbt as the Python parent because the typedef lists superTypes=["Dbt", "SemanticMeasure"] (Dbt first). This broke atlan-publish-app's ordering graph β€” DbtSemanticModel β†’ DbtMeasure edges were never created via the semantic_measures relationship, causing publish to fail with ATLAS-404 on semanticModel lookup.

Experimental: pyatlan_v9 πŸ§ͺ

  • Generated latest typedef models.

Full Changelog: 9.6.0...9.7.0

v9.6.0

27 Apr 08:43
2c08e90

Choose a tag to compare

New Features πŸŽ‰

  • Deprecated Phosphor icon enum values: Added 11 deprecated Phosphor icon names (PhActivity, PhCircleWavy*, PhFileDotted, PhFileSearch, PhFolderDotted, PhFolderSimpleDotted, PhPedestrian, PhTextBolder) to AtlanIcon so the SDK can deserialize tag definitions that reference old icon names without failing.

Bug Fixes 🐞

  • httpcore connection pool deadlock fix: Fixed a production deadlock where concurrent replace_custom_metadata calls could hang indefinitely. Root cause: httpcore's connection pool filled with CLOSE_WAIT zombie sockets (nginx closed idle connections at 75s, httpcore didn't detect this) and pool=None timeout meant threads waited forever. Fix adds pool=30.0 timeout, keepalive_expiry=30.0 (< nginx 75s), and response.close() before retry sleep to release connection slots. Includes reset_http_session() for recovering degraded pools in long-running workflows.

QOL Improvements πŸ₯—

  • Connection pool config extracted to constants: _DEFAULT_POOL_LIMITS and _DEFAULT_POOL_TIMEOUT_SECONDS defined once at module level instead of repeated 4 times across init, reset, max_retries, and timeout.
  • Trivy CI fix: Bumped Trivy from v0.69.0 (broken download) to v0.70.0.

Full Changelog: 9.5.0...9.6.0

v9.5.0

21 Apr 07:30
d32c766

Choose a tag to compare

New Features πŸŽ‰

Bug Fixes 🐞

  • showAsFeatured silent data loss on typedef update: AttributeDef.Options was missing the show_as_featured field, causing Pydantic to silently discard it on parse. Any SDK operation that fetched and re-submitted a Custom Metadata typedef with showAsFeatured set was clearing that setting in the backend. Added show_as_featured: Optional[bool] so the field now round-trips correctly.

Experimental: pyatlan_v9 πŸ§ͺ

  • Data contract delete methods: Same delete and delete_latest_version methods added to the v9 async/sync clients.
  • show_as_featured field: Added to v9 AttributeDef.Options as well.

Full Changelog: 9.4.1...9.5.0

v9.4.1

20 Apr 12:50
dbbddb0

Choose a tag to compare

New Features πŸŽ‰

  • Agentic type hierarchy: Added Python SDK support for the new Agentic hierarchy (Agentic, Artifact, Skill, SkillArtifact, Context, ContextRepository, ContextArtifact) with NanoID-based qualifiedName patterns and auto-populated parent refs on creators. Includes ContextLifecycleStatus enum and FileType.YAML/FileType.SQL additions.
  • FileType.MD enum value: Added md file type to the FileType enum.

QOL Improvements πŸ₯—

  • Generator --override flag: Added --override flag to the generator script to force re-download of typedefs, bypassing the daily cache check.
  • Generator template coverage: Added Jinja2 asset, attribute, and import templates for all Agentic types so the code generator can reproduce creator methods.
  • _CORE_ASSETS updates: Added Agentic types, Dremio, Cloud, Google, and GCPDataplex to the core assets list to stabilize code generation layout.
  • Regenerated models from latest typedefs.

Full Changelog: 9.4.0...9.4.1

v8.5.4

16 Apr 08:45

Choose a tag to compare

πŸŽ‰ New Features

  • Added md file type to enums.

Full Changelog: 8.5.3...8.5.4

v9.4.0

10 Apr 08:11
9ee6ff0

Choose a tag to compare

Experimental: pyatlan_v9 πŸ§ͺ

  • BusinessPolicyException, BusinessPolicyIncident, BusinessPolicyLog standalone classes: Added full standalone flat asset classes for these three business policy types. Previously only Related* reference types existed, so users couldn't create, search, or deprecate these asset types via pyatlan_v9.

QOL Improvements πŸ₯—

  • Generated latest typedef models.

Full Changelog: 9.3.2...9.4.0