mmrelay 1.1.4__tar.gz → 1.2.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.

Potentially problematic release.


This version of mmrelay might be problematic. Click here for more details.

Files changed (110) hide show
  1. {mmrelay-1.1.4/src/mmrelay.egg-info → mmrelay-1.2.1}/PKG-INFO +21 -50
  2. {mmrelay-1.1.4 → mmrelay-1.2.1}/README.md +8 -47
  3. {mmrelay-1.1.4 → mmrelay-1.2.1}/requirements.txt +7 -5
  4. {mmrelay-1.1.4 → mmrelay-1.2.1}/setup.py +14 -2
  5. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/__init__.py +1 -1
  6. mmrelay-1.2.1/src/mmrelay/cli.py +1614 -0
  7. mmrelay-1.2.1/src/mmrelay/cli_utils.py +696 -0
  8. mmrelay-1.2.1/src/mmrelay/config.py +831 -0
  9. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/constants/app.py +12 -0
  10. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/constants/config.py +6 -1
  11. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/constants/messages.py +10 -1
  12. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/constants/network.py +7 -0
  13. mmrelay-1.2.1/src/mmrelay/e2ee_utils.py +392 -0
  14. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/log_utils.py +39 -5
  15. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/main.py +96 -26
  16. mmrelay-1.2.1/src/mmrelay/matrix_utils.py +2322 -0
  17. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/meshtastic_utils.py +192 -40
  18. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/message_queue.py +205 -54
  19. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/plugin_loader.py +76 -44
  20. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/plugins/base_plugin.py +16 -4
  21. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/plugins/weather_plugin.py +108 -11
  22. mmrelay-1.2.1/src/mmrelay/tools/sample-docker-compose-prebuilt.yaml +80 -0
  23. mmrelay-1.2.1/src/mmrelay/tools/sample-docker-compose.yaml +65 -0
  24. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/tools/sample_config.yaml +31 -5
  25. {mmrelay-1.1.4 → mmrelay-1.2.1/src/mmrelay.egg-info}/PKG-INFO +21 -50
  26. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay.egg-info/SOURCES.txt +12 -1
  27. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay.egg-info/requires.txt +7 -1
  28. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_async_patterns.py +41 -27
  29. mmrelay-1.2.1/tests/test_cli.py +3632 -0
  30. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_cli_edge_cases.py +81 -79
  31. mmrelay-1.2.1/tests/test_cli_utils.py +391 -0
  32. mmrelay-1.2.1/tests/test_config.py +795 -0
  33. mmrelay-1.2.1/tests/test_config_checker.py +1064 -0
  34. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_config_edge_cases.py +24 -13
  35. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_constants.py +8 -1
  36. mmrelay-1.2.1/tests/test_core_utils_coverage.py +229 -0
  37. mmrelay-1.2.1/tests/test_e2ee_encryption.py +428 -0
  38. mmrelay-1.2.1/tests/test_e2ee_integration.py +374 -0
  39. mmrelay-1.2.1/tests/test_e2ee_runner.py +214 -0
  40. mmrelay-1.2.1/tests/test_e2ee_unified.py +532 -0
  41. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_error_boundaries.py +55 -121
  42. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_integration_scenarios.py +127 -173
  43. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_log_utils.py +92 -0
  44. mmrelay-1.2.1/tests/test_main.py +1323 -0
  45. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_map_plugin.py +87 -44
  46. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_matrix_utils.py +943 -73
  47. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_matrix_utils_edge_cases.py +45 -22
  48. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_mesh_relay_plugin.py +16 -6
  49. mmrelay-1.2.1/tests/test_meshtastic_broadcast_enabled.py +120 -0
  50. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_meshtastic_utils.py +609 -80
  51. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_meshtastic_utils_edge_cases.py +75 -57
  52. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_message_queue.py +106 -45
  53. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_message_queue_edge_cases.py +9 -28
  54. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_network_reliability.py +8 -6
  55. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_performance_stress.py +323 -332
  56. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_plugin_loader.py +13 -10
  57. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_plugin_loader_edge_cases.py +11 -5
  58. mmrelay-1.2.1/tests/test_runtime_no_errors.py +63 -0
  59. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_setup_utils.py +1 -1
  60. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_setup_utils_edge_cases.py +1 -1
  61. mmrelay-1.2.1/tests/test_tools_init.py +52 -0
  62. mmrelay-1.2.1/tests/test_weather_plugin.py +1110 -0
  63. mmrelay-1.1.4/src/mmrelay/cli.py +0 -489
  64. mmrelay-1.1.4/src/mmrelay/config.py +0 -270
  65. mmrelay-1.1.4/src/mmrelay/config_checker.py +0 -162
  66. mmrelay-1.1.4/src/mmrelay/matrix_utils.py +0 -1347
  67. mmrelay-1.1.4/src/mmrelay/tools/sample-docker-compose.yaml +0 -39
  68. mmrelay-1.1.4/tests/test_cli.py +0 -577
  69. mmrelay-1.1.4/tests/test_config.py +0 -360
  70. mmrelay-1.1.4/tests/test_config_checker.py +0 -596
  71. mmrelay-1.1.4/tests/test_main.py +0 -750
  72. mmrelay-1.1.4/tests/test_weather_plugin.py +0 -526
  73. {mmrelay-1.1.4 → mmrelay-1.2.1}/LICENSE +0 -0
  74. {mmrelay-1.1.4 → mmrelay-1.2.1}/MANIFEST.in +0 -0
  75. {mmrelay-1.1.4 → mmrelay-1.2.1}/pyproject.toml +0 -0
  76. {mmrelay-1.1.4 → mmrelay-1.2.1}/setup.cfg +0 -0
  77. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/constants/__init__.py +0 -0
  78. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/constants/database.py +0 -0
  79. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/constants/formats.py +0 -0
  80. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/constants/queue.py +0 -0
  81. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/db_utils.py +0 -0
  82. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/plugins/__init__.py +0 -0
  83. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/plugins/debug_plugin.py +0 -0
  84. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/plugins/drop_plugin.py +0 -0
  85. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/plugins/health_plugin.py +0 -0
  86. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/plugins/help_plugin.py +0 -0
  87. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/plugins/map_plugin.py +0 -0
  88. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/plugins/mesh_relay_plugin.py +0 -0
  89. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/plugins/nodes_plugin.py +0 -0
  90. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/plugins/ping_plugin.py +0 -0
  91. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/plugins/telemetry_plugin.py +0 -0
  92. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/setup_utils.py +0 -0
  93. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/tools/__init__.py +0 -0
  94. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/tools/mmrelay.service +0 -0
  95. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay/tools/sample.env +0 -0
  96. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay.egg-info/dependency_links.txt +0 -0
  97. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay.egg-info/entry_points.txt +0 -0
  98. {mmrelay-1.1.4 → mmrelay-1.2.1}/src/mmrelay.egg-info/top_level.txt +0 -0
  99. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_base_plugin.py +0 -0
  100. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_db_utils.py +0 -0
  101. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_db_utils_edge_cases.py +0 -0
  102. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_debug_plugin.py +0 -0
  103. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_drop_plugin.py +0 -0
  104. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_health_plugin.py +0 -0
  105. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_help_plugin.py +0 -0
  106. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_imports.py +0 -0
  107. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_nodes_plugin.py +0 -0
  108. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_ping_plugin.py +0 -0
  109. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_prefix_customization.py +0 -0
  110. {mmrelay-1.1.4 → mmrelay-1.2.1}/tests/test_telemetry_plugin.py +0 -0
