mostlyai-engine 1.1.0__tar.gz → 1.1.2__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 (50) hide show
  1. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/PKG-INFO +8 -4
  2. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/README.md +6 -2
  3. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/__init__.py +1 -1
  4. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/splitting.py +7 -2
  5. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/pyproject.toml +2 -2
  6. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/.gitignore +0 -0
  7. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/LICENSE +0 -0
  8. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_common.py +0 -0
  9. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_dtypes.py +0 -0
  10. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/__init__.py +0 -0
  11. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/language/__init__.py +0 -0
  12. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/language/categorical.py +0 -0
  13. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/language/datetime.py +0 -0
  14. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/language/numeric.py +0 -0
  15. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/language/text.py +0 -0
  16. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/tabular/__init__.py +0 -0
  17. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/tabular/categorical.py +0 -0
  18. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/tabular/character.py +0 -0
  19. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/tabular/datetime.py +0 -0
  20. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/tabular/itt.py +0 -0
  21. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/tabular/lat_long.py +0 -0
  22. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_encoding_types/tabular/numeric.py +0 -0
  23. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/__init__.py +0 -0
  24. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/common.py +0 -0
  25. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/encoding.py +0 -0
  26. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/engine/__init__.py +0 -0
  27. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/engine/base.py +0 -0
  28. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/engine/hf_engine.py +0 -0
  29. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/engine/vllm_engine.py +0 -0
  30. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/formatron_utils.py +0 -0
  31. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/generation.py +0 -0
  32. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/lstm.py +0 -0
  33. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/tokenizer_utils.py +0 -0
  34. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_language/training.py +0 -0
  35. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_memory.py +0 -0
  36. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_tabular/__init__.py +0 -0
  37. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_tabular/argn.py +0 -0
  38. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_tabular/common.py +0 -0
  39. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_tabular/encoding.py +0 -0
  40. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_tabular/fairness.py +0 -0
  41. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_tabular/generation.py +0 -0
  42. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_tabular/training.py +0 -0
  43. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_training_utils.py +0 -0
  44. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/_workspace.py +0 -0
  45. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/analysis.py +0 -0
  46. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/domain.py +0 -0
  47. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/encoding.py +0 -0
  48. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/generation.py +0 -0
  49. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/logging.py +0 -0
  50. {mostlyai_engine-1.1.0 → mostlyai_engine-1.1.2}/mostlyai/engine/training.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mostlyai-engine
3
- Version: 1.1.0
3
+ Version: 1.1.2
4
4
  Summary: Synthetic Data Engine
5
5
  Project-URL: homepage, https://github.com/mostly-ai/mostlyai-engine
6
6
  Project-URL: repository, https://github.com/mostly-ai/mostlyai-engine
@@ -30,7 +30,7 @@ Requires-Dist: formatron<0.5,>=0.4.11
30
30
  Requires-Dist: joblib<2,>=1.3.0
31
31
  Requires-Dist: json-repair<0.31,>=0.30.0
32
32
  Requires-Dist: numpy<2,>=1.26.3
33
- Requires-Dist: opacus<2,>=1.5.2
33
+ Requires-Dist: opacus==1.5.2
34
34
  Requires-Dist: pandas~=2.2.0
35
35
  Requires-Dist: peft<0.12,>=0.11.1
36
36
  Requires-Dist: psutil<6,>=5.9.5
@@ -168,13 +168,17 @@ engine.init_logging()
168
168
 
169
169
  # load original data
170
170
  trn_df = pd.read_parquet("https://github.com/mostly-ai/public-demo-data/raw/refs/heads/dev/headlines/headlines.parquet")
171
- trn_df = trn_df.sample(n=10_000, random_state=42)[['category', 'headline']]
171
+ trn_df = trn_df.sample(n=10_000, random_state=42)
172
172
 
173
173
  # execute the engine steps
