batchalign 0.8.2.post4__tar.gz → 0.8.2.post6__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 (156) hide show
  1. {batchalign-0.8.2.post4/batchalign.egg-info → batchalign-0.8.2.post6}/PKG-INFO +1 -1
  2. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/cli/dispatch.py +37 -8
  3. batchalign-0.8.2.post6/batchalign/version +3 -0
  4. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6/batchalign.egg-info}/PKG-INFO +1 -1
  5. batchalign-0.8.2.post4/batchalign/version +0 -3
  6. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/LICENSE +0 -0
  7. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/MANIFEST.in +0 -0
  8. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/README.md +0 -0
  9. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/__init__.py +0 -0
  10. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/__main__.py +0 -0
  11. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/cli/__init__.py +0 -0
  12. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/cli/bench.py +0 -0
  13. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/cli/cache.py +0 -0
  14. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/cli/cli.py +0 -0
  15. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/constants.py +0 -0
  16. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/document.py +0 -0
  17. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/errors.py +0 -0
  18. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/formats/__init__.py +0 -0
  19. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/formats/base.py +0 -0
  20. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/formats/chat/__init__.py +0 -0
  21. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/formats/chat/file.py +0 -0
  22. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/formats/chat/generator.py +0 -0
  23. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/formats/chat/lexer.py +0 -0
  24. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/formats/chat/parser.py +0 -0
  25. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/formats/chat/utils.py +0 -0
  26. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/formats/textgrid/__init__.py +0 -0
  27. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/formats/textgrid/file.py +0 -0
  28. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/formats/textgrid/generator.py +0 -0
  29. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/formats/textgrid/parser.py +0 -0
  30. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/__init__.py +0 -0
  31. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/audio_io.py +0 -0
  32. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/resolve.py +0 -0
  33. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/speaker/__init__.py +0 -0
  34. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/speaker/config.yaml +0 -0
  35. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/speaker/infer.py +0 -0
  36. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/speaker/utils.py +0 -0
  37. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/training/__init__.py +0 -0
  38. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/training/run.py +0 -0
  39. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/training/utils.py +0 -0
  40. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/utils.py +0 -0
  41. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/utterance/__init__.py +0 -0
  42. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/utterance/cantonese_infer.py +0 -0
  43. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/utterance/dataset.py +0 -0
  44. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/utterance/execute.py +0 -0
  45. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/utterance/infer.py +0 -0
  46. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/utterance/prep.py +0 -0
  47. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/utterance/train.py +0 -0
  48. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/wave2vec/__init__.py +0 -0
  49. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/wave2vec/infer_fa.py +0 -0
  50. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/whisper/__init__.py +0 -0
  51. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/whisper/infer_asr.py +0 -0
  52. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/models/whisper/infer_fa.py +0 -0
  53. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/__init__.py +0 -0
  54. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/analysis/__init__.py +0 -0
  55. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/analysis/compare.py +0 -0
  56. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/analysis/eval.py +0 -0
  57. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/asr/__init__.py +0 -0
  58. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/asr/num2chinese.py +0 -0
  59. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/asr/num2lang/__init__.py +0 -0
  60. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/asr/num2lang/deu.py +0 -0
  61. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/asr/num2lang/ell.py +0 -0
  62. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/asr/num2lang/eng.py +0 -0
  63. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/asr/num2lang/eus.py +0 -0
  64. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/asr/num2lang/fra.py +0 -0
  65. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/asr/num2lang/hrv.py +0 -0
  66. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/asr/num2lang/ind.py +0 -0
  67. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/asr/num2lang/jpn.py +0 -0
  68. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/asr/num2lang/nld.py +0 -0
  69. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/asr/num2lang/por.py +0 -0
  70. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/asr/num2lang/spa.py +0 -0
  71. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/asr/num2lang/tha.py +0 -0
  72. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/asr/oai_whisper.py +0 -0
  73. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/asr/rev.py +0 -0
  74. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/asr/utils.py +0 -0
  75. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/asr/whisper.py +0 -0
  76. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/asr/whisperx.py +0 -0
  77. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/avqi/__init__.py +0 -0
  78. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/avqi/engine.py +0 -0
  79. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/base.py +0 -0
  80. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/cache.py +0 -0
  81. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/cleanup/__init__.py +0 -0
  82. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/cleanup/cleanup.py +0 -0
  83. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/cleanup/disfluencies.py +0 -0
  84. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/cleanup/parse_support.py +0 -0
  85. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/cleanup/retrace.py +0 -0
  86. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/cleanup/support/filled_pauses.eng +0 -0
  87. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/cleanup/support/replacements.eng +0 -0
  88. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/cleanup/support/test.test +0 -0
  89. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/diarization/__init__.py +0 -0
  90. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/diarization/pyannote.py +0 -0
  91. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/dispatch.py +0 -0
  92. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/fa/__init__.py +0 -0
  93. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/fa/wave2vec_fa.py +0 -0
  94. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/fa/whisper_fa.py +0 -0
  95. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/morphosyntax/__init__.py +0 -0
  96. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/morphosyntax/coref.py +0 -0
  97. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/morphosyntax/en/irr.py +0 -0
  98. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/morphosyntax/fr/apm.py +0 -0
  99. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/morphosyntax/fr/apmn.py +0 -0
  100. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/morphosyntax/fr/case.py +0 -0
  101. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/morphosyntax/ja/verbforms.py +0 -0
  102. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/morphosyntax/ud.py +0 -0
  103. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/opensmile/__init__.py +0 -0
  104. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/opensmile/engine.py +0 -0
  105. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/pipeline.py +0 -0
  106. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/speaker/__init__.py +0 -0
  107. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/speaker/nemo_speaker.py +0 -0
  108. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/translate/__init__.py +0 -0
  109. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/translate/gtrans.py +0 -0
  110. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/translate/seamless.py +0 -0
  111. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/translate/utils.py +0 -0
  112. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/utr/__init__.py +0 -0
  113. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/utr/rev_utr.py +0 -0
  114. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/utr/utils.py +0 -0
  115. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/utr/whisper_utr.py +0 -0
  116. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/utterance/__init__.py +0 -0
  117. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/pipelines/utterance/ud_utterance.py +0 -0
  118. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/__init__.py +0 -0
  119. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/cli/test_dispatch_memory.py +0 -0
  120. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/conftest.py +0 -0
  121. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/formats/chat/test_chat_file.py +0 -0
  122. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/formats/chat/test_chat_generator.py +0 -0
  123. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/formats/chat/test_chat_lexer.py +0 -0
  124. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/formats/chat/test_chat_parser.py +0 -0
  125. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/formats/chat/test_chat_utils.py +0 -0
  126. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/formats/textgrid/test_textgrid.py +0 -0
  127. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/models/test_audio_io.py +0 -0
  128. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/models/test_audio_lazy.py +0 -0
  129. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/pipelines/analysis/test_eval.py +0 -0
  130. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/pipelines/asr/test_asr_pipeline.py +0 -0
  131. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/pipelines/asr/test_asr_utils.py +0 -0
  132. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/pipelines/cache/__init__.py +0 -0
  133. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/pipelines/cache/test_cache.py +0 -0
  134. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/pipelines/cleanup/test_disfluency.py +0 -0
  135. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/pipelines/cleanup/test_parse_support.py +0 -0
  136. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/pipelines/fa/test_fa_pipeline.py +0 -0
  137. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/pipelines/fa/test_fa_short_segments.py +0 -0
  138. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/pipelines/fixures.py +0 -0
  139. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/pipelines/test_pipeline.py +0 -0
  140. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/pipelines/test_pipeline_models.py +0 -0
  141. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/tests/test_document.py +0 -0
  142. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/utils/__init__.py +0 -0
  143. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/utils/abbrev.py +0 -0
  144. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/utils/compounds.py +0 -0
  145. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/utils/config.py +0 -0
  146. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/utils/device.py +0 -0
  147. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/utils/dp.py +0 -0
  148. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/utils/names.py +0 -0
  149. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign/utils/utils.py +0 -0
  150. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign.egg-info/SOURCES.txt +0 -0
  151. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign.egg-info/dependency_links.txt +0 -0
  152. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign.egg-info/entry_points.txt +0 -0
  153. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign.egg-info/requires.txt +0 -0
  154. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/batchalign.egg-info/top_level.txt +0 -0
  155. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/setup.cfg +0 -0
  156. {batchalign-0.8.2.post4 → batchalign-0.8.2.post6}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: batchalign
