aioxmpp


Nameaioxmpp JSON
Version 0.13.3 PyPI version JSON
download
home_pagehttps://github.com/horazont/aioxmpp
SummaryPure-python XMPP library for asyncio
upload_time2023-02-05 10:09:06
maintainer
docs_urlNone
authorJonas Schäfer
requires_python
licenseLGPLv3+
keywords asyncio xmpp library
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            ``aioxmpp``
###########

.. image:: https://travis-ci.org/horazont/aioxmpp.svg?branch=devel
  :target: https://travis-ci.org/horazont/aioxmpp

.. image:: https://coveralls.io/repos/github/horazont/aioxmpp/badge.svg?branch=devel
  :target: https://coveralls.io/github/horazont/aioxmpp?branch=devel

.. image:: https://img.shields.io/pypi/v/aioxmpp.svg
  :target: https://pypi.python.org/pypi/aioxmpp/

... is a pure-python XMPP library using the `asyncio`_ standard library module from Python 3.4 (and `available as a third-party module to Python 3.3`__).

.. _asyncio: https://docs.python.org/3/library/asyncio.html
__ https://code.google.com/p/tulip/

.. remember to update the feature list in the docs

Features
========

* Native `Stream Management (XEP-0198)
  <https://xmpp.org/extensions/xep-0198.html>`_ support for robustness against
  transient network failures (such as switching between wireless and wired
  networks).

* Powerful declarative-style definition of XEP-based and custom protocols. Most
  of the time, you will not get in contact with raw XML or character data, even
  when implementing a new protocol.

* Secure by default: TLS is required by default, as well as certificate
  validation. Certificate or public key pinning can be used, if needed.

* Support for `RFC 6121 (Instant Messaging and Presence)
  <https://tools.ietf.org/html/rfc6121>`_ roster and presence management, along
  with `XEP-0045 (Multi-User Chats)
  <https://xmpp.org/extensions/xep-0045.html>`_ for your human-to-human needs.

* Support for `XEP-0060 (Publish-Subscribe)
  <https://xmpp.org/extensions/xep-0060.html>`_ and `XEP-0050 (Ad-Hoc Commands)
  <https://xmpp.org/extensions/xep-0050.html>`_ for your machine-to-machine
  needs.

* Several other XEPs, such as `XEP-0115
  <https://xmpp.org/extensions/xep-0115.html>`_ (including native support for
  the reading and writing the `capsdb <https://github.com/xnyhps/capsdb>`_) and
  `XEP-0131 <https://xmpp.org/extensions/xep-0131.html>`_.

* APIs suitable for both one-shot scripts and long-running multi-account
  clients.

* Well-tested and modular codebase: aioxmpp is developed in test-driven
  style and in addition to that, many modules are automatedly tested against
  `Prosody <https://prosody.im/>`_ and `ejabberd <https://www.ejabberd.im/>`_,
  two popular XMPP servers.


There is more and there’s yet more to come! Check out the list of supported XEPs
in the `official documentation`_ and `open GitHub issues tagged as enhancement
<https://github.com/horazont/aioxmpp/issues?q=is%3Aissue+is%3Aopen+label%3Aenhancement>`_
for things which are planned and read on below on how to contribute.

Documentation
=============

The ``aioxmpp`` API is thoroughly documented using Sphinx. Check out the `official documentation`_ for a `quick start`_ and the `API reference`_.

Dependencies
============

* Python ≥ 3.4 (or Python = 3.3 with tulip and enum34)
* DNSPython
* lxml
* `sortedcollections`__

  __ https://pypi.python.org/pypi/sortedcollections

* `tzlocal`__ (for i18n support)

  __ https://pypi.python.org/pypi/tzlocal

* `pyOpenSSL`__

  __ https://pypi.python.org/pypi/pyOpenSSL

* `pyasn1`_ and `pyasn1_modules`__

  .. _pyasn1: https://pypi.python.org/pypi/pyasn1
  __ https://pypi.python.org/pypi/pyasn1-modules

* `aiosasl`__ (≥ 0.3 for ``ANONYMOUS`` support)

  __ https://pypi.python.org/pypi/aiosasl

* `multidict`__

  __ https://pypi.python.org/pypi/multidict

* `aioopenssl`__

  __ https://github.com/horazont/aioopenssl

* `typing`__ (Python < 3.5 only)

  __ https://pypi.python.org/pypi/typing

Contributing
============

If you consider contributing to aioxmpp, you can do so, even without a GitHub
account. There are several ways to get in touch with the aioxmpp developer(s):

* `The development mailing list
  <https://lists.zombofant.net/cgi-bin/mailman/listinfo/aioxmpp-devel>`_. Feel
  free to subscribe and post, but be polite and adhere to the `Netiquette
  (RFC 1855) <https://tools.ietf.org/html/rfc1855>`_. Pull requests posted to
  the mailing list are also welcome!

* The development MUC at ``aioxmpp@conference.zombofant.net``. Pull requests
  announced in the MUC are also welcome! Note that the MUC is set persistent,
  but nevertheless there may not always be people around. If in doubt, use the
  mailing list instead.

