batchalign 0.8.2.post12__tar.gz → 0.8.2.post13__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 (158) hide show
  1. {batchalign-0.8.2.post12/batchalign.egg-info → batchalign-0.8.2.post13}/PKG-INFO +1 -1
  2. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/analysis/compare.py +11 -10
  3. batchalign-0.8.2.post13/batchalign/version +3 -0
  4. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13/batchalign.egg-info}/PKG-INFO +1 -1
  5. batchalign-0.8.2.post12/batchalign/version +0 -3
  6. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/LICENSE +0 -0
  7. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/MANIFEST.in +0 -0
  8. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/README.md +0 -0
  9. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/__init__.py +0 -0
  10. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/__main__.py +0 -0
  11. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/cli/__init__.py +0 -0
  12. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/cli/bench.py +0 -0
  13. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/cli/cache.py +0 -0
  14. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/cli/cli.py +0 -0
  15. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/cli/dispatch.py +0 -0
  16. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/constants.py +0 -0
  17. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/document.py +0 -0
  18. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/errors.py +0 -0
  19. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/formats/__init__.py +0 -0
  20. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/formats/base.py +0 -0
  21. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/formats/chat/__init__.py +0 -0
  22. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/formats/chat/file.py +0 -0
  23. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/formats/chat/generator.py +0 -0
  24. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/formats/chat/lexer.py +0 -0
  25. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/formats/chat/parser.py +0 -0
  26. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/formats/chat/utils.py +0 -0
  27. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/formats/textgrid/__init__.py +0 -0
  28. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/formats/textgrid/file.py +0 -0
  29. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/formats/textgrid/generator.py +0 -0
  30. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/formats/textgrid/parser.py +0 -0
  31. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/__init__.py +0 -0
  32. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/audio_io.py +0 -0
  33. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/resolve.py +0 -0
  34. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/speaker/__init__.py +0 -0
  35. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/speaker/config.yaml +0 -0
  36. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/speaker/infer.py +0 -0
  37. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/speaker/utils.py +0 -0
  38. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/training/__init__.py +0 -0
  39. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/training/run.py +0 -0
  40. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/training/utils.py +0 -0
  41. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/utils.py +0 -0
  42. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/utterance/__init__.py +0 -0
  43. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/utterance/cantonese_infer.py +0 -0
  44. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/utterance/dataset.py +0 -0
  45. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/utterance/execute.py +0 -0
  46. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/utterance/infer.py +0 -0
  47. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/utterance/prep.py +0 -0
  48. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/utterance/train.py +0 -0
  49. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/wave2vec/__init__.py +0 -0
  50. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/wave2vec/infer_fa.py +0 -0
  51. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/whisper/__init__.py +0 -0
  52. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/whisper/infer_asr.py +0 -0
  53. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/models/whisper/infer_fa.py +0 -0
  54. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/__init__.py +0 -0
  55. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/analysis/__init__.py +0 -0
  56. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/analysis/eval.py +0 -0
  57. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/asr/__init__.py +0 -0
  58. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/asr/num2chinese.py +0 -0
  59. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/asr/num2lang/__init__.py +0 -0
  60. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/asr/num2lang/deu.py +0 -0
  61. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/asr/num2lang/ell.py +0 -0
  62. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/asr/num2lang/eng.py +0 -0
  63. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/asr/num2lang/eus.py +0 -0
  64. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/asr/num2lang/fra.py +0 -0
  65. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/asr/num2lang/hrv.py +0 -0
  66. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/asr/num2lang/ind.py +0 -0
  67. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/asr/num2lang/jpn.py +0 -0
  68. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/asr/num2lang/nld.py +0 -0
  69. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/asr/num2lang/por.py +0 -0
  70. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/asr/num2lang/spa.py +0 -0
  71. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/asr/num2lang/tha.py +0 -0
  72. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/asr/oai_whisper.py +0 -0
  73. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/asr/rev.py +0 -0
  74. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/asr/utils.py +0 -0
  75. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/asr/whisper.py +0 -0
  76. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/asr/whisperx.py +0 -0
  77. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/avqi/__init__.py +0 -0
  78. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/avqi/engine.py +0 -0
  79. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/base.py +0 -0
  80. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/cache.py +0 -0
  81. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/cleanup/__init__.py +0 -0
  82. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/cleanup/cleanup.py +0 -0
  83. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/cleanup/disfluencies.py +0 -0
  84. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/cleanup/parse_support.py +0 -0
  85. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/cleanup/retrace.py +0 -0
  86. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/cleanup/support/filled_pauses.eng +0 -0
  87. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/cleanup/support/replacements.eng +0 -0
  88. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/cleanup/support/test.test +0 -0
  89. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/diarization/__init__.py +0 -0
  90. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/diarization/pyannote.py +0 -0
  91. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/dispatch.py +0 -0
  92. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/fa/__init__.py +0 -0
  93. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/fa/wave2vec_fa.py +0 -0
  94. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/fa/whisper_fa.py +0 -0
  95. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/morphosyntax/__init__.py +0 -0
  96. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/morphosyntax/coref.py +0 -0
  97. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/morphosyntax/en/irr.py +0 -0
  98. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/morphosyntax/fr/apm.py +0 -0
  99. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/morphosyntax/fr/apmn.py +0 -0
  100. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/morphosyntax/fr/case.py +0 -0
  101. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/morphosyntax/ja/verbforms.py +0 -0
  102. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/morphosyntax/ud.py +0 -0
  103. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/opensmile/__init__.py +0 -0
  104. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/opensmile/engine.py +0 -0
  105. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/pipeline.py +0 -0
  106. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/segmentation/__init__.py +0 -0
  107. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/segmentation/cantonese_seg.py +0 -0
  108. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/speaker/__init__.py +0 -0
  109. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/speaker/nemo_speaker.py +0 -0
  110. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/translate/__init__.py +0 -0
  111. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/translate/gtrans.py +0 -0
  112. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/translate/seamless.py +0 -0
  113. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/translate/utils.py +0 -0
  114. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/utr/__init__.py +0 -0
  115. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/utr/rev_utr.py +0 -0
  116. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/utr/utils.py +0 -0
  117. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/utr/whisper_utr.py +0 -0
  118. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/utterance/__init__.py +0 -0
  119. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/pipelines/utterance/ud_utterance.py +0 -0
  120. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/__init__.py +0 -0
  121. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/cli/test_dispatch_memory.py +0 -0
  122. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/conftest.py +0 -0
  123. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/formats/chat/test_chat_file.py +0 -0
  124. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/formats/chat/test_chat_generator.py +0 -0
  125. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/formats/chat/test_chat_lexer.py +0 -0
  126. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/formats/chat/test_chat_parser.py +0 -0
  127. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/formats/chat/test_chat_utils.py +0 -0
  128. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/formats/textgrid/test_textgrid.py +0 -0
  129. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/models/test_audio_io.py +0 -0
  130. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/models/test_audio_lazy.py +0 -0
  131. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/pipelines/analysis/test_eval.py +0 -0
  132. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/pipelines/asr/test_asr_pipeline.py +0 -0
  133. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/pipelines/asr/test_asr_utils.py +0 -0
  134. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/pipelines/cache/__init__.py +0 -0
  135. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/pipelines/cache/test_cache.py +0 -0
  136. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/pipelines/cleanup/test_disfluency.py +0 -0
  137. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/pipelines/cleanup/test_parse_support.py +0 -0
  138. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/pipelines/fa/test_fa_pipeline.py +0 -0
  139. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/pipelines/fa/test_fa_short_segments.py +0 -0
  140. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/pipelines/fixures.py +0 -0
  141. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/pipelines/test_pipeline.py +0 -0
  142. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/pipelines/test_pipeline_models.py +0 -0
  143. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/tests/test_document.py +0 -0
  144. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/utils/__init__.py +0 -0
  145. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/utils/abbrev.py +0 -0
  146. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/utils/compounds.py +0 -0
  147. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/utils/config.py +0 -0
  148. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/utils/device.py +0 -0
  149. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/utils/dp.py +0 -0
  150. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/utils/names.py +0 -0
  151. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign/utils/utils.py +0 -0
  152. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign.egg-info/SOURCES.txt +0 -0
  153. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign.egg-info/dependency_links.txt +0 -0
  154. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign.egg-info/entry_points.txt +0 -0
  155. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign.egg-info/requires.txt +0 -0
  156. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/batchalign.egg-info/top_level.txt +0 -0
  157. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/setup.cfg +0 -0
  158. {batchalign-0.8.2.post12 → batchalign-0.8.2.post13}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: batchalign
