Skip to content

Commit f03cc4c

Browse files
[DOCUMENTATION] Updates to the README.md
Changes in file README.md: * updated install directions a bit * related work
1 parent 7a2fa84 commit f03cc4c

File tree

1 file changed

+39
-7
lines changed

1 file changed

+39
-7
lines changed

README.md

Lines changed: 39 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ python3 -m pip install --use-pep517 --break-system-packages --user 'multicast>=2
7070

7171
*Source builds require development tools including (but not limited to): `git`, and `make`*
7272

73+
#### Stable builds (Release Candidates)
74+
7375
```bash
7476
# clone the multicast source repository
7577
git clone "https://github.com/reactive-firewall/multicast.git" multicast
@@ -84,16 +86,30 @@ make user-install
8486
python3 -m multicast --version
8587
```
8688

87-
### Developer builds
89+
#### Developer builds
8890

8991
> [!WARNING]
9092
> **Development Builds** *(e.g. Cutting-Edge)* are not intended as full-fleged releases, however
9193
> updates to the Development Builds are more frequent than releases.
9294
95+
```bash
96+
# clone the multicast source repository
97+
git clone "https://github.com/reactive-firewall/multicast.git" multicast
98+
cd multicast
99+
# switch to the default "master" branch
100+
git checkout master
101+
# build the multicast module
102+
make -f Makefile build
103+
# install the build
104+
make user-install
105+
# Optionally check the install
106+
python3 -m multicast --version
107+
```
108+
93109
### Legacy egg style install
94110

95111
> [!WARNING]
96-
> **Egg Style Builds** *(Deprecated)* are not supported after version `2.1` :shrug:
112+
> **Egg Style Builds** *(Deprecated)* are not supported since version `2.1` :shrug:
97113
98114
```bash
99115
pip install -e "git+https://github.com/reactive-firewall/multicast.git#egg=multicast"
@@ -132,16 +148,32 @@ print('Received:', message)
132148

133149
### Listening for Multicast Messages
134150

151+
* Depending on what needs to be done with recieved data each case will be a bit different.
152+
135153
```python3
154+
# setup console logging as example
155+
import logging
156+
multicast_logging_sink = logging.getLogger()
157+
handler = logging.StreamHandler()
158+
multicast_logging_sink.setLevel(logging.INFO) # increase default logging from multicast module
159+
handler = logging.StreamHandler() # example trivial log handler
160+
multicast_logging_sink.addHandler(handler)
161+
162+
# import multicast
136163
from multicast import hear
137164

138165
# Create a multicast listener
139166
listener = hear.McastHEAR()
140167

141-
# Listen for messages indefinitely
168+
# Listen for messages indefinitely (use control+C to stop)
142169
listener(group='224.0.0.1', port=59259, ttl=1)
143170
```
144171

172+
> [!TIP]
173+
> While this trivial example just scratches the surface, the `multicast.hear` module provides an
174+
> extendable implementation of the default handler for customizing the listening behavior well
175+
> beyond just logging.
176+
145177
## Command-Line Usage
146178

147179
The `multicast` package provides command-line tools for multicast communication prototyping.
@@ -188,12 +220,12 @@ assessing and mitigating risks in your implementations and use of `multicast`.
188220
## Documentation
189221

190222
For more detailed documentation and advanced usage, please refer to the
191-
[official documentation](https://reactive-firewallmulticast.readthedocs.io/en/master/).
223+
[documentation](https://reactive-firewallmulticast.readthedocs.io/en/master/).
192224

193225
## Contributing
194226

195227
Contributions are welcome! Please read the
196-
[contributing guidelines](https://github.com/reactive-firewall/multicast/blob/stable/.github/CONTRIBUTING)
228+
[contributing guidelines](https://github.com/reactive-firewall/multicast/tree/stable/.github/CONTRIBUTING)
197229
for more information.
198230

199231
### Next steps
@@ -205,8 +237,8 @@ Next steps and bug fixes are tracked by the
205237

206238
### Copyright (c) 2021-2025, Mr. Walls
207239

208-
This project is licensed under the MIT License. See the
209-
[LICENSE.md](https://github.com/reactive-firewall/multicast/blob/stable/LICENSE.md) file for
240+
The Multicast Python Module is licensed under the MIT License. See the
241+
[LICENSE.md](https://github.com/reactive-firewall/multicast/tree/stable/LICENSE.md) file for
210242
details.
211243

212244
[![License - MIT](https://img.shields.io/pypi/l/multicast?cacheSeconds=3600)](https://github.com/reactive-firewall/multicast/blob/stable/LICENSE.md)

0 commit comments

Comments
 (0)