Console XMPP client in python

Overview

poezio

Poezio logo

pipeline python versions license

discuss

Homepage: https://poez.io

Forge Page: https://lab.louiz.org/poezio/poezio

Poezio is a console Jabber/XMPP client. The initial goal was to provide a way of connecting easily to XMPP without the need for an account, exactly like IRC clients. Poezio's commands are also designed to be close, if possible, to the ones commonly used in IRC clients (weechat, irssi, etc).

For this reason, the experience is still centered around chatrooms, despite poezio being a full-featured XMPP client for a very long while.

Install

Packages

The stable version of poezio is packaged in a number of GNU/Linux (and OpenBSD) distributions.

If it is not packaged in your distribution, you can run the flatpak or use pip to install the package from Pypi.

From git

Documentation

You need python 3.7 or higher (preferably the latest) and the associated devel package, to build C modules, and the slixmpp python library. You also need aiodns if you want SRV record support.

The easiest way to have up-to-date dependencies and to be able to test this developement version is to use the update.sh script that downloads them, places them in the right directory, and builds the C module.

You can then launch poezio with

$ ./launch.sh

You can edit the configuration file which is located in ~/.config/poezio/poezio.cfg by default, and you will have to copy and edit data/default_config.cfg if you want to edit the config before the first launch. The default config file is fully commented, but you can also read the “Configuration” documentation page which has links between options and longer descriptions.

Please see the online documentation for more information on installing, configuring or using poezio: https://doc.poez.io/

If you still have questions, or if you're lost, don't hesitate to come talk to us directly on our Jabber chat room (see Contact section).

Please DO report any bug you encounter and ask for any feature you want (we may implement it or not, but it’s always better to ask).

Authors

Contact/support

Jabber chat room: [email protected] (web chat)

Report a bug: https://lab.louiz.org/poezio/poezio/issues/new

License

