AlejandroBeldaFernandez/Calm-Data_Generator
CALM-Data-Generator is a comprehensive Python library for synthetic data generation with advanced features
What's novel
CALM-Data-Generator is a comprehensive Python library for synthetic data generation with advanced features
Code Analysis
10 files read · 3 roundsA unified synthetic data generation library that wraps multiple synthesis backends (Synthcity, scvi-tools, copulae, sklearn) behind a consistent API, adds Gaussian Copula-based conditional generation, implements 14+ types of controlled drift injection with correlation-aware propagation, and provides
Strengths
The ComplexGenerator's Gaussian Copula implementation (unconditional + conditional with proper PSD correction and discrete marginal handling via randomized quantile residuals) is mathematically sound and non-trivial. The CausalEngine's differential propagation through a topologically-sorted DAG is a genuinely useful and well-designed approach to simulating realistic multi-variable drift cascades.
Weaknesses
The mixin-heavy architecture (RealGenerator inherits 7 mixins, DriftInjector inherits 5) creates a complex MRO that's hard to navigate, and the _generate_from_fitted method in RealGenerator is a 200+ line if/elif chain that would be better served by a strategy pattern. The tabular synthesis methods are largely thin wrappers around Synthcity with minimal novel logic beyond the latent differentiation and conditional generation paths.
Score Breakdown
Signal breakdown
Innovation
Craft
Traction
Scope
Evidence
Commits
96
Contributors
1
Files
132
Active weeks
9
Repository
Language
Python
Stars
3
Forks
0
License
NOASSERTION