messageflight 0.2.4__tar.gz → 0.2.5__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 (67) hide show
  1. {messageflight-0.2.4 → messageflight-0.2.5}/PKG-INFO +1 -1
  2. messageflight-0.2.5/message_flight/__main__.py +3 -0
  3. messageflight-0.2.5/message_flight/cli.py +12 -0
  4. {messageflight-0.2.4 → messageflight-0.2.5}/pyproject.toml +4 -1
  5. messageflight-0.2.5/tests/test_cli.py +34 -0
  6. {messageflight-0.2.4 → messageflight-0.2.5}/.github/workflows/ci.yml +0 -0
  7. {messageflight-0.2.4 → messageflight-0.2.5}/.github/workflows/release.yml +0 -0
  8. {messageflight-0.2.4 → messageflight-0.2.5}/.gitignore +0 -0
  9. {messageflight-0.2.4 → messageflight-0.2.5}/.python-version +0 -0
  10. {messageflight-0.2.4 → messageflight-0.2.5}/LICENSE +0 -0
  11. {messageflight-0.2.4 → messageflight-0.2.5}/MessageFlight.spec +0 -0
  12. {messageflight-0.2.4 → messageflight-0.2.5}/README.id.md +0 -0
  13. {messageflight-0.2.4 → messageflight-0.2.5}/README.ja.md +0 -0
  14. {messageflight-0.2.4 → messageflight-0.2.5}/README.ko.md +0 -0
  15. {messageflight-0.2.4 → messageflight-0.2.5}/README.md +0 -0
  16. {messageflight-0.2.4 → messageflight-0.2.5}/README.ms.md +0 -0
  17. {messageflight-0.2.4 → messageflight-0.2.5}/README.th.md +0 -0
  18. {messageflight-0.2.4 → messageflight-0.2.5}/README.vi.md +0 -0
  19. {messageflight-0.2.4 → messageflight-0.2.5}/README.zh.md +0 -0
  20. {messageflight-0.2.4 → messageflight-0.2.5}/docs/plan/2026-06-10-codebase-fixes.md +0 -0
  21. {messageflight-0.2.4 → messageflight-0.2.5}/docs/plan/2026-06-10-performance-optimization.md +0 -0
  22. {messageflight-0.2.4 → messageflight-0.2.5}/docs/review/2026-06-10-full-codebase-review.md +0 -0
  23. {messageflight-0.2.4 → messageflight-0.2.5}/docs/superpowers/.gitkeep +0 -0
  24. {messageflight-0.2.4 → messageflight-0.2.5}/docs/tasks/.gitkeep +0 -0
  25. {messageflight-0.2.4 → messageflight-0.2.5}/message_flight/__init__.py +0 -0
  26. {messageflight-0.2.4 → messageflight-0.2.5}/message_flight/autostart.py +0 -0
  27. {messageflight-0.2.4 → messageflight-0.2.5}/message_flight/config.py +0 -0
  28. {messageflight-0.2.4 → messageflight-0.2.5}/message_flight/demo_notifications.py +0 -0
  29. {messageflight-0.2.4 → messageflight-0.2.5}/message_flight/flight_widget.py +0 -0
  30. {messageflight-0.2.4 → messageflight-0.2.5}/message_flight/i18n.py +0 -0
  31. {messageflight-0.2.4 → messageflight-0.2.5}/message_flight/notification_queue.py +0 -0
  32. {messageflight-0.2.4 → messageflight-0.2.5}/message_flight/notification_worker.py +0 -0
  33. {messageflight-0.2.4 → messageflight-0.2.5}/message_flight/plane_banner.py +0 -0
  34. {messageflight-0.2.4 → messageflight-0.2.5}/message_flight/plane_presets/__init__.py +0 -0
  35. {messageflight-0.2.4 → messageflight-0.2.5}/message_flight/plane_presets/airplane.py +0 -0
  36. {messageflight-0.2.4 → messageflight-0.2.5}/message_flight/plane_presets/base.py +0 -0
  37. {messageflight-0.2.4 → messageflight-0.2.5}/message_flight/plane_presets/bird.py +0 -0
  38. {messageflight-0.2.4 → messageflight-0.2.5}/message_flight/plane_presets/rocket.py +0 -0
  39. {messageflight-0.2.4 → messageflight-0.2.5}/message_flight/plane_presets/ufo.py +0 -0
  40. {messageflight-0.2.4 → messageflight-0.2.5}/message_flight/preset_editor.py +0 -0
  41. {messageflight-0.2.4 → messageflight-0.2.5}/message_flight/settings_dialog.py +0 -0
  42. {messageflight-0.2.4 → messageflight-0.2.5}/message_flight/tray_app.py +0 -0
  43. {messageflight-0.2.4 → messageflight-0.2.5}/message_flight/tts.py +0 -0
  44. {messageflight-0.2.4 → messageflight-0.2.5}/message_flight/tts_manager.py +0 -0
  45. {messageflight-0.2.4 → messageflight-0.2.5}/message_flight.py +0 -0
  46. {messageflight-0.2.4 → messageflight-0.2.5}/screenshots/screen_other_color.png +0 -0
  47. {messageflight-0.2.4 → messageflight-0.2.5}/screenshots/screen_top_on_game01.png +0 -0
  48. {messageflight-0.2.4 → messageflight-0.2.5}/screenshots/screen_top_on_game02.png +0 -0
  49. {messageflight-0.2.4 → messageflight-0.2.5}/screenshots/screen_top_on_screen.png +0 -0
  50. {messageflight-0.2.4 → messageflight-0.2.5}/tests/__init__.py +0 -0
  51. {messageflight-0.2.4 → messageflight-0.2.5}/tests/test_autostart.py +0 -0
  52. {messageflight-0.2.4 → messageflight-0.2.5}/tests/test_config.py +0 -0
  53. {messageflight-0.2.4 → messageflight-0.2.5}/tests/test_demo_notifications.py +0 -0
  54. {messageflight-0.2.4 → messageflight-0.2.5}/tests/test_flight_widget.py +0 -0
  55. {messageflight-0.2.4 → messageflight-0.2.5}/tests/test_i18n.py +0 -0
  56. {messageflight-0.2.4 → messageflight-0.2.5}/tests/test_notification_queue.py +0 -0
  57. {messageflight-0.2.4 → messageflight-0.2.5}/tests/test_notification_worker.py +0 -0
  58. {messageflight-0.2.4 → messageflight-0.2.5}/tests/test_performance.py +0 -0
  59. {messageflight-0.2.4 → messageflight-0.2.5}/tests/test_plane_banner.py +0 -0
  60. {messageflight-0.2.4 → messageflight-0.2.5}/tests/test_preset_editor.py +0 -0
  61. {messageflight-0.2.4 → messageflight-0.2.5}/tests/test_presets.py +0 -0
  62. {messageflight-0.2.4 → messageflight-0.2.5}/tests/test_readme_badges.py +0 -0
  63. {messageflight-0.2.4 → messageflight-0.2.5}/tests/test_settings_dialog.py +0 -0
  64. {messageflight-0.2.4 → messageflight-0.2.5}/tests/test_tray_app.py +0 -0
  65. {messageflight-0.2.4 → messageflight-0.2.5}/tests/test_tts.py +0 -0
  66. {messageflight-0.2.4 → messageflight-0.2.5}/tests/test_tts_manager.py +0 -0
  67. {messageflight-0.2.4 → messageflight-0.2.5}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: messageflight
