mmrelay 1.0__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 (38) hide show
  1. mmrelay-1.0/LICENSE +21 -0
  2. mmrelay-1.0/MANIFEST.in +5 -0
  3. mmrelay-1.0/PKG-INFO +160 -0
  4. mmrelay-1.0/README.md +132 -0
  5. mmrelay-1.0/pyproject.toml +3 -0
  6. mmrelay-1.0/requirements.txt +10 -0
  7. mmrelay-1.0/sample_config.yaml +63 -0
  8. mmrelay-1.0/setup.cfg +46 -0
  9. mmrelay-1.0/src/mmrelay/__init__.py +9 -0
  10. mmrelay-1.0/src/mmrelay/cli.py +384 -0
  11. mmrelay-1.0/src/mmrelay/config.py +218 -0
  12. mmrelay-1.0/src/mmrelay/config_checker.py +133 -0
  13. mmrelay-1.0/src/mmrelay/db_utils.py +309 -0
  14. mmrelay-1.0/src/mmrelay/log_utils.py +107 -0
  15. mmrelay-1.0/src/mmrelay/main.py +281 -0
  16. mmrelay-1.0/src/mmrelay/matrix_utils.py +754 -0
  17. mmrelay-1.0/src/mmrelay/meshtastic_utils.py +569 -0
  18. mmrelay-1.0/src/mmrelay/plugin_loader.py +336 -0
  19. mmrelay-1.0/src/mmrelay/plugins/__init__.py +3 -0
  20. mmrelay-1.0/src/mmrelay/plugins/base_plugin.py +212 -0
  21. mmrelay-1.0/src/mmrelay/plugins/debug_plugin.py +17 -0
  22. mmrelay-1.0/src/mmrelay/plugins/drop_plugin.py +120 -0
  23. mmrelay-1.0/src/mmrelay/plugins/health_plugin.py +64 -0
  24. mmrelay-1.0/src/mmrelay/plugins/help_plugin.py +55 -0
  25. mmrelay-1.0/src/mmrelay/plugins/map_plugin.py +323 -0
  26. mmrelay-1.0/src/mmrelay/plugins/mesh_relay_plugin.py +134 -0
  27. mmrelay-1.0/src/mmrelay/plugins/nodes_plugin.py +92 -0
  28. mmrelay-1.0/src/mmrelay/plugins/ping_plugin.py +118 -0
  29. mmrelay-1.0/src/mmrelay/plugins/telemetry_plugin.py +179 -0
  30. mmrelay-1.0/src/mmrelay/plugins/weather_plugin.py +208 -0
  31. mmrelay-1.0/src/mmrelay/setup_utils.py +263 -0
  32. mmrelay-1.0/src/mmrelay.egg-info/PKG-INFO +160 -0
  33. mmrelay-1.0/src/mmrelay.egg-info/SOURCES.txt +37 -0
  34. mmrelay-1.0/src/mmrelay.egg-info/dependency_links.txt +1 -0
  35. mmrelay-1.0/src/mmrelay.egg-info/entry_points.txt +2 -0
  36. mmrelay-1.0/src/mmrelay.egg-info/requires.txt +10 -0
  37. mmrelay-1.0/src/mmrelay.egg-info/top_level.txt +1 -0
  38. mmrelay-1.0/tools/mmrelay.service +12 -0
