v1.0.0
tm1_git_py v1.0.0 (Initial Release)
Overview
tm1_git_py provides Git-like change management for IBM TM1 models:
- export TM1 model objects into file-based artifacts
- compare model states to generate a changeset
- apply changesets back to TM1 safely and in dependency-aware order
What’s Included
Core capabilities
- Model export/deserialization for key TM1 object types:
- Cubes, Dimensions, Hierarchies, Subsets, Views (MDX/Native), Rules, Processes, Chores
- Model comparison engine (
Comparator) producing structuredChangesetentries - Changeset import/export (YAML/JSON compatible workflows)
- Changeset apply engine with CRUD dispatch per object type
- Optional changeset status tracking for execution visibility
Diff and apply capabilities
- Leaf hierarchy noise reduction:
- auto-managed leaf element diffs are filtered from comparator output
- Deterministic sorting for apply order to reduce dependency-related failures
- Rule handling integrated into compare/apply flow (including unified rule-change execution)
Testing
- Broad unit test coverage for comparator, changeset, apply dispatch, and model CRUD adapters
- Integration tests for end-to-end compare/apply scenarios, including process/chore workflows
- Added targeted regression tests for:
- parent/child diff behavior
- view detection
- process/chore apply edge cases
Known limitations
- Some TM1 server behaviors are environment/version specific; choreography around active chores and process/task metadata may vary by instance configuration.