incremental
sqllocks_spindle.incremental
¶
Incremental generation engine for Spindle — C1 continue support + C5 time-travel.
Classes¶
ContinueConfig
dataclass
¶
Configuration for incremental generation.
Attributes:
| Name | Type | Description |
|---|---|---|
insert_count |
int
|
Number of new rows to generate per anchor table. |
update_fraction |
float
|
Fraction of existing rows to update (0.0 - 1.0). |
delete_fraction |
float
|
Fraction of existing rows to soft-delete (0.0 - 1.0). |
state_transitions |
dict[str, dict[str, dict[str, float]]]
|
Per-column Markov transition probabilities.
Format: |
timestamp_column |
str
|
Name of the delta-timestamp metadata column. |
delta_type_column |
str
|
Name of the delta-type metadata column. |
seed |
int | None
|
Optional random seed for reproducibility. |
ContinueEngine
¶
Generate incremental deltas (inserts, updates, deletes) from existing data.
Methods:¶
continue_from(existing, schema=None, config=None)
¶
Generate incremental changes from existing data.
Parameters¶
existing:
Either a GenerationResult (from Spindle.generate()) or a
plain dict[str, pd.DataFrame].
schema:
Optional SpindleSchema. If existing is a GenerationResult
the schema is extracted automatically.
config:
ContinueConfig controlling insert/update/delete volumes and
state-transition rules. Defaults are used when None.
DeltaResult
dataclass
¶
Result of incremental generation.
Snapshot
dataclass
¶
A point-in-time snapshot of the dataset.
TimeTravelConfig
dataclass
¶
Configuration for time-travel snapshot generation.
TimeTravelEngine
¶
Generate monthly point-in-time snapshots showing data evolution.
Methods:¶
generate(domain, config=None, scale='small')
¶
Generate monthly snapshots of a domain's data.
Month 0 is the initial dataset. Each subsequent month applies: - New entity growth (inserts) at growth_rate * seasonality multiplier - Status transitions (updates) at update_fraction rate - Churn (soft deletes) at churn_rate
Returns a TimeTravelResult with N+1 snapshots (month 0 through month N).