Changelog#
This page contains the complete changelog for TanaT, documenting all notable changes, new features, bug fixes, and improvements across versions.
[v0.10.1] - June 2026#
Package structure cleanup
Changed#
Subtype registration now relies on explicit
__init__.pyimportstype/__init__.pyfiles own their subtype imports consistently across all modules
Dependencies#
Requires
tanat-utils >= 0.0.6
[v0.10.0] - June 2026#
Polars Engine & Arrow Store - Full rewrite of the data layer for scalable, lazy sequence and trajectory manipulation
Migration#
Repository moved to GitHub: TanaT is now hosted at Github. The Inria GitLab repository remains archived for historical versions up to v0.9.0.
Added#
Polars-based data engine: all internal data frames are now
polars.LazyFrame, enabling lazy evaluation, predicate pushdown, and significant memory savings on large datasetsArrow file store: sequences and trajectories are persisted as Apache Arrow files (
SequenceStore,TrajectoryStore), replacing the previous in-memory/pandas approachVirtual context layer (
VirtualStore): lightweight copy-on-write mechanism for type conversions and derived views without materialising intermediate dataIngestion sources: unified
AbstractSourceinterface withDataFrameSource,CsvSource,ParquetSource, andSqlSourcefor SQL query ingestionCast recipe system (
tanat.cast): structured type-cast overrides (SequenceCastRecipe,TrajectoryCastRecipe) applied lazily at view time, with validation (probe()) before executionFrame assembler layer (
SequenceFrameAssembler,TrajectoryFrameAssembler): centralises construction of view-schema LazyFrames, decoupling store layout from user-facing columns
Changed#
Breaking: API redesign, v0.10.0 is not fully backward-compatible with v0.9.x
Notes#
Compatibility: Python ≥3.10 and <3.14
Python 3.14 not recommended due to dependency wheel compatibility issues
Python 3.9 is no longer supported (Polars requires ≥3.10)
For historical versions below, please refer to the Inria GitLab archive.
[v0.9.0] - December 2025#
Performance & Scalability - JIT parallel computing and memory-mapped storage
Added#
Numba-optimized metrics: JIT-compiled kernels
Parallel matrix computation: Pairwise distances computed in parallel with
prangeMemory-mapped matrices: On-disk storage via
MatrixStorageOptionsfor large datasetEnhanced progress display: Structured, hierarchical progress tracking with timing for clustering and metric operations
Faceted plots: New
facet()method creates grid visualizations from any static feature for multi-dimensional data exploration
Notes#
Compatibility: Python ≥3.9 and <3.14
Python 3.14 not recommended due to dependency wheels compatibility issues
[v0.8.0] - November 2025#
Enhanced Validation & Analytics - Robust validation, metadata inference and statistical methods
Added#
Improve sequence/trajectory settings validation (Robust Pydantic-based validation, …)
Metadata inference/management system
Sequence type conversion
Clustering methods : Partitioning Around Medoids, Clustering Large Applications
Position/Rank-based methods:
head(),tail(),slice()methods with negative indexing and step samplingStatistical analysis methods:
describe()method andstatisticsproperty for computing comprehensive sequence and trajectory statistics (entropy, vocabulary size, transition counts, etc.)
Notes#
Compatibility: Python ≥3.9 and <3.14
Python 3.14 not recommended due to dependency wheels compatibility issues
[v0.7.0] - August 2025#
Foundation Release - Core architecture complete, ready for beta testing
Added#
Core architecture for temporal sequence analysis
Support for event, interval, and state sequences
Distance metrics for entities, sequences and trajectories
Clustering algorithms
Survival analysis
Criteria for data wrangling
Basic visualization tools
Comprehensive API documentation
Notes#
This is a preliminary release focusing on the core architecture
Ready for beta testing and feedback
Future releases will expand functionality and improve stability
Compatibility: Python >3.9 required