3
- Version: 0.8.2.post4
3
+ Version: 0.8.2.post6
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
@@ -227,15 +227,12 @@ def _run_pipeline_for_file(command, pipeline, file, output, loader_info, writer_
227
227
  CHATFile(doc=result["doc"]).write(output,
228
228
  merge_abbrev=local_kwargs.get("merge_abbrev", False))
229
229
 
230
- # Write metrics CSV
231
- import csv
230
+ # Write metrics as JSON sidecar for consolidated CSV later
231
+ import json as _json
232
232
  metrics = result["metrics"]
233
- csv_path = P(output).with_suffix(".compare.csv")
234
- with open(csv_path, 'w', newline='') as f:
235
- writer = csv.writer(f)
236
- writer.writerow(["metric", "value"])
237
- for k, v in metrics.items():
238
- writer.writerow([k, v])
233
+ json_path = P(output).with_suffix(".compare.json")
234
+ with open(json_path, 'w') as f:
235
+ _json.dump(metrics, f)
239
236
 
240
237
  elif command == "opensmile":
241
238
  from batchalign.document import Document
@@ -1049,6 +1046,38 @@ def _dispatch(command, lang, num_speakers,
1049
1046
  if not pool_mode_enabled:
1050
1047
  _persist_memory_history()
1051
1048
 
1049
+ # --- Consolidate per-file compare metrics into a single CSV ---
1050
+ if command == "compare" and outputs:
1051
+ import csv
1052
+ import json as _json
1053
+
1054
+ all_metrics = [] # list of (filename, metrics_dict)
1055
+ all_keys = [] # ordered superset of metric keys
1056
+
1057
+ for output_path in outputs:
1058
+ json_path = Path(output_path).with_suffix(".compare.json")
1059
+ if not json_path.exists():
1060
+ continue
1061
+ try:
1062
+ with open(json_path, 'r') as f:
1063
+ metrics = _json.load(f)
1064
+ rel = os.path.relpath(output_path, out_dir)
1065
+ all_metrics.append((rel, metrics))
1066
+ for k in metrics:
1067
+ if k not in all_keys:
1068
+ all_keys.append(k)
1069
+ json_path.unlink()
1070
+ except Exception:
1071
+ pass
1072
+
1073
+ if all_metrics:
1074
+ csv_path = Path(out_dir) / "compare.csv"
1075
+ with open(csv_path, 'w', newline='') as f:
1076
+ writer = csv.writer(f)
1077
+ writer.writerow(["file"] + all_keys)
1078
+ for filename, metrics in all_metrics:
1079
+ writer.writerow([filename] + [metrics.get(k, "") for k in all_keys])
1080
+
1052
1081
  if len(errors) > 0:
1053
1082
  C.print()
1054
1083
  for file, trcbk, err, captured in errors:
@@ -0,0 +1,3 @@
1
+ 0.8.2-post.6
2
+ March 28 2026
3
+ fix bugs
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: batchalign
3
- Version: 0.8.2.post4
3
+ Version: 0.8.2.post6
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.4
2
- March 30 2026
3
- More compare bug fixes