174
174
  engine.split( # split data as PQT files for `trn` + `val` to `{ws}/OriginalData/tgt-data`
175
175
  workspace_dir=ws,
176
176
  tgt_data=trn_df,
177
- model_type="LANGUAGE",
177
+ tgt_encoding_types={
178
+ 'category': 'LANGUAGE_CATEGORICAL',
179
+ 'date': 'LANGUAGE_DATETIME',
180
+ 'headline': 'LANGUAGE_TEXT',
181
+ }
178
182
  )
179
183
  engine.analyze(workspace_dir=ws) # generate column-level statistics to `{ws}/ModelStore/tgt-stats/stats.json`
180
184
  engine.encode(workspace_dir=ws) # encode training data to `{ws}/OriginalData/encoded-data`
@@ -117,13 +117,17 @@ engine.init_logging()
117
117
 
118
118
  # load original data
119
119
  trn_df = pd.read_parquet("https://github.com/mostly-ai/public-demo-data/raw/refs/heads/dev/headlines/headlines.parquet")
120
- trn_df = trn_df.sample(n=10_000, random_state=42)[['category', 'headline']]
120
+ trn_df = trn_df.sample(n=10_000, random_state=42)
121
121
 
122
122
  # execute the engine steps
123
123
  engine.split( # split data as PQT files for `trn` + `val` to `{ws}/OriginalData/tgt-data`
124
124
  workspace_dir=ws,
125
125
  tgt_data=trn_df,
126
- model_type="LANGUAGE",
126
+ tgt_encoding_types={
127
+ 'category': 'LANGUAGE_CATEGORICAL',
128
+ 'date': 'LANGUAGE_DATETIME',
129
+ 'headline': 'LANGUAGE_TEXT',
130
+ }
127
131
  )
128
132
  engine.analyze(workspace_dir=ws) # generate column-level statistics to `{ws}/ModelStore/tgt-stats/stats.json`
129
133
  engine.encode(workspace_dir=ws) # encode training data to `{ws}/OriginalData/encoded-data`
@@ -22,7 +22,7 @@ from mostlyai.engine.generation import generate
22
22
 
23
23
 
24
24
  __all__ = ["split", "analyze", "encode", "train", "generate", "init_logging"]
25
- __version__ = "1.1.0"
25
+ __version__ = "1.1.2"
26
26
 
27
27
  # suppress specific warning related to os.fork() in multi-threaded processes
28
28
  warnings.filterwarnings("ignore", category=DeprecationWarning, message=".*multi-threaded.*fork.*")
@@ -55,8 +55,13 @@ def _get_default_tabular_encoding_type(x: pd.Series) -> ModelEncodingType:
55
55
  return ModelEncodingType.tabular_categorical
56
56
 
57
57
 
58
- def _get_default_language_encoding_type(_: pd.Series) -> ModelEncodingType:
59
- return ModelEncodingType.language_text
58
+ def _get_default_language_encoding_type(x: pd.Series) -> ModelEncodingType:
59
+ if is_integer_dtype(x) or is_float_dtype(x):
60
+ return ModelEncodingType.language_numeric
61
+ elif is_date_dtype(x) or is_timestamp_dtype(x):
62
+ return ModelEncodingType.language_datetime
63
+ else:
64
+ return ModelEncodingType.language_categorical
60
65
 
61
66
 
62
67
  def split(
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mostlyai-engine"
3
- version = "1.1.0"
3
+ version = "1.1.2"
4
4
  description = "Synthetic Data Engine"
5
5
  authors = [{ name = "MOSTLY AI", email = "dev@mostly.ai" }]
6
6
  requires-python = ">=3.10"
@@ -36,7 +36,7 @@ dependencies = [
36
36
  "datasets>=2.20.0,<3",
37
37
  "accelerate>=0.31.0,<0.32",
38
38
  "peft>=0.11.1,<0.12",
39
- "opacus>=1.5.2,<2",
39
+ "opacus==1.5.2", # pin as 1.5.3 breaks tests
40
40
  "formatron>=0.4.11,<0.5",
41
41
  "json-repair>=0.30.0,<0.31",
42
42
  "rich>=13.9.4,<14",
File without changes