@@ -1,31 +1,40 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mmrelay
3
- Version: 1.1.4
3
+ Version: 1.2.1
4
4
  Summary: Bridge between Meshtastic mesh networks and Matrix chat rooms
5
5
  Home-page: https://github.com/jeremiah-k/meshtastic-matrix-relay
6
6
  Author: Geoff Whittington, Jeremiah K., and contributors
7
7
  Author-email: jeremiahk@gmx.com
8
8
  Project-URL: Bug Tracker, https://github.com/jeremiah-k/meshtastic-matrix-relay/issues
9
9
  Classifier: Programming Language :: Python :: 3
10
+ Classifier: Programming Language :: Python :: 3.9
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
10
14
  Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
11
15
  Classifier: Operating System :: OS Independent
12
16
  Classifier: Development Status :: 4 - Beta
13
17
  Classifier: Topic :: Communications
14
- Requires-Python: >=3.8
18
+ Requires-Python: >=3.9
15
19
  Description-Content-Type: text/markdown
16
20
  License-File: LICENSE
17
21
  Requires-Dist: meshtastic>=2.6.4
18
22
  Requires-Dist: Pillow==11.3.0
19
23
  Requires-Dist: matrix-nio==0.25.2
20
24
  Requires-Dist: matplotlib==3.10.1
