mostlyai-engine 1.0.0__tar.gz → 1.0.1__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.
Files changed (46) hide show
  1. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/PKG-INFO +7 -4
  2. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/README.md +5 -2
  3. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/__init__.py +1 -1
  4. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/training.py +2 -2
  5. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_tabular/training.py +2 -2
  6. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/training.py +2 -2
  7. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/pyproject.toml +2 -2
  8. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/.gitignore +0 -0
  9. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/LICENSE +0 -0
  10. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_common.py +0 -0
  11. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_dtypes.py +0 -0
  12. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/__init__.py +0 -0
  13. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/language/__init__.py +0 -0
  14. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/language/text.py +0 -0
  15. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/tabular/__init__.py +0 -0
  16. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/tabular/categorical.py +0 -0
  17. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/tabular/character.py +0 -0
  18. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/tabular/datetime.py +0 -0
  19. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/tabular/itt.py +0 -0
  20. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/tabular/lat_long.py +0 -0
  21. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_encoding_types/tabular/numeric.py +0 -0
  22. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/__init__.py +0 -0
  23. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/common.py +0 -0
  24. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/encoding.py +0 -0
  25. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/engine/__init__.py +0 -0
  26. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/engine/base.py +0 -0
  27. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/engine/hf_engine.py +0 -0
  28. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/engine/vllm_engine.py +0 -0
  29. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/formatron_utils.py +0 -0
  30. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/generation.py +0 -0
  31. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/lstm.py +0 -0
  32. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_language/tokenizer_utils.py +0 -0
  33. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_memory.py +0 -0
  34. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_tabular/__init__.py +0 -0
  35. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_tabular/argn.py +0 -0
  36. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_tabular/common.py +0 -0
  37. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_tabular/encoding.py +0 -0
  38. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_tabular/fairness.py +0 -0
  39. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_tabular/generation.py +0 -0
  40. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_training_utils.py +0 -0
  41. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/_workspace.py +0 -0
  42. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/analysis.py +0 -0
  43. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/domain.py +0 -0
  44. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/encoding.py +0 -0
  45. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/generation.py +0 -0
  46. {mostlyai_engine-1.0.0 → mostlyai_engine-1.0.1}/mostlyai/engine/splitting.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mostlyai-engine
3
- Version: 1.0.0
3
+ Version: 1.0.1
4
4
  Summary: Synthetic Data - Engine
5
5
  Project-URL: Homepage, https://github.com/mostly-ai/mostlyai-engine
6
6
  Project-URL: Documentation, https://mostly-ai.github.io/mostlyai-engine/
@@ -29,7 +29,7 @@ Requires-Dist: numpy<2,>=1.26.3
29
29
  Requires-Dist: opacus<2,>=1.5.2
30
30
  Requires-Dist: pandas~=2.2.0
31
31
  Requires-Dist: peft<0.12,>=0.11.1
32
- Requires-Dist: psutil<6,>=5.9.8
32
+ Requires-Dist: psutil<6,>=5.9.5
33
33
  Requires-Dist: pyarrow>=16.0.0
34
34
  Requires-Dist: rich<14,>=13.9.4
35
35
  Requires-Dist: setuptools<76,>=75.0.0
@@ -105,7 +105,10 @@ engine.split( # split data as PQT files for `trn` + `val
105
105
  )
106
106
  engine.analyze(workspace_dir=ws) # generate column-level statistics to `{ws}/ModelData/tgt-stats/stats.json`
107
107
  engine.encode(workspace_dir=ws) # encode training data to `{ws}/OriginalData/encoded-data`
108
- engine.train(workspace_dir=ws) # train model and store to `{ws}/ModelData/model-data`
108
+ engine.train( # train model and store to `{ws}/ModelStore/model-data`
109
+ workspace_dir=ws,
110
+ max_training_time=1, # limit TRAIN to 1 minute for demo purposes
111
+ )
109
112
  engine.generate(workspace_dir=ws) # use model to generate synthetic samples to `{ws}/SyntheticData`
110
113
  pd.read_parquet(ws / "SyntheticData") # load synthetic data