Poezio is Free Software. (learn more: http://www.gnu.org/philosophy/free-sw.html)

Poezio is released under the zlib License. Please read the COPYING file for details.

The artwork logo was made by Gaëtan Ribémont and released under the Creative Commons BY license.

Hacking

If you want to contribute, you will be welcome on [email protected] (web chat) to announce your ideas, what you are going to do, or to seek help if you have trouble understanding some of the code.

The preferred way to submit changes is through a merge request on gitlab, at https://lab.louiz.org/poezio/poezio, but we also accept contributions on github, or with a simple “please fetch my code on my personal git repository hosted somewhere”.

Thanks

  • People:
    • Todd Eisenberger - Plugin system and OTR support
    • Jérôme Parment (Manfraid) - Code, testing
    • Akim Sadaoui - Code
    • Florian Duraffourg - Code
    • Frédéric Meynadier - Code
    • Georg Lukas - Code
    • Johannes Krude - Code
    • Łabędź - Code
    • Lasse Aagren - Code
    • Lancelot SIX - Code
    • Luke Marlin - Code
    • Maxime Buquet - Code
    • Nicolas Braud-Santoni - Code
    • Perdu - Code
    • Eijebong - Code
    • Gaëtan Ribémont - Logo design
    • Ovart - Testing
    • Koshie - Donation
    • Gapan - Makefile
    • FlashCode (weechat dev) - Useful advices on how to use ncurses efficiently
    • And all the people using and testing poezio, and especially the ones present on the jabber chatroom doing bug reports and/or feature requests.
You might also like...
🐍 The official Python client library for Google's discovery based APIs.

Google API Client This is the Python client library for Google's discovery based APIs. To get started, please see the docs folder. These client librar

Python client for Arista eAPI

Arista eAPI Python Library The Python library for Arista's eAPI command API implementation provides a client API work using eAPI and communicating wit

Python API Client for Close

Close API A convenient Python wrapper for the Close API. API docs: http://developer.close.com Support: [email protected] Installation pip install clos

Python client for CoinPayments API

pyCoinPayments - Python API client for CoinPayments Updates This library has now been converted to work with python3 This is an unofficial client for

DEPRECATED - Official Python Client for the Discogs API

⚠️ DEPRECATED This repository is no longer maintained. You can still use a REST client like Requests or other third-party Python library to access the

The Foursquare API client for Python

foursquare Python client for the foursquare API. Philosophy: Map foursquare's endpoints one-to-one Clean, simple, Pythonic calls Only handle raw data,

python3.5+ hubspot client based on hapipy, but modified to use the newer endpoints and non-legacy python

A python wrapper around HubSpot's APIs, for python 3.5+. Built initially around hapipy, but heavily modified. Check out the documentation here! (thank

Python Client for Instagram API

This project is not actively maintained. Proceed at your own risk! python-instagram A Python 2/3 client for the Instagram REST and Search APIs Install

The official Python client library for the Kite Connect trading APIs

The Kite Connect API Python client - v3 The official Python client for communicating with the Kite Connect API. Kite Connect is a set of REST-like API

Comments
  • Embed command

    Embed command

    Hi!

    I started this command to be able to display images in an embedded way in Conversations. I think more clients do the same thing, but this is the only one I have tested.

    This is more for a review than anything else, it would be (maybe) nice to check if what the user is passing is a real URL ending with an image extension, and warn the user about it.

    I'm also not catching any exception and I guess some may occur.

    I don't know Poezio from de development side, so I may be doing terrible things, but as an start, the plugin is working pretty well.

    As a future iteration of it, if URLs are checked, would be to parse the message's body and check if it's only a URL to an image, so you would not need to call the command like /embed <image_url>. Just send a link and that's all. And set a configuration option for this, being it automatic or manual.

    Let me know! :smiley_cat:

    opened by SeveFP 2
  • build(deps): bump pycares from 2.3.0 to 4.2.0

    build(deps): bump pycares from 2.3.0 to 4.2.0

    Bumps pycares from 2.3.0 to 4.2.0.

    Release notes

    Sourced from pycares's releases.

    4.2.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/saghul/pycares/compare/pycares-4.1.2...pycares-4.2.0

    4.1.2

    Added support for Python 3.10.

    4.1.1

    Added support for Python 3.10.

    4.1.0

    Add support for Python 3.10.

    4.0.0

    • core: add support for CAA queries
    • core: add support for getaddrinfo()
    • doc: update README
    • core: add ability to use the system installed c-ares
    • misc: set version to 4.0.0
    • test: remove TTL tests
    • core: update c-ares and use a submodule
    • core: drop bundled c-ares version
    • misc: drop tasks.py

    3.2.3

    No release notes provided.

    3.2.2

    • Publish aarch64 wheels

    3.2.1

    No release notes provided.

    3.2.0

    • misc: add Python 3.9 classifier
    • core: drop py3.5 from CI and documentation
    • ci: run tests in Python 3.9
    • ci: fix SDK path in appveyor
    • ci: fix VS linker in appveyor
    • ci: update python installer script in appveyor
    • misc: add compiled windows dll to gitignore
    • test: skip SOA non-ascii test due to changes in remote host
    • test: fix broken chunked TXT test due to changes in remote host
    • test: skip ANY test due to problems with mac
    • ci: add action to release wheels to PyPi

    ... (truncated)

    Changelog

    Sourced from pycares's changelog.

    No longer updated. Please check the commits.

    Version 4.0.0

    • doc: uppdate README
    • core: add support for CAA queries
    • core: add support for getaddrinfo()
    • doc: update README
    • core: add ability to use the system installed c-ares
    • misc: set version to 4.0.0
    • test: remove TTL tests
    • core: update c-ares and use a submodule
    • core: drop bundled c-ares version
    • misc: drop tasks.py

    Version 3.2.0

    • misc: add Python 3.9 classifier
    • core: drop py3.5 from CI and documentation
    • ci: run tests in Python 3.9
    • ci: fix SDK path in appveyor
    • ci: fix VS linker in appveyor
    • ci: update python installer script in appveyor
    • misc: add compiled windows dll to gitignore
    • test: skip SOA non-ascii test due to changes in remote host
    • test: fix broken chunked TXT test due to changes in remote host
    • test: skip ANY test due to problems with mac
    • ci: add action to release wheels to PyPi
    • ci: drop AppVeyor
    • ci: don't fail fast
    • ci: stop testing on Travis
    • test: add generic way to check for a CI
    • test: relax check
    • test: try to avoid spurious CI failures
    • ci: test all platforms on GH actions
    • ci: build wheels on GH Actions
    • build: fix build error on macOS
    • ci: explicitly set Python versions to build wheels for
    • ci: update cibuildwheel
    • ci: re-add IDNA test

    Version 3.1.1

    • ffi: new style callbacks

    Version 3.1.0

    • misc: add Python 3.8 classifier
    • (origin/master, origin/HEAD) build: use Travis to build Python Wheels

    ... (truncated)

    Commits
    • 7d62675 misc: update changelog
    • 5de6097 misc: set version to 4.2.0
    • faab689 tests: ignoring 2 tests due to dead servers
    • 8026e66 tests: updated google TXT records for an outdated test
    • f431164 deps: update bundled c-ares
    • b1b9834 misc: set version to 4.1.2
    • b6d517e build: add PYPIREADME.rst to manifest
    • f427967 misc: set version to 4.1.1
    • 70820fc misc: add PyPI README without images
    • a856b20 misc: update c-ares URL
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Add support for XEP-0392 (Consistent Color Generation)

    Add support for XEP-0392 (Consistent Color Generation)

    XEP-0392 specifies consistent generation of nickname (and other text) colors across clients.

    This implementation is not conformant with the palette mapping specified in the current version of XEP-0392, but yields better results. I’ll update the XEP shortly.

    Things which could be implemented but haven’t:

    • Apply coloring for the own nickname
    • Apply coloring in the roster somehow
    • Apply coloring in 1-on-1 conversations.
    opened by horazont 0
  • Fix typos

    Fix typos

    Tried to log in on your GitLab instance but got: Signing in using your GitHub account without a pre-existing GitLab account is not allowed. Create a GitLab account first, and then connect it to your GitHub account..

    Since this is not an important PR I decided to not spend more time on registering but open this PR here instead.

    opened by jubalh 0
Raphtory-client - The python client for the Raphtory project

Raphtory Client This is the python client for the Raphtory project Install via p

Raphtory 5 Apr 28, 2022
A listener for RF >= 4.0 that prints a Stack Trace to console to faster find the code section where the failure appears.

robotframework-stacktrace A listener for RF >= 4.0 that prints a Stack Trace to console to faster find the code section where the failure appears. Ins

marketsquare 16 Nov 24, 2022
And now, for the first time, you can send alerts via action from ArcSight ESM Console to the TheHive when Correlation Rules are triggered.

ArcSight Integration with TheHive And now, for the first time, you can send alerts via action from ArcSight ESM Console to the TheHive when Correlatio

Amir Hossein Zargaran 3 Jan 19, 2022
⚡️ Get notified as soon as your next CPU, GPU, or game console is in stock

Inventory Hunter This bot helped me snag an RTX 3070... hopefully it will help you get your hands on your next CPU, GPU, or game console. Requirements

Eric Marti 1.1k Dec 26, 2022
It was increasingly cumbersome to eye-grep CF output in the AWS console.

cfplot Overview It was increasingly cumbersome to eye-grep CF output in the AWS console. I couldn't find another tool out there to provide individual

null 46 Dec 26, 2022
Console BeautifulDiscord theme manager

BeautifulDiscord theme manager Console script for downloading & managing Discord .css themes via BeautifulDiscord. Setup Simply run # Linux/MacOS pip3

null 1 Dec 15, 2022
Cloudshell-sandbox-reporter - Helper modules and classes for writing to Cloudshell sandbox console

Cloudshell Sandbox Reporter This project provides utility classes for formatting

QualiLab 2 Sep 7, 2022
Drcom-pt-client - Drcom Pt version client with refresh timer

drcom-pt-client Drcom Pt version client with refresh timer Dr.com Pt版本客户端 可用于网页认

null 4 Nov 16, 2022
Official Python client for the MonkeyLearn API. Build and consume machine learning models for language processing from your Python apps.

MonkeyLearn API for Python Official Python client for the MonkeyLearn API. Build and run machine learning models for language processing from your Pyt

MonkeyLearn 157 Nov 22, 2022
🖥️ Python - P1 Monitor API Asynchronous Python Client

??️ Asynchronous Python client for the P1 Monitor

Klaas Schoute 9 Dec 12, 2022