21
- Requires-Dist: requests==2.32.4
25
+ Requires-Dist: requests==2.32.5
22
26
  Requires-Dist: markdown==3.8.2
27
+ Requires-Dist: bleach==6.2.0
23
28
  Requires-Dist: haversine==2.9.0
24
29
  Requires-Dist: schedule==1.2.2
25
30
  Requires-Dist: platformdirs==4.3.8
26
31
  Requires-Dist: py-staticmaps>=0.4.0
32
+ Requires-Dist: psutil>=5.8.0
27
33
  Requires-Dist: rich==14.1.0
28
34
  Requires-Dist: setuptools==80.9.0
35
+ Provides-Extra: e2e
36
+ Requires-Dist: matrix-nio[e2e]==0.25.2; extra == "e2e"
37
+ Requires-Dist: python-olm; extra == "e2e"
29
38
  Dynamic: author
30
39
  Dynamic: author-email
31
40
  Dynamic: classifier
@@ -34,6 +43,7 @@ Dynamic: description-content-type
34
43
  Dynamic: home-page
35
44
  Dynamic: license-file
36
45
  Dynamic: project-url
46
+ Dynamic: provides-extra
37
47
  Dynamic: requires-dist
38
48
  Dynamic: requires-python
39
49
  Dynamic: summary
@@ -55,59 +65,20 @@ A powerful and easy-to-use relay between Meshtastic devices and Matrix chat room
55
65
  - Configurable through a simple YAML file
56
66
  - Supports mapping multiple rooms and channels 1:1
57
67
  - Relays messages to/from an MQTT broker, if configured in the Meshtastic firmware
58
- - ✨️ _Bidirectional replies and reactions support_ ✨️ **NEW!!**
59
- - ✨️ _Native Docker support_ ✨️ **NEW!!**
68
+ - ✨️ _Bidirectional replies and reactions support_ ✨️
69
+ - ✨️ _Native Docker support_ ✨️
70
+ - 🔐 **Matrix End-to-End Encryption (E2EE) support** 🔐 **NEW in v1.2!**
60
71
 