111
114
  ```
@@ -138,7 +141,7 @@ engine.analyze(workspace_dir=ws) # generate column-level statistics to `{ws
138
141
  engine.encode(workspace_dir=ws) # encode training data to `{ws}/OriginalData/encoded-data`
139
142
  engine.train( # train model and store to `{ws}/ModelStore/model-data`
140
143
  workspace_dir=ws,
141
- max_training_time=2, # limit TRAIN to 1 minute for demo purposes
144
+ max_training_time=1, # limit TRAIN to 1 minute for demo purposes
142
145
  )
143
146
  engine.generate(workspace_dir=ws) # use model to generate synthetic samples to `{ws}/SyntheticData`
144
147
  pd.read_parquet(ws / "SyntheticData") # load synthetic data
@@ -58,7 +58,10 @@ engine.split( # split data as PQT files for `trn` + `val
58
58
  )
59
59
  engine.analyze(workspace_dir=ws) # generate column-level statistics to `{ws}/ModelData/tgt-stats/stats.json`
60
60
  engine.encode(workspace_dir=ws) # encode training data to `{ws}/OriginalData/encoded-data`
61
- engine.train(workspace_dir=ws) # train model and store to `{ws}/ModelData/model-data`
61
+ engine.train( # train model and store to `{ws}/ModelStore/model-data`
62
+ workspace_dir=ws,
63
+ max_training_time=1, # limit TRAIN to 1 minute for demo purposes
64
+ )
62
65
  engine.generate(workspace_dir=ws) # use model to generate synthetic samples to `{ws}/SyntheticData`
63
66
  pd.read_parquet(ws / "SyntheticData") # load synthetic data
64
67
  ```
@@ -91,7 +94,7 @@ engine.analyze(workspace_dir=ws) # generate column-level statistics to `{ws
91
94
  engine.encode(workspace_dir=ws) # encode training data to `{ws}/OriginalData/encoded-data`
92
95
  engine.train( # train model and store to `{ws}/ModelStore/model-data`
93
96
  workspace_dir=ws,
94
- max_training_time=2, # limit TRAIN to 1 minute for demo purposes
97
+ max_training_time=1, # limit TRAIN to 1 minute for demo purposes
95
98
  )
96
99
  engine.generate(workspace_dir=ws) # use model to generate synthetic samples to `{ws}/SyntheticData`
97
100
  pd.read_parquet(ws / "SyntheticData") # load synthetic data
@@ -21,7 +21,7 @@ from mostlyai.engine.generation import generate
21
21
 
22
22
 
23
23
  __all__ = ["split", "analyze", "encode", "train", "generate"]
24
- __version__ = "1.0.0"
24
+ __version__ = "1.0.1"
25
25
 
26
26
  # suppress specific warning related to os.fork() in multi-threaded processes
27
27
  warnings.filterwarnings("ignore", category=DeprecationWarning, message=".*multi-threaded.*fork.*")
@@ -197,8 +197,8 @@ def _calculate_val_loss(model: PreTrainedModel | GradSampleModule, val_dataloade
197
197
  def train(
198
198
  *,
199
199
  model: str = "MOSTLY_AI/LSTMFromScratch-3m",
200
- max_training_time: float = 60.0,
201
- max_epochs: float = 100.0,
200
+ max_training_time: float = 14400.0, # 10 days
201
+ max_epochs: float = 100.0, # 100 epochs
202
202
  batch_size: int | None = None,
203
203
  gradient_accumulation_steps: int | None = None,
204
204
  enable_flexible_generation: bool = True,
@@ -339,8 +339,8 @@ def _calculate_average_trn_loss(trn_sample_losses: list[torch.Tensor], n: int |
339
339
  def train(
340
340
  *,
341
341
  model: str = "MOSTLY_AI/Medium",
342
- max_training_time: float = 60.0,
343
- max_epochs: float = 100.0,
342
+ max_training_time: float = 14400.0, # 10 days
343
+ max_epochs: float = 100.0, # 100 epochs
344
344
  batch_size: int | None = None,
345
345
  gradient_accumulation_steps: int | None = None,
346
346
  max_sequence_window: int = 100,
@@ -26,8 +26,8 @@ from mostlyai.engine._workspace import resolve_model_type
26
26
  def train(
27
27
  *,
28
28
  model: str | None = None,
29
- max_training_time: float = 60.0,
30
- max_epochs: float = 100.0,
29
+ max_training_time: float = 14400.0, # 10 days
30
+ max_epochs: float = 100.0, # 100 epochs
31
31
  batch_size: int | None = None,
32
32
  gradient_accumulation_steps: int | None = None,
33
33
  enable_flexible_generation: bool = True,
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mostlyai-engine"
3
- version = "1.0.0"
3
+ version = "1.0.1"
4
4
  description = "Synthetic Data - Engine"
5
5
  authors = [{ name = "MOSTLY AI", email = "dev@mostly.ai" }]
6
6
  requires-python = ">=3.10,<3.13"
@@ -27,7 +27,7 @@ dependencies = [
27
27
  "torch==2.5.1; sys_platform == 'darwin'",
28
28
  "pyarrow>=16.0.0",
29
29
  "joblib>=1.3.0,<2",
30
- "psutil>=5.9.8,<6",
30
+ "psutil>=5.9.5,<6", # upgrade when colab psutil is updated
31
31
  "tokenizers>=0.20.1,<0.21",
32
32
  "transformers>=4.45.2,<5",
33
33
  "datasets>=2.20.0,<3",
File without changes