* Open or comment on an issue or post a pull request on `GitHub
  <https://github.com/horazont/aioxmpp/issues>`_.

No idea what to do, but still want to get your hands dirty? Check out the list
of `'help wanted' issues on GitHub
<https://github.com/horazont/aioxmpp/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22>`_
or ask in the MUC or on the mailing list. The issues tagged as 'help wanted' are
usually of narrow scope, aimed at beginners.

Be sure to read the ``docs/CONTRIBUTING.rst`` for some hints on how to
author your contribution.

Security issues
---------------

If you believe that a bug you found in aioxmpp has security implications,
you are welcome to notify me privately. To do so, send a mail to `Jonas Schäfer
<mailto:jonas@wielicki.name>`_, encrypted using the GPG public key
0xE5EDE5AC679E300F (Fingerprint AA5A 78FF 508D 8CF4 F355  F682 E5ED E5AC 679E
300F).

If you prefer to disclose security issues immediately, you can do so at any of
the places listed above.

More details can be found in the `SECURITY.md <SECURITY.md>`_ file.

Change log
==========

The `change log`_ is included in the `official documentation`_.

.. _change log: https://docs.zombofant.net/aioxmpp/0.13/api/changelog.html
.. _official documentation: https://docs.zombofant.net/aioxmpp/0.13/
.. _quick start: https://docs.zombofant.net/aioxmpp/0.13/user-guide/quickstart.html
.. _API reference: https://docs.zombofant.net/aioxmpp/0.13/api/index.html

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/horazont/aioxmpp",
    "name": "aioxmpp",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "asyncio xmpp library",
    "author": "Jonas Sch\u00e4fer",
    "author_email": "jonas@wielicki.name",
    "download_url": "https://files.pythonhosted.org/packages/7b/c3/4466ea93751dcfcbf260ecd905985f72b25ef1017ab15debf52243136ab2/aioxmpp-0.13.3.tar.gz",
    "platform": null,
    "description": "``aioxmpp``\n###########\n\n.. image:: https://travis-ci.org/horazont/aioxmpp.svg?branch=devel\n  :target: https://travis-ci.org/horazont/aioxmpp\n\n.. image:: https://coveralls.io/repos/github/horazont/aioxmpp/badge.svg?branch=devel\n  :target: https://coveralls.io/github/horazont/aioxmpp?branch=devel\n\n.. image:: https://img.shields.io/pypi/v/aioxmpp.svg\n  :target: https://pypi.python.org/pypi/aioxmpp/\n\n... is a pure-python XMPP library using the `asyncio`_ standard library module from Python 3.4 (and `available as a third-party module to Python 3.3`__).\n\n.. _asyncio: https://docs.python.org/3/library/asyncio.html\n__ https://code.google.com/p/tulip/\n\n.. remember to update the feature list in the docs\n\nFeatures\n========\n\n* Native `Stream Management (XEP-0198)\n  <https://xmpp.org/extensions/xep-0198.html>`_ support for robustness against\n  transient network failures (such as switching between wireless and wired\n  networks).\n\n* Powerful declarative-style definition of XEP-based and custom protocols. Most\n  of the time, you will not get in contact with raw XML or character data, even\n  when implementing a new protocol.\n\n* Secure by default: TLS is required by default, as well as certificate\n  validation. Certificate or public key pinning can be used, if needed.\n\n* Support for `RFC 6121 (Instant Messaging and Presence)\n  <https://tools.ietf.org/html/rfc6121>`_ roster and presence management, along\n  with `XEP-0045 (Multi-User Chats)\n  <https://xmpp.org/extensions/xep-0045.html>`_ for your human-to-human needs.\n\n* Support for `XEP-0060 (Publish-Subscribe)\n  <https://xmpp.org/extensions/xep-0060.html>`_ and `XEP-0050 (Ad-Hoc Commands)\n  <https://xmpp.org/extensions/xep-0050.html>`_ for your machine-to-machine\n  needs.\n\n* Several other XEPs, such as `XEP-0115\n  <https://xmpp.org/extensions/xep-0115.html>`_ (including native support for\n  the reading and writing the `capsdb <https://github.com/xnyhps/capsdb>`_) and\n  `XEP-0131 <https://xmpp.org/extensions/xep-0131.html>`_.\n\n* APIs suitable for both one-shot scripts and long-running multi-account\n  clients.\n\n* Well-tested and modular codebase: aioxmpp is developed in test-driven\n  style and in addition to that, many modules are automatedly tested against\n  `Prosody <https://prosody.im/>`_ and `ejabberd <https://www.ejabberd.im/>`_,\n  two popular XMPP servers.\n\n\nThere is more and there\u2019s yet more to come! Check out the list of supported XEPs\nin the `official documentation`_ and `open GitHub issues tagged as enhancement\n<https://github.com/horazont/aioxmpp/issues?q=is%3Aissue+is%3Aopen+label%3Aenhancement>`_\nfor things which are planned and read on below on how to contribute.\n\nDocumentation\n=============\n\nThe ``aioxmpp`` API is thoroughly documented using Sphinx. Check out the `official documentation`_ for a `quick start`_ and the `API reference`_.\n\nDependencies\n============\n\n* Python \u2265 3.4 (or Python = 3.3 with tulip and enum34)\n* DNSPython\n* lxml\n* `sortedcollections`__\n\n  __ https://pypi.python.org/pypi/sortedcollections\n\n* `tzlocal`__ (for i18n support)\n\n  __ https://pypi.python.org/pypi/tzlocal\n\n* `pyOpenSSL`__\n\n  __ https://pypi.python.org/pypi/pyOpenSSL\n\n* `pyasn1`_ and `pyasn1_modules`__\n\n  .. _pyasn1: https://pypi.python.org/pypi/pyasn1\n  __ https://pypi.python.org/pypi/pyasn1-modules\n\n* `aiosasl`__ (\u2265 0.3 for ``ANONYMOUS`` support)\n\n  __ https://pypi.python.org/pypi/aiosasl\n\n* `multidict`__\n\n  __ https://pypi.python.org/pypi/multidict\n\n* `aioopenssl`__\n\n  __ https://github.com/horazont/aioopenssl\n\n* `typing`__ (Python < 3.5 only)\n\n  __ https://pypi.python.org/pypi/typing\n\nContributing\n============\n\nIf you consider contributing to aioxmpp, you can do so, even without a GitHub\naccount. There are several ways to get in touch with the aioxmpp developer(s):\n\n* `The development mailing list\n  <https://lists.zombofant.net/cgi-bin/mailman/listinfo/aioxmpp-devel>`_. Feel\n  free to subscribe and post, but be polite and adhere to the `Netiquette\n  (RFC 1855) <https://tools.ietf.org/html/rfc1855>`_. Pull requests posted to\n  the mailing list are also welcome!\n\n* The development MUC at ``aioxmpp@conference.zombofant.net``. Pull requests\n  announced in the MUC are also welcome! Note that the MUC is set persistent,\n  but nevertheless there may not always be people around. If in doubt, use the\n  mailing list instead.\n\n* Open or comment on an issue or post a pull request on `GitHub\n  <https://github.com/horazont/aioxmpp/issues>`_.\n\nNo idea what to do, but still want to get your hands dirty? Check out the list\nof `'help wanted' issues on GitHub\n<https://github.com/horazont/aioxmpp/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22>`_\nor ask in the MUC or on the mailing list. The issues tagged as 'help wanted' are\nusually of narrow scope, aimed at beginners.\n\nBe sure to read the ``docs/CONTRIBUTING.rst`` for some hints on how to\nauthor your contribution.\n\nSecurity issues\n---------------\n\nIf you believe that a bug you found in aioxmpp has security implications,\nyou are welcome to notify me privately. To do so, send a mail to `Jonas Sch\u00e4fer\n<mailto:jonas@wielicki.name>`_, encrypted using the GPG public key\n0xE5EDE5AC679E300F (Fingerprint AA5A 78FF 508D 8CF4 F355  F682 E5ED E5AC 679E\n300F).\n\nIf you prefer to disclose security issues immediately, you can do so at any of\nthe places listed above.\n\nMore details can be found in the `SECURITY.md <SECURITY.md>`_ file.\n\nChange log\n==========\n\nThe `change log`_ is included in the `official documentation`_.\n\n.. _change log: https://docs.zombofant.net/aioxmpp/0.13/api/changelog.html\n.. _official documentation: https://docs.zombofant.net/aioxmpp/0.13/\n.. _quick start: https://docs.zombofant.net/aioxmpp/0.13/user-guide/quickstart.html\n.. _API reference: https://docs.zombofant.net/aioxmpp/0.13/api/index.html\n",
    "bugtrack_url": null,
    "license": "LGPLv3+",
    "summary": "Pure-python XMPP library for asyncio",
    "version": "0.13.3",
    "split_keywords": [
        "asyncio",
        "xmpp",
        "library"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7bc34466ea93751dcfcbf260ecd905985f72b25ef1017ab15debf52243136ab2",
                "md5": "c20a8f056d6340020690f2a53e920993",
                "sha256": "a2299e84f6d61137c6a046e2470aeebd8cd25515c1f3cefd681c322242d8056d"
            },
            "downloads": -1,
            "filename": "aioxmpp-0.13.3.tar.gz",
            "has_sig": false,
            "md5_digest": "c20a8f056d6340020690f2a53e920993",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 387444,
            "upload_time": "2023-02-05T10:09:06",
            "upload_time_iso_8601": "2023-02-05T10:09:06.472996Z",
            "url": "https://files.pythonhosted.org/packages/7b/c3/4466ea93751dcfcbf260ecd905985f72b25ef1017ab15debf52243136ab2/aioxmpp-0.13.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-02-05 10:09:06",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "horazont",
    "github_project": "aioxmpp",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "tox": true,
    "lcname": "aioxmpp"
}
        
Elapsed time: 0.04036s