You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: Switch to Pkl-generated __init__.py and .pyi, remove _generate_pkg_init.py
- __init__.py and __init__.pyi are now generated directly by PythonMsgspecRenderer
using lazy_loader.attach() with aggregated typedef data
- Removed _generate_pkg_init.py post-sync script (no longer needed)
- Updated skill to remove init generation step and __init__ rsync excludes
- Updated release notes for 9.2.0
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: HISTORY.md
+2-7Lines changed: 2 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,15 +4,10 @@
4
4
5
5
-**Policy duplicate detection during retries**: When a policy creation request times out but actually succeeds on the backend, the SDK now detects the existing policy instead of blindly retrying and creating a duplicate. On retry, the transport layer searches for an existing `AuthPolicy` with the same name and persona GUID — if found, it returns a mock response containing the existing policy. Code that relied on retries always creating new policies will now receive the existing policy instead.
6
6
7
-
### New Features
8
-
9
-
-**AtlanTag semantic support for bulk operations**: `client.asset.save()` now supports `SaveSemantic` (APPEND, REMOVE, REPLACE) when saving entities with Atlan tags in bulk. The SDK determines the appropriate API flags (`appendTags`, `replaceTags`) and makes a single bulk API call. Mixed semantics in a single call are rejected by the backend.
10
-
-**`KeywordTextDelimitedField`**: New field type for assets with delimiter-based text search support (using `atlan_text_analyzer_v2` analyzer).
11
-
12
7
### Experimental: `pyatlan_v9`
13
8
14
-
-**IDE autocompletion**: Replaced custom AST-based lazy loading with `lazy_loader` + auto-generated `.pyi` stub file. All 864 asset classes now have full IDE type hints and autocompletion while keeping lazy import performance.
15
-
-**Automated model sync**: Added `_generate_pkg_init.py` post-sync script and updated the GitHub Actions workflow to auto-generate `__init__.py`/ `__init__.pyi`after Pkl model sync.
9
+
-**IDE autocompletion**: Replaced custom AST-based lazy loading with `lazy_loader` + Pkl-generated `.pyi` stub file. All 860+ asset classes now have full IDE type hints and autocompletion while keeping lazy import performance.
10
+
-**Pkl-generated `__init__.py` and `__init__.pyi`**: The Pkl renderer now aggregates all typedefs (via `import*` glob) to generate `__init__.py`(with `lazy_loader.attach()` mapping) and `__init__.pyi`(with explicit re-exports for IDEs) directly — no post-sync Python script needed. Hand-written types from `_init_manual.py` are included by reading the file at generation time.
16
11
-**Model updates**: Regenerated all v9 models — GTC anchor regularization, entity lineage fields (`depth`, `immediate_upstream`, `immediate_downstream`), QuickSight `useLocalTypeAsPrefix`, fully Pkl-generated `DataQualityRule`, and referenceable field descriptors via overlays.
17
12
-**`type_name` serialization fix**: `type_name` field default changed to `UNSET` so `omit_defaults=True` never omits `typeName` from API requests.
18
13
-**Simplified `transform.py`**: Removed `_normalize_camel_key()` and related camelCase abbreviation handling — msgspec structs use explicit `field(name=...)` mappings. Asset registration now uses `cls.__name__` directly.
0 commit comments