mimora 1.1.0__py3-none-any.whl

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 (69) hide show
  1. mimora/__init__.py +18 -0
  2. mimora/__main__.py +28 -0
  3. mimora/app.py +1733 -0
  4. mimora/audio_io.py +105 -0
  5. mimora/bootstrap.py +232 -0
  6. mimora/cli.py +90 -0
  7. mimora/config.py +1231 -0
  8. mimora/detect_hardware.py +682 -0
  9. mimora/engine.py +136 -0
  10. mimora/face_widget.py +960 -0
  11. mimora/first_run.py +466 -0
  12. mimora/first_run_download.py +489 -0
  13. mimora/first_run_window.py +730 -0
  14. mimora/gguf_fetch.py +184 -0
  15. mimora/languages/__init__.py +39 -0
  16. mimora/languages/english.py +175 -0
  17. mimora/languages/spanish.py +161 -0
  18. mimora/lifecycle.py +174 -0
  19. mimora/llama_server_fetch.py +1313 -0
  20. mimora/llm.py +458 -0
  21. mimora/llm_server_ctl.py +274 -0
  22. mimora/loader.py +263 -0
  23. mimora/model_fetch.py +556 -0
  24. mimora/models_info.py +229 -0
  25. mimora/paths.py +293 -0
  26. mimora/phoneme_examples.py +193 -0
  27. mimora/phrase_source.py +69 -0
  28. mimora/playback.py +149 -0
  29. mimora/progress_widget.py +387 -0
  30. mimora/prosody.py +137 -0
  31. mimora/prosody_utils.py +56 -0
  32. mimora/recorder.py +377 -0
  33. mimora/session.py +125 -0
  34. mimora/settings_ctl.py +172 -0
  35. mimora/settings_window.py +1336 -0
  36. mimora/spacy_model_fetch.py +470 -0
  37. mimora/texts/practice_text.txt +8 -0
  38. mimora/texts/practice_text_es.txt +8 -0
  39. mimora/themes/dark_schema.json +46 -0
  40. mimora/themes/light_schema.json +46 -0
  41. mimora/translator.py +185 -0
  42. mimora/tts.py +449 -0
  43. mimora/ui.py +945 -0
  44. mimora/ui_hero.py +528 -0
  45. mimora/ui_history.py +250 -0
  46. mimora/ui_practice.py +207 -0
  47. mimora/ui_prosody.py +196 -0
  48. mimora/ui_theme.py +324 -0
  49. mimora-1.1.0.dist-info/METADATA +462 -0
  50. mimora-1.1.0.dist-info/RECORD +69 -0
  51. mimora-1.1.0.dist-info/WHEEL +5 -0
  52. mimora-1.1.0.dist-info/entry_points.txt +2 -0
  53. mimora-1.1.0.dist-info/licenses/LICENSE +21 -0
  54. mimora-1.1.0.dist-info/top_level.txt +2 -0
  55. pronunciation/__init__.py +19 -0
  56. pronunciation/acoustic/__init__.py +31 -0
  57. pronunciation/acoustic/calibrate.py +166 -0
  58. pronunciation/acoustic/config.py +80 -0
  59. pronunciation/acoustic/speech.py +906 -0
  60. pronunciation/common/__init__.py +100 -0
  61. pronunciation/common/audio.py +82 -0
  62. pronunciation/common/compat.py +99 -0
  63. pronunciation/common/espeak.py +169 -0
  64. pronunciation/none/__init__.py +104 -0
  65. pronunciation/phoneme/__init__.py +36 -0
  66. pronunciation/phoneme/calibrate.py +173 -0
  67. pronunciation/phoneme/config.py +90 -0
  68. pronunciation/phoneme/en_model_calibration.json +66 -0
  69. pronunciation/phoneme/speech.py +1347 -0
mimora/__init__.py ADDED
@@ -0,0 +1,18 @@
1
+ # SPDX-License-Identifier: MIT
2
+ # Copyright (c) 2026 Valeriy Kovalev
3
+
4
+ """Mimora application package: configuration, LLM/TTS/translation managers and UI.
5
+
6
+ Pronunciation analysis lives in the separate top-level ``pronunciation`` package
7
+ (subpackages ``acoustic`` / ``phoneme`` / ``common``, dispatched by ``mimora/engine.py``);
8
+ ``main.py`` in the project root wires everything together.
9
+ """
10
+
11
+ # Single source of truth for the application version (SemVer MAJOR.MINOR.PATCH,
12
+ # with an optional PEP 440 pre-release suffix while a release is being tested).
13
+ # pyproject.toml reads this value dynamically; runtime code imports it from here.
14
+ #
15
+ # Every re-upload costs a version number: PyPI accepts a filename once and for
16
+ # all. A pre-release is still what a plain `pip install mimora` resolves to
17
+ # while no stable 1.1.0 exists, and can be yanked if it turns out wrong.
18
+ __version__ = "1.1.0"
mimora/__main__.py ADDED
@@ -0,0 +1,28 @@
1
+ # SPDX-License-Identifier: MIT
2
+ # Copyright (c) 2026 Valeriy Kovalev
3
+
4
+ """``python -m mimora`` support: a shim, with no logic of its own.
5
+
6
+ The entry point in pyproject.toml names ``mimora.cli:main`` rather than
7
+ anything here on purpose. Under ``python -m mimora`` this file is executed as
8
+ the module ``__main__``, so code living here would exist twice in a process
9
+ that also imported ``mimora.__main__`` under its real name - two module
10
+ objects, two copies of everything at module level. Keeping the logic in
11
+ ``cli.py`` makes that impossible instead of merely unlikely.
12
+
13
+ Why keep this form at all when the console script exists: it is the way in
14
+ when the script is not reachable. The interpreter's ``Scripts`` directory is
15
+ routinely missing from PATH on Windows, and a virtual environment moved to
16
+ another directory leaves script shims pointing at an interpreter that is no
17
+ longer there. ``python -m mimora`` works in both cases.
18
+ """
19
+
20
+ from mimora.cli import main
21
+
22
+ # The guard costs nothing and closes the remaining way to start the application
23
+ # by accident: both supported forms (``python -m mimora`` and
24
+ # ``python -m mimora.__main__``) run this file AS ``__main__`` and are
25
+ # unaffected, while a plain ``import mimora.__main__`` - a documentation tool
26
+ # walking the package, a stray editor auto-import - does not open a window.
27
+ if __name__ == "__main__":
28
+ main()