61
- _We would love to support [Matrix E2EE rooms](https://github.com/jeremiah-k/meshtastic-matrix-relay/issues/33), but this is currently not implemented._
72
+ **MMRelay v1.2** introduces **Matrix End-to-End Encryption** support for secure communication in encrypted rooms. Messages are automatically encrypted/decrypted when communicating with encrypted Matrix rooms, with simple setup using `mmrelay auth login` or automatic credentials creation from config.yaml.
62
73
 
63
74
  ## Documentation
64
75
 
65
- Visit our [Wiki](https://github.com/jeremiah-k/meshtastic-matrix-relay/wiki) for comprehensive guides and information.
76
+ MMRelay supports multiple deployment methods including Docker, pip installation, and standalone executables. For complete setup instructions and all deployment options, see:
66
77
 
67
78
  - [Installation Instructions](docs/INSTRUCTIONS.md) - Setup and configuration guide
68
-
69
- ---
70
-
71
- ## Quick Start
72
-
73
- MMRelay runs on Linux, macOS, and Windows.
74
-
75
- ```bash
76
- # Install using pipx for isolated installation (recommended)
77
- pipx install mmrelay
78
-
79
- # Generate a sample configuration file & then edit it
80
- mmrelay --generate-config
81
-
82
- # Start the relay (without --install-service to run manually)
83
- mmrelay --install-service
84
- ```
85
-
86
- For detailed installation and configuration instructions, see the [Installation Guide](docs/INSTRUCTIONS.md).
87
-
88
- ## Docker
89
-
90
- MMRelay includes official Docker support for easy deployment and management:
91
-
92
- ```bash
93
- # Quick setup with Docker
94
- make setup # Copy config and open editor (first time)
95
- make build # Build the Docker image
96
- make run # Start the container
97
- make logs # View logs
98
- ```
99
-
100
- Docker provides isolated environment, easy deployment, automatic restarts, and volume persistence.
101
-
102
- For detailed Docker setup instructions, see the [Docker Guide](docs/DOCKER.md).
103
-
104
- ---
105
-
106
- ## Windows Installer
107
-
108
- ![Windows Installer Screenshot](https://user-images.githubusercontent.com/1770544/235249050-8c79107a-50cc-4803-b989-39e58100342d.png)
109
-
110
- The latest installer is available in the [releases section](https://github.com/jeremiah-k/meshtastic-matrix-relay/releases).
79
+ - [Docker Guide](docs/DOCKER.md) - Docker deployment methods
80
+ - [What's New in v1.2](docs/WHATS_NEW_1.2.md) - New features and improvements
81
+ - [E2EE Setup Guide](docs/E2EE.md) - Matrix End-to-End Encryption configuration
111
82
 
112
83
  ---
113
84
 
@@ -15,59 +15,20 @@ A powerful and easy-to-use relay between Meshtastic devices and Matrix chat room
15
15
  - Configurable through a simple YAML file
16
16
  - Supports mapping multiple rooms and channels 1:1
17
17
  - Relays messages to/from an MQTT broker, if configured in the Meshtastic firmware
18
- - ✨️ _Bidirectional replies and reactions support_ ✨️ **NEW!!**
19
- - ✨️ _Native Docker support_ ✨️ **NEW!!**
18
+ - ✨️ _Bidirectional replies and reactions support_ ✨️
19
+ - ✨️ _Native Docker support_ ✨️
20
+ - 🔐 **Matrix End-to-End Encryption (E2EE) support** 🔐 **NEW in v1.2!**
20
21
 
21
- _We would love to support [Matrix E2EE rooms](https://github.com/jeremiah-k/meshtastic-matrix-relay/issues/33), but this is currently not implemented._
22
+ **MMRelay v1.2** introduces **Matrix End-to-End Encryption** support for secure communication in encrypted rooms. Messages are automatically encrypted/decrypted when communicating with encrypted Matrix rooms, with simple setup using `mmrelay auth login` or automatic credentials creation from config.yaml.
22
23
 
23
24
  ## Documentation
24
25
 
25
- Visit our [Wiki](https://github.com/jeremiah-k/meshtastic-matrix-relay/wiki) for comprehensive guides and information.
26
+ MMRelay supports multiple deployment methods including Docker, pip installation, and standalone executables. For complete setup instructions and all deployment options, see:
26
27
 
27
28
  - [Installation Instructions](docs/INSTRUCTIONS.md) - Setup and configuration guide
28
-
29
- ---
30
-
31
- ## Quick Start
32
-
33
- MMRelay runs on Linux, macOS, and Windows.
34
-
35
- ```bash
36
- # Install using pipx for isolated installation (recommended)
37
- pipx install mmrelay
38
-
39
- # Generate a sample configuration file & then edit it
40
- mmrelay --generate-config
41
-
42
- # Start the relay (without --install-service to run manually)
43
- mmrelay --install-service
44
- ```
45
-
46
- For detailed installation and configuration instructions, see the [Installation Guide](docs/INSTRUCTIONS.md).
47
-
48
- ## Docker
49
-
50
- MMRelay includes official Docker support for easy deployment and management:
51
-
52
- ```bash
53
- # Quick setup with Docker
54
- make setup # Copy config and open editor (first time)
55
- make build # Build the Docker image
56
- make run # Start the container
57
- make logs # View logs
58
- ```
59
-
60
- Docker provides isolated environment, easy deployment, automatic restarts, and volume persistence.
61
-
62
- For detailed Docker setup instructions, see the [Docker Guide](docs/DOCKER.md).
63
-
64
- ---
65
-
66
- ## Windows Installer
67
-
68
- ![Windows Installer Screenshot](https://user-images.githubusercontent.com/1770544/235249050-8c79107a-50cc-4803-b989-39e58100342d.png)
69
-
70
- The latest installer is available in the [releases section](https://github.com/jeremiah-k/meshtastic-matrix-relay/releases).
29
+ - [Docker Guide](docs/DOCKER.md) - Docker deployment methods
30
+ - [What's New in v1.2](docs/WHATS_NEW_1.2.md) - New features and improvements
31
+ - [E2EE Setup Guide](docs/E2EE.md) - Matrix End-to-End Encryption configuration
71
32
 
72
33
  ---
73
34
 
@@ -2,8 +2,9 @@ meshtastic>=2.6.4
2
2
  Pillow==11.3.0
3
3
  matrix-nio==0.25.2
4
4
  matplotlib==3.10.1
5
- requests==2.32.4
5
+ requests==2.32.5
6
6
  markdown==3.8.2
7
+ bleach==6.2.0
7
8
  haversine==2.9.0
8
9
  schedule==1.2.2
9
10
  platformdirs==4.3.8
@@ -13,8 +14,9 @@ rich==14.1.0
13
14
  setuptools==80.9.0
14
15
 
15
16
  # Testing and coverage
16
- coverage==7.6.9
17
- pytest==8.3.4
18
- pytest-cov==6.0.0
19
- pytest-asyncio==0.25.0
17
+ coverage==7.10.5
18
+ pytest==8.4.1
19
+ pytest-cov==6.2.1
20
+ pytest-asyncio==1.1.0
20
21
  pytest-env==1.1.5
22
+ pytest-timeout==2.4.0
@@ -33,26 +33,38 @@ setup(
33
33
  },
34
34
  classifiers=[
35
35
  "Programming Language :: Python :: 3",
36
+ "Programming Language :: Python :: 3.9",
37
+ "Programming Language :: Python :: 3.10",
38
+ "Programming Language :: Python :: 3.11",
39
+ "Programming Language :: Python :: 3.12",
36
40
  "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
37
41
  "Operating System :: OS Independent",
38
42
  "Development Status :: 4 - Beta",
39
43
  "Topic :: Communications",
40
44
  ],
41
- python_requires=">=3.8",
45
+ python_requires=">=3.9",
42
46
  install_requires=[
43
47
  "meshtastic>=2.6.4",
44
48
  "Pillow==11.3.0",
45
49
  "matrix-nio==0.25.2",
46
50
  "matplotlib==3.10.1",
47
- "requests==2.32.4",
51
+ "requests==2.32.5",
48
52
  "markdown==3.8.2",
53
+ "bleach==6.2.0",
49
54
  "haversine==2.9.0",
50
55
  "schedule==1.2.2",
51
56
  "platformdirs==4.3.8",
52
57
  "py-staticmaps>=0.4.0",
58
+ "psutil>=5.8.0",
53
59
  "rich==14.1.0",
54
60
  "setuptools==80.9.0",
55
61
  ],
62
+ extras_require={
63
+ "e2e": [
64
+ "matrix-nio[e2e]==0.25.2",
65
+ "python-olm",
66
+ ],
67
+ },
56
68
  packages=find_packages(where="src"),
57
69
  package_dir={"": "src"},
58
70
  include_package_data=True,
@@ -2,4 +2,4 @@
2
2
  Meshtastic Matrix Relay - Bridge between Meshtastic mesh networks and Matrix chat rooms.
3
3
  """
4
4
 
5
- __version__ = "1.1.4"
5
+ __version__ = "1.2.1"