katabatic 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- katabatic-0.2.0/CHANGELOG.md +87 -0
- katabatic-0.2.0/LICENSE +21 -0
- katabatic-0.2.0/PKG-INFO +730 -0
- katabatic-0.2.0/README.md +649 -0
- katabatic-0.2.0/katabatic/__init__.py +15 -0
- katabatic-0.2.0/katabatic/artifacts/__init__.py +27 -0
- katabatic-0.2.0/katabatic/artifacts/base.py +21 -0
- katabatic-0.2.0/katabatic/artifacts/dataset_split.py +138 -0
- katabatic-0.2.0/katabatic/artifacts/ids.py +19 -0
- katabatic-0.2.0/katabatic/artifacts/local.py +33 -0
- katabatic-0.2.0/katabatic/artifacts/refs.py +88 -0
- katabatic-0.2.0/katabatic/cli/__init__.py +3 -0
- katabatic-0.2.0/katabatic/cli/commands/__init__.py +3 -0
- katabatic-0.2.0/katabatic/cli/commands/model_init.py +201 -0
- katabatic-0.2.0/katabatic/cli/commands/pin_notebook_kernel.py +101 -0
- katabatic-0.2.0/katabatic/cli/commands/register_dataset.py +34 -0
- katabatic-0.2.0/katabatic/cli/main.py +101 -0
- katabatic-0.2.0/katabatic/datasets/__init__.py +9 -0
- katabatic-0.2.0/katabatic/datasets/adult.csv +32562 -0
- katabatic-0.2.0/katabatic/datasets/car.csv +1729 -0
- katabatic-0.2.0/katabatic/datasets/car1.csv +10 -0
- katabatic-0.2.0/katabatic/datasets/compatibility.py +45 -0
- katabatic-0.2.0/katabatic/datasets/magic.csv +19021 -0
- katabatic-0.2.0/katabatic/datasets/nursery.csv +12961 -0
- katabatic-0.2.0/katabatic/datasets/profile.py +85 -0
- katabatic-0.2.0/katabatic/datasets/registry.py +109 -0
- katabatic-0.2.0/katabatic/datasets/shuttle.csv +58001 -0
- katabatic-0.2.0/katabatic/evaluate/base_evaluation.py +24 -0
- katabatic-0.2.0/katabatic/evaluate/consistency/__init__.py +3 -0
- katabatic-0.2.0/katabatic/evaluate/consistency/evaluation.py +255 -0
- katabatic-0.2.0/katabatic/evaluate/diversity/__init__.py +3 -0
- katabatic-0.2.0/katabatic/evaluate/diversity/evaluation.py +256 -0
- katabatic-0.2.0/katabatic/evaluate/fidelity/__init__.py +3 -0
- katabatic-0.2.0/katabatic/evaluate/fidelity/evaluation.py +212 -0
- katabatic-0.2.0/katabatic/evaluate/privacy/__init__.py +3 -0
- katabatic-0.2.0/katabatic/evaluate/privacy/evaluation.py +259 -0
- katabatic-0.2.0/katabatic/evaluate/report/__init__.py +3 -0
- katabatic-0.2.0/katabatic/evaluate/report/composite.py +156 -0
- katabatic-0.2.0/katabatic/evaluate/stability/__init__.py +3 -0
- katabatic-0.2.0/katabatic/evaluate/stability/evaluation.py +191 -0
- katabatic-0.2.0/katabatic/evaluate/tstr/evaluation.py +204 -0
- katabatic-0.2.0/katabatic/evaluate/utility/__init__.py +3 -0
- katabatic-0.2.0/katabatic/evaluate/utility/evaluation.py +268 -0
- katabatic-0.2.0/katabatic/models/__init__.py +9 -0
- katabatic-0.2.0/katabatic/models/base_model.py +67 -0
- katabatic-0.2.0/katabatic/models/codi/README.md +67 -0
- katabatic-0.2.0/katabatic/models/codi/__init__.py +12 -0
- katabatic-0.2.0/katabatic/models/codi/image.png +0 -0
- katabatic-0.2.0/katabatic/models/codi/models.py +685 -0
- katabatic-0.2.0/katabatic/models/codi/utils.py +549 -0
- katabatic-0.2.0/katabatic/models/ctgan/__init__.py +5 -0
- katabatic-0.2.0/katabatic/models/ctgan/models.py +596 -0
- katabatic-0.2.0/katabatic/models/ctgan/utils.py +194 -0
- katabatic-0.2.0/katabatic/models/ganblr/README.md +79 -0
- katabatic-0.2.0/katabatic/models/ganblr/__init__.py +14 -0
- katabatic-0.2.0/katabatic/models/ganblr/models.py +833 -0
- katabatic-0.2.0/katabatic/models/ganblr/utils.py +137 -0
- katabatic-0.2.0/katabatic/models/great/great_dataset.py +97 -0
- katabatic-0.2.0/katabatic/models/great/great_start.py +167 -0
- katabatic-0.2.0/katabatic/models/great/great_trainer.py +46 -0
- katabatic-0.2.0/katabatic/models/great/great_utils.py +185 -0
- katabatic-0.2.0/katabatic/models/great/models.py +919 -0
- katabatic-0.2.0/katabatic/models/medgan/README.md +73 -0
- katabatic-0.2.0/katabatic/models/medgan/__init__.py +11 -0
- katabatic-0.2.0/katabatic/models/medgan/models.py +384 -0
- katabatic-0.2.0/katabatic/models/medgan/utils.py +201 -0
- katabatic-0.2.0/katabatic/models/pategan/README.md +327 -0
- katabatic-0.2.0/katabatic/models/pategan/__init__.py +4 -0
- katabatic-0.2.0/katabatic/models/pategan/models.py +717 -0
- katabatic-0.2.0/katabatic/models/pategan/utils.py +320 -0
- katabatic-0.2.0/katabatic/models/registry.py +150 -0
- katabatic-0.2.0/katabatic/models/tabddpm/__init__.py +5 -0
- katabatic-0.2.0/katabatic/models/tabddpm/models.py +680 -0
- katabatic-0.2.0/katabatic/models/tabddpm/utils.py +225 -0
- katabatic-0.2.0/katabatic/models/tabsyn/__init__.py +5 -0
- katabatic-0.2.0/katabatic/models/tabsyn/models.py +185 -0
- katabatic-0.2.0/katabatic/models/tabsyn/utils.py +859 -0
- katabatic-0.2.0/katabatic/pipeline/base_pipeline.py +19 -0
- katabatic-0.2.0/katabatic/pipeline/cross_validation/pipeline.py +24 -0
- katabatic-0.2.0/katabatic/pipeline/evaluation_pipeline.py +278 -0
- katabatic-0.2.0/katabatic/pipeline/train_test_split/pipeline.py +370 -0
- katabatic-0.2.0/katabatic/utils/__init__.py +1 -0
- katabatic-0.2.0/katabatic/utils/column_types.py +43 -0
- katabatic-0.2.0/katabatic/utils/preprocess.py +94 -0
- katabatic-0.2.0/katabatic/utils/split_dataset.py +133 -0
- katabatic-0.2.0/katabatic/utils/train_test_consistency.py +50 -0
- katabatic-0.2.0/pyproject.toml +144 -0
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [0.2.0] - 2026-08-28
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- Six-dimension evaluation pipeline: fidelity, utility, diversity, privacy, consistency, and stability (`katabatic.pipeline.evaluation_pipeline`).
|
|
13
|
+
- Six additional models registered as experimental: `codi`, `ctgan`, `medgan`, `pategan`, `tabddpm`, `tabsyn`.
|
|
14
|
+
- Model promotion contract, enforced automatically by the `model-contract` CI job: registry entry with matching extra, importable module and class, pipeline interface (`train`, `sample`, `load_from_ref`), non-empty `ARTIFACT_STATE_FILES`, and an integration test.
|
|
15
|
+
- Parameterised contract test harness (`tests/test_model_registry.py`) covering every model marked supported.
|
|
16
|
+
- CTGAN integration test with a full artifact round-trip: state persistence, reload via `load_from_ref`, and sampling with column-order verification.
|
|
17
|
+
- CI jobs: pre-commit, bandit and pip-audit security scanning, coverage gating, per-model integration matrix with path filtering, Docker build and smoke test, and combined coverage reporting across jobs.
|
|
18
|
+
- Dockerfile with build-time extras selection (`MODEL_EXTRA`), CPU-only PyTorch, layer-split dependency install, and a non-root runtime user.
|
|
19
|
+
- Developer tooling: pre-commit hooks, Makefile targets mirroring CI (`make ci`, `make contract`, `make hooks`), and a generic `make install-model MODEL=x`.
|
|
20
|
+
- Repository governance: branch protection on `main` and `development`, CODEOWNERS restricting merges on protected branches, and Dependabot configuration.
|
|
21
|
+
- `ModelRegistry.get_model_config()` public accessor.
|
|
22
|
+
|
|
23
|
+
### Changed
|
|
24
|
+
|
|
25
|
+
- Migrated packaging to the PEP 621 `[project]` standard; model dependencies moved from core into extras.
|
|
26
|
+
- Poetry 1.x -> 2.x.
|
|
27
|
+
- GANBLR promoted to supported: declares `ARTIFACT_STATE_FILES`, persists state to the artifact store, and honours the `train_epochs` keyword.
|
|
28
|
+
- CTGAN promoted to supported.
|
|
29
|
+
- GReaT reverted to experimental pending modernisation to the current model contract (no state persistence).
|
|
30
|
+
- GReaT removed from the CI integration matrix while unsupported; its tests remain skipped pending modernisation to the current model contract.
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
|
|
34
|
+
- CTGAN column-type inference treated low-cardinality integer columns as continuous on small datasets, producing continuous synthetic targets that broke TSTR evaluation.
|
|
35
|
+
- GANBLR did not persist model state, so trained models could not be reloaded from an artifact reference.
|
|
36
|
+
- `katabatic.__version__` is now read from installed package metadata, making `pyproject.toml` the single source of truth.
|
|
37
|
+
- Constrained `huggingface-hub` to `<1.0` and `fsspec` to `<=2026.2.0` in the `great` and `all` extras, resolving incompatibilities with `transformers` 4.57 and `datasets` 4.x.
|
|
38
|
+
- Removed `tabpfn` from the `all` extra: it requires `huggingface-hub>=1.0`, which `transformers` 4.x rejects. The standalone `tabpfgen` extra is unaffected.
|
|
39
|
+
|
|
40
|
+
### Security
|
|
41
|
+
|
|
42
|
+
- `torch` 2.9.0 -> 2.13.0, resolving CVE-2025-2999, CVE-2025-3001, PYSEC-2026-139, PYSEC-2026-2286, and PYSEC-2025-194.
|
|
43
|
+
- `transformers` 4.53.2 -> 4.57.0, resolving PYSEC-2025-211 through -216 and -218. Remaining advisories require the v5 major upgrade and are deferred pending GReaT's modernisation.
|
|
44
|
+
- `tensorflow` 2.19 -> 2.21.
|
|
45
|
+
- Docker container hardened to run as a non-root user.
|
|
46
|
+
- Dependency vulnerability scanning (`pip-audit`) and static analysis (`bandit`) added to CI.
|
|
47
|
+
|
|
48
|
+
### Removed
|
|
49
|
+
|
|
50
|
+
- Stale per-model `pyproject.toml` and `poetry.lock` files.
|
|
51
|
+
- `dev_deps.py`, repo-root `main.py` and `utils.py`, and `katabatic/models/ganblr/kdb.py`.
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
## [0.1.0a1] - 2026-05-22
|
|
55
|
+
|
|
56
|
+
First public **alpha** release on TestPyPI / PyPI.
|
|
57
|
+
|
|
58
|
+
## [0.1.0] - 2026-05-22
|
|
59
|
+
|
|
60
|
+
### Added
|
|
61
|
+
|
|
62
|
+
- PyPI packaging with lean core install (`pandas`, `numpy`, `scikit-learn`) and optional extras (`ganblr`, `great`, `eval`, and experimental model extras).
|
|
63
|
+
- `katabatic` CLI: `init-model`, `register-dataset`, `pin-notebook-kernel`.
|
|
64
|
+
- Packaged preprocessing API at `katabatic.utils.preprocess` (`preprocess_tabular`, `encode_preprocess`).
|
|
65
|
+
- GitHub Actions CI: `poetry check`, `ruff`, fast `pytest`, wheel build, optional integration job for GANBLR.
|
|
66
|
+
- Documentation: install matrix, artifact-first quick start, `docs/EXPERIMENTAL_MODELS.md`.
|
|
67
|
+
- Integration smoke tests for GANBLR (artifact pipeline) and GReaT (import/registry wiring).
|
|
68
|
+
- `ModelRegistry` `supported` flag for officially supported models (`ganblr`, `great`).
|
|
69
|
+
|
|
70
|
+
### Changed
|
|
71
|
+
|
|
72
|
+
- Heavy dependencies (TensorFlow, PyTorch, Jupyter, etc.) moved out of the default install into extras or dev dependencies.
|
|
73
|
+
- Root `utils.py` is a deprecation shim; import from `katabatic.utils.preprocess` instead.
|
|
74
|
+
- README and CONTRIBUTING updated for `datascience-works/Katabatic` URLs and current dev tooling (`ruff`, `poetry install --with dev`).
|
|
75
|
+
|
|
76
|
+
### Fixed
|
|
77
|
+
|
|
78
|
+
- Removed invalid `libzero` extra reference that broke `poetry check`.
|
|
79
|
+
- Removed `sys.path` hack from GANBLR model module for installed-package compatibility.
|
|
80
|
+
|
|
81
|
+
### Deprecated
|
|
82
|
+
|
|
83
|
+
- Repo-root `utils` module (use `katabatic.utils.preprocess`).
|
|
84
|
+
- `python main.py` entry point (use `katabatic` CLI).
|
|
85
|
+
|
|
86
|
+
[0.1.0a1]: https://github.com/datascience-works/Katabatic/releases/tag/v0.1.0a1
|
|
87
|
+
[0.1.0]: https://github.com/datascience-works/Katabatic/releases/tag/v0.1.0
|
katabatic-0.2.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Katabatic Team
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
20
|
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
21
|
+
DEALINGS IN THE SOFTWARE.
|