3
- Version: 0.8.2.post12
3
+ Version: 0.8.2.post13
4
4
  Summary: Python Speech Language Sample Analysis
5
5
  Author: Brian MacWhinney, Houjun Liu
6
6
  Author-email: macw@cmu.edu, houjun@cmu.edu
@@ -159,11 +159,12 @@ def _find_best_segment(gold_tokens, main_tokens, mfn):
159
159
  multiset overlap with the gold utterance, ignoring order. To keep common
160
160
  words from swallowing later transcript material, it only considers windows
161
161
  near the gold utterance length. Among equally good windows it prefers the
162
- one with the fewest non-matching (wasted) tokens, then the most
163
- Levenshtein alignment matches, then the latest one as a final tiebreaker
164
- (so CHI repetitions / self-corrections beat earlier INV tokens). The caller then
165
- runs the full Levenshtein aligner inside that window to produce token
166
- annotations.
162
+ one with the most Levenshtein alignment matches (so order is respected and
163
+ cross-utterance fragments that happen to be dense don't beat in-utterance
164
+ matches), then fewer non-matching (wasted) tokens, then the latest one as
165
+ a final tiebreaker (so CHI repetitions / self-corrections beat earlier INV
166
+ tokens). The caller then runs the full Levenshtein aligner inside that
167
+ window to produce token annotations.
167
168
  """
168
169
  if not gold_tokens or not main_tokens:
169
170
  return 0, 0
@@ -212,15 +213,15 @@ def _find_best_segment(gold_tokens, main_tokens, mfn):
212
213
  best_waste = waste
213
214
  best_align_matches = align_matches
214
215
  elif score == best_score:
215
- if best_waste is None or waste < best_waste:
216
+ if align_matches > best_align_matches:
216
217
  best = (start, end)
217
218
  best_waste = waste
218
219
  best_align_matches = align_matches
219
- elif waste == best_waste:
220
- if align_matches > best_align_matches:
220
+ elif align_matches == best_align_matches:
221
+ if best_waste is None or waste < best_waste:
221
222
  best = (start, end)
222
- best_align_matches = align_matches
223
- elif align_matches == best_align_matches and end > best[1]:
223
+ best_waste = waste
224
+ elif waste == best_waste and end > best[1]:
224
225
  best = (start, end)
225
226
 
226
227
  # If no tokens overlap at all, return an empty window so the caller
@@ -0,0 +1,3 @@
1
+ 0.8.2-post.13
2
+ April 17 2026
3
+ compare update, again
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: batchalign
3
- Version: 0.8.2.post12
3
+ Version: 0.8.2.post13
4
4
  Summary: Python Speech Language Sample Analysis
5
5
  Author: Brian MacWhinney, Houjun Liu
6
6
  Author-email: macw@cmu.edu, houjun@cmu.edu
@@ -1,3 +0,0 @@
1
- 0.8.2-post.12
2
- April 15 2026
3
- compare beter