xmpppy
- About:
Python 2/3 implementation of XMPP
- Standards:
- Documentation:
- Source Code:
Installation
Using pip, you can install the package with:
pip install --upgrade xmpppy
Usage
As a library
Regularly, the module is used as a library, like:
import xmpp
jabberid = "foobar@xmpp.domain.tld"
password = "secret"
receiver = "bazqux@xmpp.domain.tld"
message = "hello world"
def main():
jid = xmpp.protocol.JID(jabberid)
connection = xmpp.Client(server=jid.getDomain(), debug=True)
connection.connect()
connection.auth(user=jid.getNode(), password=password, resource=jid.getResource())
connection.send(xmpp.protocol.Message(to=receiver, body=message))
if __name__ == "__main__":
main()
Command line interface
The package also installs a command line program called xmpp-message. Its synopsis is:
xmpp-message --debug \
--jabberid foobar@xmpp.domain.tld --password secret \
--receiver bazqux@xmpp.domain.tld --message 'hello world'
You can also put your credentials into an ~/.xsend file, like:
JID=foobar@xmpp.domain.tld PASSWORD=secret
and then invoke xmpp-message omitting the --jabberid and --password options, like:
xmpp-message --receiver bazqux@xmpp.domain.tld --message 'hello world'
Documentation
The canonical documentation is hosted at https://xmpppy.github.io/ and http://xmpppy.sourceforge.net/.
For learning about how to use this module, please have a look at these spots within the code base.
The xmpp-message program, located at xmpp/cli.py, for sending a single XMPP message.
The other programs within the doc/examples directory.
The docstrings within the library itself.
Development
Sandbox
Acquire sources and bootstrap sandbox:
git clone https://github.com/xmpppy/xmpppy cd xmpppy python3 -m venv .venv source .venv/bin/activate pip install --upgrade --editable='.[test]'
Software tests
Running the software tests requires a local XMPP server and a specific user account.
- TCP (ipv4):
localhost:5222
- XMPP vhost:
localhost
- JID:
testdrive@localhost
- Password:
secret
The server needs to support the core XMPP specification, it does not need to federate with other servers, nor provide TLS upgrades or other remote accesses.
Run software tests:
pytest
Run particular test cases:
pytest --no-cov -k compile
Run software tests using Prosody XMPP through the accompanied Compose file:
docker compose --file=tests/compose.yml up docker compose --file=tests/compose.yml exec prosody prosodyctl register testdrive localhost secret pytest
Support
If you have any questions about xmpppy usage or you have found a bug or want to share some ideas - you are welcome to join us on the issue tracker or on the xmpppy-devel mailing list.
Other projects
Metadata
Release files for xmpppy 0.7.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| xmpppy-0.7.4.tar.gz | 90.8 kB | Without provenance | Details for xmpppy-0.7.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| xmpppy-0.7.4-py3-none-any.whl | Python 3 | none | any | Details for xmpppy-0.7.4-py3-none-any.whl |
Total release size: 178.0 kB
Release files / xmpppy-0.7.4.tar.gz
| Download URL | xmpppy-0.7.4.tar.gz |
|---|---|
| Size | 90.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f54df50a153c104d33456768936e9e8352e6c57cb3bed2cb93a2a0ee3fffd73c
|
|
BLAKE2b-256 checksum How to use checksums |
6ea6a53d1ca08c686dd9e1bc18cf0fa3cd67462d43c69087fa55270f6b6d802c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.11
|
Release files / xmpppy-0.7.4-py3-none-any.whl
| Download URL | xmpppy-0.7.4-py3-none-any.whl |
|---|---|
| Size | 87.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
69d6ea00a85aad0250f8cafc2e073b4d6320d19a7d00bd728f74fcf1f138b77a
|
|
BLAKE2b-256 checksum How to use checksums |
e83421d3f3f4f6110c2efe8f31f6a9aede8af82f4cd2d59f0645e7976f008e78
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.11
|
Security for xmpppy 0.7.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.