xmpp-utilities 1.0.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.
@@ -0,0 +1,24 @@
1
+ This is free and unencumbered software released into the public domain.
2
+
3
+ Anyone is free to copy, modify, publish, use, compile, sell, or
4
+ distribute this software, either in source code form or as a compiled
5
+ binary, for any purpose, commercial or non-commercial, and by any
6
+ means.
7
+
8
+ In jurisdictions that recognize copyright laws, the author or authors
9
+ of this software dedicate any and all copyright interest in the
10
+ software to the public domain. We make this dedication for the benefit
11
+ of the public at large and to the detriment of our heirs and
12
+ successors. We intend this dedication to be an overt act of
13
+ relinquishment in perpetuity of all present and future rights to this
14
+ software under copyright law.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
+ IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
+ OTHER DEALINGS IN THE SOFTWARE.
23
+
24
+ For more information, please refer to <https://unlicense.org/>
@@ -0,0 +1,121 @@
1
+ Metadata-Version: 2.4
2
+ Name: xmpp-utilities
3
+ Version: 1.0.1
4
+ Author-email: Telepath <development@telepath.im>
5
+ License-Expression: Unlicense
6
+ Project-URL: Homepage, https://telepath.im/projects/xmpp-utilities/
7
+ Project-URL: Repository, https://foundry.fsky.io/telepath/xmpp-utilities.git
8
+ Project-URL: Issues, https://foundry.fsky.io/telepath/xmpp-utilities/issues
9
+ Keywords: xmpp,xmpp bot,slixmpp,bot
10
+ Classifier: Development Status :: 5 - Production/Stable
11
+ Classifier: Environment :: No Input/Output (Daemon)
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3 :: Only
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Programming Language :: Python :: 3.14
16
+ Classifier: Programming Language :: Python :: 3.15
17
+ Classifier: Topic :: Communications
18
+ Classifier: Topic :: Communications :: Chat
19
+ Classifier: Topic :: Internet :: XMPP
20
+ Classifier: Intended Audience :: End Users/Desktop
21
+ Classifier: Intended Audience :: System Administrators
22
+ Requires-Python: >=3.13
23
+ Description-Content-Type: text/markdown
24
+ License-File: LICENSE
25
+ Requires-Dist: dnspython>=2.8.0
26
+ Requires-Dist: slixmpp>=1.12.0
27
+ Dynamic: license-file
28
+
29
+ # XMPP Utilities
30
+
31
+ XMPP Utilities is a simple XMPP bot that provides various diagnostic and informational tools for XMPP entities and domains. It can be used to check software versions, service items, contact information, uptime, and more.
32
+
33
+ ## Features
34
+
35
+ The bot responds to commands prefixed with `!xmpp` in both direct messages and configured Multi-User Chats (MUCs).
36
+
37
+ ### Available Commands
38
+
39
+ - `!xmpp help` - Displays the help message with all available commands.
40
+ - `!xmpp version <jid>` - Shows the software version of an XMPP entity (XEP-0092).
41
+ - `!xmpp items <jid>` - Lists the service items of an XMPP entity (XEP-0030).
42
+ - `!xmpp contact <jid>` - Displays contact information for an XMPP entity (XEP-0030).
43
+ - `!xmpp info <jid>` - Lists the identities and features of an XMPP entity (XEP-0030).
44
+ - `!xmpp ping <jid>` - Pings an XMPP entity and reports the round-trip time (XEP-0199).
45
+ - `!xmpp uptime <jid>` - Shows the uptime of an XMPP entity (XEP-0012).
46
+ - `!xmpp srv <domain>` - Performs DNS SRV lookups for XMPP services (`_xmpp-client`, `_xmpp-server`, etc.).
47
+ - `!xmpp compliance <domain>` - Shows the compliance score of a server from [compliance.conversations.im](https://compliance.conversations.im/).
48
+
49
+ ## Configuration
50
+
51
+ The bot is configured using environment variables. You can copy `.env.example` to `.env` and fill in your details:
52
+
53
+ ```bash
54
+ cp .env.example .env
55
+ # Edit .env with your credentials
56
+ ```
57
+
58
+ | Variable | Description | Required | Default |
59
+ |----------|-------------|----------|---------|
60
+ | `XMPP_UTILS_JID` | The JID of the bot account (e.g., `bot@example.com`). | Yes | - |
61
+ | `XMPP_UTILS_PASSWORD` | The password for the bot account. | Yes | - |
62
+ | `XMPP_UTILS_MUCS` | A comma-separated list of MUC JIDs to join. | Yes | - |
63
+ | `XMPP_UTILS_NICK` | The nickname to use in MUCs. | No | `XMPP utilities` |
64
+
65
+ ## Getting Started
66
+
67
+ ### Prerequisites
68
+
69
+ - Python 3.13 or newer
70
+ - [uv](https://github.com/astral-sh/uv) (recommended for dependency management)
71
+
72
+ ### Running locally
73
+
74
+ 1. Clone the repository:
75
+ ```bash
76
+ git clone https://github.com/yourusername/xmpp-utilities.git
77
+ cd xmpp-utilities
78
+ ```
79
+
80
+ 2. Install dependencies:
81
+ ```bash
82
+ uv sync
83
+ ```
84
+
85
+ 3. Set the environment variables and run the bot:
86
+ ```bash
87
+ export XMPP_UTILS_JID="your-jid@example.com"
88
+ export XMPP_UTILS_PASSWORD="your-password"
89
+ export XMPP_UTILS_MUCS="room@conference.example.com"
90
+ uv run main.py
91
+ ```
92
+
93
+ ## Deployment
94
+
95
+ ### Container (Docker/Podman)
96
+
97
+ A container image is available for this project.
98
+
99
+ ```bash
100
+ podman run -d \
101
+ --name xmpp-utilities \
102
+ -e XMPP_UTILS_JID="your-jid@example.com" \
103
+ -e XMPP_UTILS_PASSWORD="your-password" \
104
+ -e XMPP_UTILS_MUCS="room@conference.example.com" \
105
+ foundry.fsky.io/telepath/xmpp-utilities
106
+ ```
107
+
108
+ ### Systemd Quadlet
109
+
110
+ A Quadlet file is available at `contrib/quadlet/xmpp-utilities.container`. You can use it to manage the container via systemd.
111
+
112
+ Edit the file to suit your needs, place it into `~/.config/containers/systemd/` or `/etc/containers/systemd/`, and run:
113
+
114
+ ```bash
115
+ systemctl --user daemon-reload
116
+ systemctl --user start xmpp-utilities
117
+ ```
118
+
119
+ ## License
120
+
121
+ This project is released into the public domain under the [Unlicense](LICENSE).
@@ -0,0 +1,93 @@
1
+ # XMPP Utilities
2
+
3
+ XMPP Utilities is a simple XMPP bot that provides various diagnostic and informational tools for XMPP entities and domains. It can be used to check software versions, service items, contact information, uptime, and more.
4
+
5
+ ## Features
6
+
7
+ The bot responds to commands prefixed with `!xmpp` in both direct messages and configured Multi-User Chats (MUCs).
8
+
9
+ ### Available Commands
10
+
11
+ - `!xmpp help` - Displays the help message with all available commands.
12
+ - `!xmpp version <jid>` - Shows the software version of an XMPP entity (XEP-0092).
13
+ - `!xmpp items <jid>` - Lists the service items of an XMPP entity (XEP-0030).
14
+ - `!xmpp contact <jid>` - Displays contact information for an XMPP entity (XEP-0030).
15
+ - `!xmpp info <jid>` - Lists the identities and features of an XMPP entity (XEP-0030).
16
+ - `!xmpp ping <jid>` - Pings an XMPP entity and reports the round-trip time (XEP-0199).
17
+ - `!xmpp uptime <jid>` - Shows the uptime of an XMPP entity (XEP-0012).
18
+ - `!xmpp srv <domain>` - Performs DNS SRV lookups for XMPP services (`_xmpp-client`, `_xmpp-server`, etc.).
19
+ - `!xmpp compliance <domain>` - Shows the compliance score of a server from [compliance.conversations.im](https://compliance.conversations.im/).
20
+
21
+ ## Configuration
22
+
23
+ The bot is configured using environment variables. You can copy `.env.example` to `.env` and fill in your details:
24
+
25
+ ```bash
26
+ cp .env.example .env
27
+ # Edit .env with your credentials
28
+ ```
29
+
30
+ | Variable | Description | Required | Default |
31
+ |----------|-------------|----------|---------|
32
+ | `XMPP_UTILS_JID` | The JID of the bot account (e.g., `bot@example.com`). | Yes | - |
33
+ | `XMPP_UTILS_PASSWORD` | The password for the bot account. | Yes | - |
34
+ | `XMPP_UTILS_MUCS` | A comma-separated list of MUC JIDs to join. | Yes | - |
35
+ | `XMPP_UTILS_NICK` | The nickname to use in MUCs. | No | `XMPP utilities` |
36
+
37
+ ## Getting Started
38
+
39
+ ### Prerequisites
40
+
41
+ - Python 3.13 or newer
42
+ - [uv](https://github.com/astral-sh/uv) (recommended for dependency management)
43
+
44
+ ### Running locally
45
+
46
+ 1. Clone the repository:
47
+ ```bash
48
+ git clone https://github.com/yourusername/xmpp-utilities.git
49
+ cd xmpp-utilities
50
+ ```
51
+
52
+ 2. Install dependencies:
53
+ ```bash
54
+ uv sync
55
+ ```
56
+
57
+ 3. Set the environment variables and run the bot:
58
+ ```bash
59
+ export XMPP_UTILS_JID="your-jid@example.com"
60
+ export XMPP_UTILS_PASSWORD="your-password"
61
+ export XMPP_UTILS_MUCS="room@conference.example.com"
62
+ uv run main.py
63
+ ```
64
+
65
+ ## Deployment
66
+
67
+ ### Container (Docker/Podman)
68
+
69
+ A container image is available for this project.
70
+
71
+ ```bash
72
+ podman run -d \
73
+ --name xmpp-utilities \
74
+ -e XMPP_UTILS_JID="your-jid@example.com" \
75
+ -e XMPP_UTILS_PASSWORD="your-password" \
76
+ -e XMPP_UTILS_MUCS="room@conference.example.com" \
77
+ foundry.fsky.io/telepath/xmpp-utilities
78
+ ```
79
+
80
+ ### Systemd Quadlet
81
+
82
+ A Quadlet file is available at `contrib/quadlet/xmpp-utilities.container`. You can use it to manage the container via systemd.
83
+
84
+ Edit the file to suit your needs, place it into `~/.config/containers/systemd/` or `/etc/containers/systemd/`, and run:
85
+
86
+ ```bash
87
+ systemctl --user daemon-reload
88
+ systemctl --user start xmpp-utilities
89
+ ```
90
+
91
+ ## License
92
+
93
+ This project is released into the public domain under the [Unlicense](LICENSE).
@@ -0,0 +1,40 @@
1
+ [project]
2
+ name = "xmpp-utilities"
3
+ version = "1.0.1"
4
+ readme = "README.md"
5
+ license = "Unlicense"
6
+ license-files = ["LICENSE"]
7
+ authors = [
8
+ { name = "Telepath", email = "development@telepath.im" }
9
+ ]
10
+ classifiers = [
11
+ "Development Status :: 5 - Production/Stable",
12
+ "Environment :: No Input/Output (Daemon)",
13
+ "Programming Language :: Python :: 3",
14
+ "Programming Language :: Python :: 3 :: Only",
15
+ "Programming Language :: Python :: 3.13",
16
+ "Programming Language :: Python :: 3.14",
17
+ "Programming Language :: Python :: 3.15",
18
+ "Topic :: Communications",
19
+ "Topic :: Communications :: Chat",
20
+ "Topic :: Internet :: XMPP",
21
+ "Intended Audience :: End Users/Desktop",
22
+ "Intended Audience :: System Administrators"
23
+ ]
24
+ keywords = ["xmpp", "xmpp bot", "slixmpp", "bot"]
25
+ requires-python = ">=3.13"
26
+ dependencies = [
27
+ "dnspython>=2.8.0",
28
+ "slixmpp>=1.12.0",
29
+ ]
30
+
31
+ [project.urls]
32
+ Homepage = "https://telepath.im/projects/xmpp-utilities/"
33
+ Repository = "https://foundry.fsky.io/telepath/xmpp-utilities.git"
34
+ Issues = "https://foundry.fsky.io/telepath/xmpp-utilities/issues"
35
+
36
+ [[tool.uv.index]]
37
+ name = "foundry"
38
+ url = "https://foundry.fsky.io/api/packages/telepath/pypi/simple/"
39
+ publish-url = "https://foundry.fsky.io/api/packages/telepath/pypi/"
40
+ explicit = true
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,121 @@
1
+ Metadata-Version: 2.4
2
+ Name: xmpp-utilities
3
+ Version: 1.0.1
4
+ Author-email: Telepath <development@telepath.im>
5
+ License-Expression: Unlicense
6
+ Project-URL: Homepage, https://telepath.im/projects/xmpp-utilities/
7
+ Project-URL: Repository, https://foundry.fsky.io/telepath/xmpp-utilities.git
8
+ Project-URL: Issues, https://foundry.fsky.io/telepath/xmpp-utilities/issues
9
+ Keywords: xmpp,xmpp bot,slixmpp,bot
10
+ Classifier: Development Status :: 5 - Production/Stable
11
+ Classifier: Environment :: No Input/Output (Daemon)
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3 :: Only
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Programming Language :: Python :: 3.14
16
+ Classifier: Programming Language :: Python :: 3.15
17
+ Classifier: Topic :: Communications
18
+ Classifier: Topic :: Communications :: Chat
19
+ Classifier: Topic :: Internet :: XMPP
20
+ Classifier: Intended Audience :: End Users/Desktop
21
+ Classifier: Intended Audience :: System Administrators
22
+ Requires-Python: >=3.13
23
+ Description-Content-Type: text/markdown
24
+ License-File: LICENSE
25
+ Requires-Dist: dnspython>=2.8.0
26
+ Requires-Dist: slixmpp>=1.12.0
27
+ Dynamic: license-file
28
+
29
+ # XMPP Utilities
30
+
31
+ XMPP Utilities is a simple XMPP bot that provides various diagnostic and informational tools for XMPP entities and domains. It can be used to check software versions, service items, contact information, uptime, and more.
32
+
33
+ ## Features
34
+
35
+ The bot responds to commands prefixed with `!xmpp` in both direct messages and configured Multi-User Chats (MUCs).
36
+
37
+ ### Available Commands
38
+
39
+ - `!xmpp help` - Displays the help message with all available commands.
40
+ - `!xmpp version <jid>` - Shows the software version of an XMPP entity (XEP-0092).
41
+ - `!xmpp items <jid>` - Lists the service items of an XMPP entity (XEP-0030).
42
+ - `!xmpp contact <jid>` - Displays contact information for an XMPP entity (XEP-0030).
43
+ - `!xmpp info <jid>` - Lists the identities and features of an XMPP entity (XEP-0030).
44
+ - `!xmpp ping <jid>` - Pings an XMPP entity and reports the round-trip time (XEP-0199).
45
+ - `!xmpp uptime <jid>` - Shows the uptime of an XMPP entity (XEP-0012).
46
+ - `!xmpp srv <domain>` - Performs DNS SRV lookups for XMPP services (`_xmpp-client`, `_xmpp-server`, etc.).
47
+ - `!xmpp compliance <domain>` - Shows the compliance score of a server from [compliance.conversations.im](https://compliance.conversations.im/).
48
+
49
+ ## Configuration
50
+
51
+ The bot is configured using environment variables. You can copy `.env.example` to `.env` and fill in your details:
52
+
53
+ ```bash
54
+ cp .env.example .env
55
+ # Edit .env with your credentials
56
+ ```
57
+
58
+ | Variable | Description | Required | Default |
59
+ |----------|-------------|----------|---------|
60
+ | `XMPP_UTILS_JID` | The JID of the bot account (e.g., `bot@example.com`). | Yes | - |
61
+ | `XMPP_UTILS_PASSWORD` | The password for the bot account. | Yes | - |
62
+ | `XMPP_UTILS_MUCS` | A comma-separated list of MUC JIDs to join. | Yes | - |
63
+ | `XMPP_UTILS_NICK` | The nickname to use in MUCs. | No | `XMPP utilities` |
64
+
65
+ ## Getting Started
66
+
67
+ ### Prerequisites
68
+
69
+ - Python 3.13 or newer
70
+ - [uv](https://github.com/astral-sh/uv) (recommended for dependency management)
71
+
72
+ ### Running locally
73
+
74
+ 1. Clone the repository:
75
+ ```bash
76
+ git clone https://github.com/yourusername/xmpp-utilities.git
77
+ cd xmpp-utilities
78
+ ```
79
+
80
+ 2. Install dependencies:
81
+ ```bash
82
+ uv sync
83
+ ```
84
+
85
+ 3. Set the environment variables and run the bot:
86
+ ```bash
87
+ export XMPP_UTILS_JID="your-jid@example.com"
88
+ export XMPP_UTILS_PASSWORD="your-password"
89
+ export XMPP_UTILS_MUCS="room@conference.example.com"
90
+ uv run main.py
91
+ ```
92
+
93
+ ## Deployment
94
+
95
+ ### Container (Docker/Podman)
96
+
97
+ A container image is available for this project.
98
+
99
+ ```bash
100
+ podman run -d \
101
+ --name xmpp-utilities \
102
+ -e XMPP_UTILS_JID="your-jid@example.com" \
103
+ -e XMPP_UTILS_PASSWORD="your-password" \
104
+ -e XMPP_UTILS_MUCS="room@conference.example.com" \
105
+ foundry.fsky.io/telepath/xmpp-utilities
106
+ ```
107
+
108
+ ### Systemd Quadlet
109
+
110
+ A Quadlet file is available at `contrib/quadlet/xmpp-utilities.container`. You can use it to manage the container via systemd.
111
+
112
+ Edit the file to suit your needs, place it into `~/.config/containers/systemd/` or `/etc/containers/systemd/`, and run:
113
+
114
+ ```bash
115
+ systemctl --user daemon-reload
116
+ systemctl --user start xmpp-utilities
117
+ ```
118
+
119
+ ## License
120
+
121
+ This project is released into the public domain under the [Unlicense](LICENSE).
@@ -0,0 +1,8 @@
1
+ LICENSE
2
+ README.md
3
+ pyproject.toml
4
+ xmpp_utilities.egg-info/PKG-INFO
5
+ xmpp_utilities.egg-info/SOURCES.txt
6
+ xmpp_utilities.egg-info/dependency_links.txt
7
+ xmpp_utilities.egg-info/requires.txt
8
+ xmpp_utilities.egg-info/top_level.txt
@@ -0,0 +1,2 @@
1
+ dnspython>=2.8.0
2
+ slixmpp>=1.12.0