mmrelay-1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 geoffwhittington
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,5 @@
1
+ include LICENSE
2
+ include README.md
3
+ include requirements.txt
4
+ include sample_config.yaml
5
+ recursive-include tools *
mmrelay-1.0/PKG-INFO ADDED
@@ -0,0 +1,160 @@
1
+ Metadata-Version: 2.4
2
+ Name: mmrelay
3
+ Version: 1.0
4
+ Summary: Bridge between Meshtastic mesh networks and Matrix chat rooms
5
+ Home-page: https://github.com/geoffwhittington/meshtastic-matrix-relay
6
+ Author: Geoff Whittington, Jeremiah K., and contributors
7
+ Author-email: jeremiahk@gmx.com
8
+ Project-URL: Bug Tracker, https://github.com/geoffwhittington/meshtastic-matrix-relay/issues
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Topic :: Communications
14
+ Requires-Python: >=3.8
15
+ Description-Content-Type: text/markdown
16
+ License-File: LICENSE
17
+ Requires-Dist: meshtastic
18
+ Requires-Dist: Pillow==11.1.0
19
+ Requires-Dist: matrix-nio==0.25.2
20
+ Requires-Dist: matplotlib==3.10.1
21
+ Requires-Dist: requests==2.32.3
22
+ Requires-Dist: markdown==3.7
23
+ Requires-Dist: haversine==2.9.0
24
+ Requires-Dist: schedule==1.2.2
25
+ Requires-Dist: platformdirs==4.2.0
26
+ Requires-Dist: py-staticmaps>=0.4.0
27
+ Dynamic: license-file
28
+
29
+ # M<>M Relay
30
+
31
+ ## (Meshtastic <=> Matrix Relay)
32
+
33
+ A powerful and easy-to-use relay between Meshtastic devices and Matrix chat rooms, allowing seamless communication across platforms. This opens the door for bridging Meshtastic devices to [many other platforms](https://matrix.org/bridges/).
34
+
35
+ ---
36
+
37
+ ## Getting Started
38
+
39
+ MMRelay runs on Linux, macOS, and Windows.
40
+
41
+ ### Quick Installation
42
+
43
+ ```bash
44
+ # Install using pip
45
+ pip install mmrelay
46
+
47
+ # Or use pipx for isolated installation (recommended)
48
+ pipx install mmrelay
49
+ ```
50
+
51
+ ### Resources
52
+
53
+ - **New Users**: See [INSTRUCTIONS.md](INSTRUCTIONS.md) for setup and configuration
54
+ - **Existing Users**: Check [UPGRADE_TO_V1.md](UPGRADE_TO_V1.md) for migration guidance
55
+ - **Configuration**: Review [sample_config.yaml](sample_config.yaml) for examples
56
+
57
+ ### Command-Line Options
58
+
59
+ ```bash
60
+ usage: mmrelay [-h] [--config CONFIG] [--data-dir DATA_DIR] [--log-level {error,warning,info,debug}] [--logfile LOGFILE] [--version] [--generate-config] [--install-service] [--check-config]
61
+
62
+ Options:
63
+ -h, --help Show this help message and exit
64
+ --config CONFIG Path to config file
65
+ --data-dir DATA_DIR Base directory for all data (logs, database, plugins)
66
+ --log-level {error,warning,info,debug}
67
+ Set logging level
68
+ --logfile LOGFILE Path to log file (can be overridden by --data-dir)
69
+ --version Show version and exit
70
+ --generate-config Generate a sample config.yaml file
71
+ --install-service Install or update the systemd user service
72
+ --check-config Check if the configuration file is valid
73
+ ```
74
+
75
+ ---
76
+
77
+ ## Features
78
+
79
+ - Bidirectional message relay between Meshtastic devices and Matrix chat rooms, capable of supporting multiple meshnets
80
+ - Supports serial, network, and **_BLE (now too!)_** connections for Meshtastic devices
81
+ - Custom fields are embedded in Matrix messages for relaying messages between multiple meshnets
82
+ - Truncates long messages to fit within Meshtastic's payload size
83
+ - SQLite database to store node information for improved functionality
84
+ - Customizable logging level for easy debugging
85
+ - Configurable through a simple YAML file
86
+ - Supports mapping multiple rooms and channels 1:1
87
+ - Relays messages to/from an MQTT broker, if configured in the Meshtastic firmware
88
+ - ✨️ _Cross-platform reactions support_ ✨️ **NEW!!**
89
+
90
+ _We would love to support [Matrix E2EE rooms](https://github.com/geoffwhittington/meshtastic-matrix-relay/issues/33), but this is currently not implemented._
91
+
92
+ ---
93
+
94
+ ## Windows Installer
95
+
96
+ ![Windows Installer Screenshot](https://user-images.githubusercontent.com/1770544/235249050-8c79107a-50cc-4803-b989-39e58100342d.png)
97
+
98
+ The latest installer is available [here](https://github.com/geoffwhittington/meshtastic-matrix-relay/releases).
99
+
100
+ ---
101
+
102
+ ## Plugins
103
+
104
+ M<>M Relay supports plugins for extending its functionality, enabling customization and enhancement of the relay to suit specific needs.
105
+
106
+ ### Core Plugins
107
+
108
+ Generate a map of your nodes:
109
+
110
+ ![Map Plugin Screenshot](https://user-images.githubusercontent.com/1770544/235247915-47750b4f-d505-4792-a458-54a5f24c1523.png)
111
+
112
+ Produce high-level details about your mesh:
113
+
114
+ ![Mesh Details Screenshot](https://user-images.githubusercontent.com/1770544/235245873-1ddc773b-a4cd-4c67-b0a5-b55a29504b73.png)
115
+
116
+ See the full list of core plugins [here](https://github.com/geoffwhittington/meshtastic-matrix-relay/wiki/Core-Plugins).
117
+
118
+ ### Community & Custom Plugins
119
+
120
+ It is possible to create custom plugins and share them with the community. Check [example_plugins/README.md](https://github.com/geoffwhittington/meshtastic-matrix-relay/tree/main/example_plugins) and the [Community Plugins Development Guide](https://github.com/geoffwhittington/meshtastic-matrix-relay/wiki/Community-Plugin-Development-Guide).
121
+
122
+ ✨️ Visit the [Community Plugins List](https://github.com/geoffwhittington/meshtastic-matrix-relay/wiki/Community-Plugin-List)!
123
+
124
+ #### Install a Community Plugin
125
+
126
+ Add the repository under the `community-plugins` section in `config.yaml`:
127
+
128
+ ```yaml
129
+ community-plugins:
130
+ example-plugin:
131
+ active: true
132
+ repository: https://github.com/jeremiah-k/mmr-plugin-template.git
133
+ tag: main
134
+ ```
135
+
136
+ ### Plugin System
137
+
138
+ MMRelay features a powerful plugin system with standardized locations:
139
+
140
+ - **Core Plugins**: Pre-installed with the package
141
+ - **Custom Plugins**: Your own plugins in `~/.mmrelay/plugins/custom/`
142
+ - **Community Plugins**: Third-party plugins in `~/.mmrelay/plugins/community/`
143
+
144
+ Plugins make it easy to extend functionality without modifying the core code.
145
+
146
+ ---
147
+
148
+ ## Getting Started with Matrix
149
+
150
+ See our Wiki page [Getting Started With Matrix & MM Relay](https://github.com/geoffwhittington/meshtastic-matrix-relay/wiki/Getting-Started-With-Matrix-&-MM-Relay).
151
+
152
+ ---
153
+
154
+ ## Already on Matrix?
155
+
156
+ Join us!
157
+
158
+ - Our project's room: [#mmrelay:meshnet.club](https://matrix.to/#/#mmrelay:meshnet.club)
159
+ - Part of the Meshtastic Community Matrix space: [#meshtastic-community:meshnet.club](https://matrix.to/#/#meshtastic-community:meshnet.club)
160
+ - Public Relay Room: [#relay-room:meshnet.club](https://matrix.to/#/#relay-room:meshnet.club) - Where we bridge multiple meshnets. Feel free to join us, with or without a relay!
mmrelay-1.0/README.md ADDED
@@ -0,0 +1,132 @@
1
+ # M<>M Relay
2
+
3
+ ## (Meshtastic <=> Matrix Relay)
4
+
5
+ A powerful and easy-to-use relay between Meshtastic devices and Matrix chat rooms, allowing seamless communication across platforms. This opens the door for bridging Meshtastic devices to [many other platforms](https://matrix.org/bridges/).
6
+
7
+ ---
8
+
9
+ ## Getting Started
10
+
11
+ MMRelay runs on Linux, macOS, and Windows.
12
+
13
+ ### Quick Installation
14
+
15
+ ```bash
16
+ # Install using pip
17
+ pip install mmrelay
18
+
19
+ # Or use pipx for isolated installation (recommended)
20
+ pipx install mmrelay
21
+ ```
22
+
23
+ ### Resources
24
+
25
+ - **New Users**: See [INSTRUCTIONS.md](INSTRUCTIONS.md) for setup and configuration
26
+ - **Existing Users**: Check [UPGRADE_TO_V1.md](UPGRADE_TO_V1.md) for migration guidance
27
+ - **Configuration**: Review [sample_config.yaml](sample_config.yaml) for examples
28
+
29
+ ### Command-Line Options
30
+
31
+ ```bash
32
+ usage: mmrelay [-h] [--config CONFIG] [--data-dir DATA_DIR] [--log-level {error,warning,info,debug}] [--logfile LOGFILE] [--version] [--generate-config] [--install-service] [--check-config]
33
+
34
+ Options:
35
+ -h, --help Show this help message and exit
36
+ --config CONFIG Path to config file
37
+ --data-dir DATA_DIR Base directory for all data (logs, database, plugins)
38
+ --log-level {error,warning,info,debug}
39
+ Set logging level
40
+ --logfile LOGFILE Path to log file (can be overridden by --data-dir)
41
+ --version Show version and exit
42
+ --generate-config Generate a sample config.yaml file
43
+ --install-service Install or update the systemd user service
44
+ --check-config Check if the configuration file is valid
45
+ ```
46
+
47
+ ---
48
+
49
+ ## Features
50
+
51
+ - Bidirectional message relay between Meshtastic devices and Matrix chat rooms, capable of supporting multiple meshnets
52
+ - Supports serial, network, and **_BLE (now too!)_** connections for Meshtastic devices
53
+ - Custom fields are embedded in Matrix messages for relaying messages between multiple meshnets
54
+ - Truncates long messages to fit within Meshtastic's payload size
55
+ - SQLite database to store node information for improved functionality
56
+ - Customizable logging level for easy debugging
57
+ - Configurable through a simple YAML file
58
+ - Supports mapping multiple rooms and channels 1:1
59
+ - Relays messages to/from an MQTT broker, if configured in the Meshtastic firmware
60
+ - ✨️ _Cross-platform reactions support_ ✨️ **NEW!!**
61
+
62
+ _We would love to support [Matrix E2EE rooms](https://github.com/geoffwhittington/meshtastic-matrix-relay/issues/33), but this is currently not implemented._
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 [here](https://github.com/geoffwhittington/meshtastic-matrix-relay/releases).
71
+
72
+ ---
73
+
74
+ ## Plugins
75
+
76
+ M<>M Relay supports plugins for extending its functionality, enabling customization and enhancement of the relay to suit specific needs.
77
+
78
+ ### Core Plugins
79
+
80
+ Generate a map of your nodes:
81
+
82
+ ![Map Plugin Screenshot](https://user-images.githubusercontent.com/1770544/235247915-47750b4f-d505-4792-a458-54a5f24c1523.png)
83
+
84
+ Produce high-level details about your mesh:
85
+
86
+ ![Mesh Details Screenshot](https://user-images.githubusercontent.com/1770544/235245873-1ddc773b-a4cd-4c67-b0a5-b55a29504b73.png)
87
+
88
+ See the full list of core plugins [here](https://github.com/geoffwhittington/meshtastic-matrix-relay/wiki/Core-Plugins).
89
+
90
+ ### Community & Custom Plugins
91
+
92
+ It is possible to create custom plugins and share them with the community. Check [example_plugins/README.md](https://github.com/geoffwhittington/meshtastic-matrix-relay/tree/main/example_plugins) and the [Community Plugins Development Guide](https://github.com/geoffwhittington/meshtastic-matrix-relay/wiki/Community-Plugin-Development-Guide).
93
+
94
+ ✨️ Visit the [Community Plugins List](https://github.com/geoffwhittington/meshtastic-matrix-relay/wiki/Community-Plugin-List)!
95
+
96
+ #### Install a Community Plugin
97
+
98
+ Add the repository under the `community-plugins` section in `config.yaml`:
99
+
100
+ ```yaml
101
+ community-plugins:
102
+ example-plugin:
103
+ active: true
104
+ repository: https://github.com/jeremiah-k/mmr-plugin-template.git
105
+ tag: main
106
+ ```
107
+
108
+ ### Plugin System
109
+
110
+ MMRelay features a powerful plugin system with standardized locations:
111
+
112
+ - **Core Plugins**: Pre-installed with the package
113
+ - **Custom Plugins**: Your own plugins in `~/.mmrelay/plugins/custom/`
114
+ - **Community Plugins**: Third-party plugins in `~/.mmrelay/plugins/community/`
115
+
116
+ Plugins make it easy to extend functionality without modifying the core code.
117
+
118
+ ---
119
+
120
+ ## Getting Started with Matrix
121
+
122
+ See our Wiki page [Getting Started With Matrix & MM Relay](https://github.com/geoffwhittington/meshtastic-matrix-relay/wiki/Getting-Started-With-Matrix-&-MM-Relay).
123
+
124
+ ---
125
+
126
+ ## Already on Matrix?
127
+
128
+ Join us!
129
+
130
+ - Our project's room: [#mmrelay:meshnet.club](https://matrix.to/#/#mmrelay:meshnet.club)
131
+ - Part of the Meshtastic Community Matrix space: [#meshtastic-community:meshnet.club](https://matrix.to/#/#meshtastic-community:meshnet.club)
132
+ - Public Relay Room: [#relay-room:meshnet.club](https://matrix.to/#/#relay-room:meshnet.club) - Where we bridge multiple meshnets. Feel free to join us, with or without a relay!
@@ -0,0 +1,3 @@
1
+ [build-system]
2
+ requires = ["setuptools>=42", "wheel"]
3
+ build-backend = "setuptools.build_meta"
@@ -0,0 +1,10 @@
1
+ meshtastic
2
+ Pillow==11.1.0
3
+ matrix-nio==0.25.2
4
+ matplotlib==3.10.1
5
+ requests==2.32.3
6
+ markdown==3.7
7
+ haversine==2.9.0
8
+ schedule==1.2.2
9
+ platformdirs==4.2.0
10
+ py-staticmaps>=0.4.0
@@ -0,0 +1,63 @@
1
+ matrix:
2
+ homeserver: https://example.matrix.org
3
+ access_token: reaalllllyloooooongsecretttttcodeeeeeeforrrrbot # See: https://t2bot.io/docs/access_tokens/
4
+ bot_user_id: "@botuser:example.matrix.org"
5
+
6
+ matrix_rooms: # Needs at least 1 room & channel, but supports all Meshtastic channels
7
+ - id: "#someroomalias:example.matrix.org" # Matrix room aliases & IDs supported
8
+ meshtastic_channel: 0
9
+ - id: "!someroomid:example.matrix.org"
10
+ meshtastic_channel: 2
11
+
12
+ meshtastic:
13
+ connection_type: serial # Choose either "tcp", "serial", or "ble"
14
+ serial_port: /dev/ttyUSB0 # Only used when connection is "serial"
15
+ host: meshtastic.local # Only used when connection is "tcp"
16
+ ble_address: AA:BB:CC:DD:EE:FF # Only used when connection is "ble" - Uses either an address or name from a `meshtastic --ble-scan`
17
+ meshnet_name: Your Meshnet Name # This is displayed in full on Matrix, but is truncated when sent to a Meshnet
18
+ broadcast_enabled: true # Must be set to true to enable Matrix to Meshtastic messages
19
+ detection_sensor: true # Must be set to true to forward messages of Meshtastic's detection sensor module
20
+ plugin_response_delay: 3 # Default response delay in seconds for plugins that respond on the mesh;
21
+ relay_reactions: true # Defaults to false, set to true to enable relay reactions between platforms
22
+
23
+ logging:
24
+ level: info
25
+ #log_to_file: true # Default is false
26
+ #filename: ~/.mmrelay/logs/mmrelay.log # Default location
27
+ #max_log_size: 10485760 # 10 MB default if omitted
28
+ #backup_count: 1 # Keeps 1 backup as the default if omitted
29
+
30
+ #database:
31
+ # path: ~/.mmrelay/data/meshtastic.sqlite # Default location
32
+ # msg_map: # The message map is necessary for the relay_reactions functionality. If `relay_reactions` is set to false, nothing will be saved to the message map.
33
+ # msgs_to_keep: 500 # If set to 0, it will not delete any messages; Defaults to 500
34
+ # wipe_on_restart: true # Clears out the message map when the relay is restarted; Defaults to False
35
+
36
+ # These are core Plugins - Note: Some plugins are experimental and some need maintenance.
37
+ plugins:
38
+ ping:
39
+ active: true
40
+ #channels: [2,3,5] # List of channels the plugin will respond to; DMs are always processed if the plugin is active
41
+ weather:
42
+ active: true
43
+ units: imperial # Options: metric, imperial - Default is metric
44
+ #channels: [] # Empty list, will only respond to DMs
45
+ nodes:
46
+ active: true
47
+ # Does not need to specify channels, as it's a Matrix-only plugin
48
+
49
+ #community-plugins:
50
+ # sample_plugin:
51
+ # active: true
52
+ # repository: https://github.com/username/sample_plugin.git
53
+ # tag: master
54
+ # advanced_plugin:
55
+ # active: false
56
+ # repository: https://github.com/username/advanced_plugin.git
57
+ # tag: v1.2.0
58
+
59
+ #custom-plugins:
60
+ # my_custom_plugin:
61
+ # active: true
62
+ # another_custom_plugin:
63
+ # active: false
mmrelay-1.0/setup.cfg ADDED
@@ -0,0 +1,46 @@
1
+ [metadata]
2
+ name = mmrelay
3
+ version = 1.0
4
+ author = Geoff Whittington, Jeremiah K., and contributors
5
+ author_email = jeremiahk@gmx.com
6
+ description = Bridge between Meshtastic mesh networks and Matrix chat rooms
7
+ long_description = file: README.md
8
+ long_description_content_type = text/markdown
9
+ url = https://github.com/geoffwhittington/meshtastic-matrix-relay
10
+ project_urls =
11
+ Bug Tracker = https://github.com/geoffwhittington/meshtastic-matrix-relay/issues
12
+ classifiers =
13
+ Programming Language :: Python :: 3
14
+ License :: OSI Approved :: MIT License
15
+ Operating System :: OS Independent
16
+ Development Status :: 4 - Beta
17
+ Topic :: Communications
18
+
19
+ [options]
20
+ package_dir =
21
+ = src
22
+ packages = find:
23
+ python_requires = >=3.8
24
+ install_requires =
25
+ meshtastic
26
+ Pillow==11.1.0
27
+ matrix-nio==0.25.2
28
+ matplotlib==3.10.1
29
+ requests==2.32.3
30
+ markdown==3.7
31
+ haversine==2.9.0
32
+ schedule==1.2.2
33
+ platformdirs==4.2.0
34
+ py-staticmaps>=0.4.0
35
+
36
+ [options.packages.find]
37
+ where = src
38
+
39
+ [options.entry_points]
40
+ console_scripts =
41
+ mmrelay = mmrelay.cli:main
42
+
43
+ [egg_info]
44
+ tag_build =
45
+ tag_date = 0
46
+
@@ -0,0 +1,9 @@
1
+ """
2
+ Meshtastic Matrix Relay - Bridge between Meshtastic mesh networks and Matrix chat rooms.
3
+ """
4
+
5
+ import os
6
+
7
+ # Get version from environment variable if available (set by GitHub Actions)
8
+ # Otherwise, use a default version
9
+ __version__ = os.environ.get("GITHUB_REF_NAME", "1.0.0")