Skip to content

Commit d9b91ac

Browse files
[DOCUMENTATION] improved documentation slightly
Changes in file tests/test_fuzz.py: * improved wording for onlyIfHasHypothesis docstring Changes in file docs/FAQ.md: * minor changes Changes in file multicast/__init__.py: * Added note that some dunder can be ignored by users * Added trivial doctests to some dunder * other minor improvements to documentation
4 parents 741ab38 + de7cf91 + ebcacb0 + cb3d5c4 commit d9b91ac

19 files changed

+396
-59
lines changed

.github/workflows/codeql-analysis.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444

4545
# Initializes the CodeQL tools for scanning.
4646
- name: Initialize CodeQL
47-
uses: github/codeql-action/init@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16
47+
uses: github/codeql-action/init@60168efe1c415ce0f5521ea06d5c2062adbeed1b # v3.28.17
4848
with:
4949
languages: ${{ matrix.language }}
5050
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -55,7 +55,7 @@ jobs:
5555
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
5656
# If this step fails, then you should remove it and run the build manually (see below)
5757
- name: Autobuild
58-
uses: github/codeql-action/autobuild@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16
58+
uses: github/codeql-action/autobuild@60168efe1c415ce0f5521ea06d5c2062adbeed1b # v3.28.17
5959

6060
# ℹ️ Command-line programs to run using the OS shell.
6161
# 📚 https://git.io/JvXDl
@@ -69,4 +69,4 @@ jobs:
6969
# make release
7070

7171
- name: Perform CodeQL Analysis
72-
uses: github/codeql-action/analyze@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16
72+
uses: github/codeql-action/analyze@60168efe1c415ce0f5521ea06d5c2062adbeed1b # v3.28.17

.github/workflows/scorecard.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,6 @@ jobs:
5353
retention-days: 5
5454
# Upload the results to GitHub's code scanning dashboard.
5555
- name: "Upload to code-scanning"
56-
uses: github/codeql-action/upload-sarif@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16
56+
uses: github/codeql-action/upload-sarif@60168efe1c415ce0f5521ea06d5c2062adbeed1b # v3.28.17
5757
with:
5858
sarif_file: results.sarif

.github/workflows/shellcheck.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
with:
2424
persist-credentials: false
2525
- name: Shellcheck Scan
26-
uses: reactive-firewall/shellcheck-scan@89ae54cd2b9d19a34e72712d986ebb21d8521dd3 # v0
26+
uses: reactive-firewall/shellcheck-scan@ececa8940e6bfbf5bf1426dd9292b9b25367c14a # v0
2727
with: # optional arguments
2828
match: 'tests/check_* **/*.sh'
2929
publish-artifacts: true

README.md

Lines changed: 51 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Multicast Python Module
22