3
- Version: 0.2.4
3
+ Version: 0.2.5
4
4
  Summary: Let Windows notifications fly across your screen like a little plane.
5
5
  Project-URL: Homepage, https://github.com/wx528/MessageFlight
6
6
  Project-URL: Issues, https://github.com/wx528/MessageFlight/issues
@@ -0,0 +1,3 @@
1
+ from message_flight.cli import main
2
+
3
+ main()
@@ -0,0 +1,12 @@
1
+ import logging
2
+
3
+ from message_flight.tray_app import TrayApplication
4
+
5
+
6
+ def main() -> None:
7
+ logging.basicConfig(
8
+ level=logging.DEBUG,
9
+ format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
10
+ datefmt="%H:%M:%S",
11
+ )
12
+ TrayApplication().run()
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "messageflight"
3
- version = "0.2.4"
3
+ version = "0.2.5"
4
4
  description = "Let Windows notifications fly across your screen like a little plane."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.8"
@@ -19,6 +19,9 @@ dependencies = [
19
19
  Homepage = "https://github.com/wx528/MessageFlight"
20
20
  Issues = "https://github.com/wx528/MessageFlight/issues"
21
21
 
22
+ [project.scripts]
23
+ messageflight = "message_flight.cli:main"
24
+
22
25
  [project.optional-dependencies]
23
26
  dev = ["pytest>=7.0,<9", "pytest-qt>=4.0", "mypy>=1.8,<1.15", "types-pywin32>=311; python_version >= '3.9'"]
24
27
 
@@ -0,0 +1,34 @@
1
+ import runpy
2
+ from pathlib import Path
3
+ from unittest.mock import MagicMock, patch
4
+
5
+
6
+ def test_main_configures_logging_and_runs_tray_app():
7
+ from message_flight.cli import main
8
+
9
+ with patch("message_flight.cli.logging.basicConfig") as basic_config, \
10
+ patch("message_flight.cli.TrayApplication") as tray_app:
11
+ main()
12
+
13
+ basic_config.assert_called_once_with(
14
+ level=10,
15
+ format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
16
+ datefmt="%H:%M:%S",
17
+ )
18
+ tray_app.return_value.run.assert_called_once_with()
19
+
20
+
21
+ def test_module_entrypoint_runs_main(monkeypatch):
22
+ main = MagicMock(return_value=None)
23
+ monkeypatch.setattr("message_flight.cli.main", main)
24
+
25
+ runpy.run_module("message_flight", run_name="__main__")
26
+
27
+ main.assert_called_once_with()
28
+
29
+
30
+ def test_pyproject_installs_messageflight_script():
31
+ pyproject = Path("pyproject.toml").read_text(encoding="utf-8")
32
+
33
+ assert '[project.scripts]' in pyproject
34
+ assert 'messageflight = "message_flight.cli:main"' in pyproject
File without changes
File without changes
File without changes
File without changes