mostlyai-engine 2.7.0__tar.gz → 2.7.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 (55) hide show
  1. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/PKG-INFO +1 -1
  2. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/__init__.py +1 -1
  3. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_language/xgrammar_utils.py +11 -8
  4. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/pyproject.toml +1 -1
  5. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/.gitignore +0 -0
  6. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/LICENSE +0 -0
  7. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/README.md +0 -0
  8. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_common.py +0 -0
  9. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_dtypes.py +0 -0
  10. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_encoding_types/__init__.py +0 -0
  11. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_encoding_types/language/__init__.py +0 -0
  12. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_encoding_types/language/categorical.py +0 -0
  13. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_encoding_types/language/datetime.py +0 -0
  14. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_encoding_types/language/numeric.py +0 -0
  15. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_encoding_types/language/text.py +0 -0
  16. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_encoding_types/tabular/__init__.py +0 -0
  17. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_encoding_types/tabular/categorical.py +0 -0
  18. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_encoding_types/tabular/character.py +0 -0
  19. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_encoding_types/tabular/datetime.py +0 -0
  20. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_encoding_types/tabular/itt.py +0 -0
  21. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_encoding_types/tabular/lat_long.py +0 -0
  22. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_encoding_types/tabular/numeric.py +0 -0
  23. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_language/__init__.py +0 -0
  24. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_language/common.py +0 -0
  25. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_language/encoding.py +0 -0
  26. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_language/engine/__init__.py +0 -0
  27. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_language/engine/base.py +0 -0
  28. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_language/engine/hf_engine.py +0 -0
  29. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_language/engine/vllm_engine.py +0 -0
  30. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_language/generation.py +0 -0
  31. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_language/interface.py +0 -0
  32. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_language/lstm.py +0 -0
  33. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_language/tokenizer_utils.py +0 -0
  34. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_language/training.py +0 -0
  35. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_language/xgrammar_hf_logits.py +0 -0
  36. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_memory.py +0 -0
  37. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_tabular/__init__.py +0 -0
  38. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_tabular/argn.py +0 -0
  39. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_tabular/common.py +0 -0
  40. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_tabular/encoding.py +0 -0
  41. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_tabular/fairness.py +0 -0
  42. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_tabular/generation.py +0 -0
  43. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_tabular/interface.py +0 -0
  44. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_tabular/probability.py +0 -0
  45. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_tabular/training.py +0 -0
  46. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_training_utils.py +0 -0
  47. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/_workspace.py +0 -0
  48. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/analysis.py +0 -0
  49. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/domain.py +0 -0
  50. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/encoding.py +0 -0
  51. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/generation.py +0 -0
  52. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/logging.py +0 -0
  53. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/random_state.py +0 -0
  54. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/splitting.py +0 -0
  55. {mostlyai_engine-2.7.0 → mostlyai_engine-2.7.1}/mostlyai/engine/training.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: mostlyai-engine
3
- Version: 2.7.0
3
+ Version: 2.7.1
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
@@ -34,7 +34,7 @@ __all__ = [
34
34
  "TabularARGN",
35
35
  "LanguageModel",
36
36
  ]
37
- __version__ = "2.7.0"
37
+ __version__ = "2.7.1"
38
38
 
39
39
  # suppress specific warning related to os.fork() in multi-threaded processes
40
40
  warnings.filterwarnings("ignore", category=DeprecationWarning, message=".*multi-threaded.*fork.*")
@@ -32,14 +32,17 @@ JSON_NULL = "null"
32
32
 
33
33
 
34
34
  def prepend_grammar_root_with_space(grammar: str) -> str:
35
- # XGrammar always starts with "{" when enforcing JSON Schema
36
- # training is done on strings like ` {...} {...}`
37
- # later, generation is done with prompt like ` {...}`
38
- # so the first output token must be a space
39
- start_of_grammar = 'root ::= "{"'
40
- start_of_grammar_with_space = 'root ::= " {"'
41
- assert start_of_grammar in grammar
42
- return grammar.replace(start_of_grammar, start_of_grammar_with_space)
35
+ # JSON-schema grammars start at "{". Training strings look like ` {...} {...}`
36
+ # and generation prompts look like ` {...}`, so the first output token must be a space.
37
+ # xgrammar <=0.2.3 emits `root ::= "{"`. xgrammar 0.2.7 emits `root ::= (("{"`.
38
+ replacements = (
39
+ ('root ::= "{"', 'root ::= " {"'),
40
+ ('root ::= (("{"', 'root ::= ((" {"'),
41
+ )
42
+ for start_of_grammar, start_of_grammar_with_space in replacements:
43
+ if start_of_grammar in grammar:
44
+ return grammar.replace(start_of_grammar, start_of_grammar_with_space)
45
+ raise AssertionError("unrecognized xgrammar root rule")
43
46
 
44
47
 
45
48
  def ensure_seed_can_be_tokenized(seed_data: pd.DataFrame, tokenizer: PreTrainedTokenizerBase) -> pd.DataFrame:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "mostlyai-engine"
3
- version = "2.7.0"
3
+ version = "2.7.1"
4
4
  description = "Synthetic Data Engine"
5
5
  requires-python = ">=3.11,<3.14"
6
6
  readme = "README.md"
File without changes