3-
![Mcast Logo](Logo.svg)
3+
![Mcast Logo](https://github.com/reactive-firewall/multicast/blob/stable/Logo.svg)
44

55
## Introduction
66

@@ -47,12 +47,60 @@ applications, making it straightforward to work with multicast sockets.
4747

4848
## Installation
4949

50-
Install the package using pip:
50+
Install the package using `pip`:
51+
52+
```bash
53+
pip install multicast
54+
```
55+
56+
<details><summary>Other Methods</summary>
57+
58+
There are many ways to install the module besides using `pip`, but unless you have a specific need,
59+
using `pip` is recommended for most users.
60+
61+
### PEP-668 and externally-managed-environment installs
62+
63+
Users using Homebrew may require additional flags to use `pip`:
64+
65+
```bash
66+
python3 -m pip install --use-pep517 --break-system-packages --user 'multicast>=2.0.8'
67+
```
68+
69+
### Install from Source
70+
71+
*Source builds require development tools including (but not limited to): `git`, and `make`*
72+
73+
```bash
74+
# clone the multicast source repository
75+
git clone "https://github.com/reactive-firewall/multicast.git" multicast
76+
cd multicast
77+
# switch to the stable branch
78+
git checkout stable
79+
# build the multicast module
80+
make -f Makefile build
81+
# install the build
82+
make user-install
83+
# Optionally check the install
84+
python3 -m multicast --version
85+
```
86+
87+
### Developer builds
88+
89+
> [!WARNING]
90+
> **Development Builds** *(e.g. Cutting-Edge)* are not intended as full-fleged releases, however
91+
> updates to the Development Builds are more frequent than releases.
92+
93+
### Legacy egg style install
94+
95+
> [!WARNING]
96+
> **Egg Style Builds** *(Deprecated)* are not supported after version `2.1` :shrug:
5197
5298
```bash
5399
pip install -e "git+https://github.com/reactive-firewall/multicast.git#egg=multicast"
54100
```
55101

102+
</details>
103+
56104
## Getting Started
57105

58106
Below are basic examples to help you start using the `multicast` package.
@@ -160,4 +208,4 @@ This project is licensed under the MIT License. See the
160208
[LICENSE.md](https://github.com/reactive-firewall/multicast/blob/stable/LICENSE.md) file for
161209
details.
162210

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

docs/CI.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,4 +169,4 @@ make clean ; # cleans up for next test
169169

170170
#### Copyright (c) 2021-2025, Mr. Walls
171171

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

docs/Environment_Configuration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,4 +115,4 @@ and does not actually update Multicast after import)_
115115

116116
### Copyright (c) 2024-2025, Mr. Walls
117117

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

docs/Exception_Guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -336,4 +336,4 @@ provide a better experience for users interacting with the software.
336336

337337
### Copyright (c) 2024-2025, Mr. Walls
338338

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

docs/FAQ.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ work as far as this Multicast module is concerned.
233233
documentation site.
234234

235235
* However, if one still wishes to build the documentation manually, there is a `make` target
236-
specifically for this:
236+
specifically for building from source:
237237

238238
```bash
239239
make build-docs
@@ -245,6 +245,8 @@ work as far as this Multicast module is concerned.
245245
to the specific commit you're working on, set the `DOCS_BUILD_REF` environment variable:
246246

247247
```bash
248+
# git clone ...
249+
# git checkout <specific commit>
248250
# shellcheck disable=SC2155
249251
export DOCS_BUILD_REF=$("${GIT:-git}" rev-parse --verify HEAD)
250252
make build-docs # or your own documentation build command
@@ -257,4 +259,4 @@ work as far as this Multicast module is concerned.
257259

258260
#### Copyright (c) 2021-2025, Mr. Walls
259261

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

docs/USAGE.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,11 +102,11 @@ I begin with it.
102102
CLI should work like so:
103103

104104
```plain
105-
multicast [-h|--help] [--use-std] [--daemon] (SAY|RECV|HEAR)
105+
multicast [[-h|--help]|[--version] [--use-std] [--daemon] (SAY|RECV|HEAR)
106106
[-h|--help]
107107
[--port PORT]
108108
[--iface IFACE]
109-
[-m MESSAGE|--message MESSAGE]
109+
[-m MESSAGE|--message MESSAGE|--pipe]
110110
[--group BIND_GROUP]
111111
[--groups [JOIN_MCAST_GROUPS ...]]
112112
```
@@ -119,8 +119,9 @@ and echo functions of a 1-to-1 connection.
119119
The `SAY` command is used to send data messages via multicast datagrams.
120120

121121
* Note: the `--message` flag is expected with the `SAY` command;
122-
if not provided, it behaves like `NOOP`.
122+
if neither `--pipe` nor `--messages` are provided, `SAY` behaves like `NOOP`.
123123
* Note: the `--daemon` flag has no effect on the `SAY` command.
124+
* Note: the `--pipe` option reads message from stdin (added in v2.1.0, equivalent to `--message -`).
124125

125126
### `RECV`
126127

@@ -149,4 +150,4 @@ received multicast datagrams.
149150

150151
#### Copyright (c) 2021-2025, Mr. Walls
151152

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

docs/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@
125125
# The short X.Y version.
126126
version = "v2.0"
127127
# The full version, including alpha/beta/rc tags.
128-
release = "v2.0.8"
128+
release = "v2.0.9"
129129

130130
# The language for content autogenerated by Sphinx. Refer to documentation
131131
# for a list of supported languages.

0 commit comments

Comments
 (0)