aiospamc


Nameaiospamc JSON
Version 0.3.0 PyPI version JSON
download
home_pagehttps://github.com/mjcaley/aiospamc
SummaryAn asyncio-based library to communicate with SpamAssassin's SPAMD service.
upload_time2017-07-04 16:19:04
maintainer
docs_urlhttp://pythonhosted.org/aiospamc/
authorMichael Caley
requires_python
licenseMIT
keywords spam spamc spamassassin
VCS
bugtrack_url
requirements None pytest pytest-runner pytest-cov pytest-asyncio asynctest Sphinx sphinxcontrib-asyncio
Travis-CI
coveralls test coverage No coveralls.
            ========
aiospamc
========

.. image:: https://travis-ci.org/mjcaley/aiospamc.svg?branch=master
    :target: https://travis-ci.org/mjcaley/aiospamc
.. image:: https://codecov.io/gh/mjcaley/aiospamc/branch/master/graph/badge.svg
    :target: https://codecov.io/gh/mjcaley/aiospamc
    
-----------
Description
-----------

Python asyncio-based library that implements the SPAMC/SPAMD client protocol used by SpamAssassin.

-------------
Documentation
-------------

Documentation can be found at: https://aiospamc.readthedocs.io/

------------
Requirements
------------

* Python 3.5 or higher

-------
Example
-------

.. code:: python

    import asyncio

    from aiospamc import *


    GTUBE = '''Subject: Test spam mail (GTUBE)
    Message-ID: <GTUBE1.1010101@example.net>
    Date: Wed, 23 Jul 2003 23:30:00 +0200
    From: Sender <sender@example.net>
    To: Recipient <recipient@example.net>
    Precedence: junk
    MIME-Version: 1.0
    Content-Type: text/plain; charset=us-ascii
    Content-Transfer-Encoding: 7bit

    This is the GTUBE, the
        Generic
        Test for
        Unsolicited
        Bulk
        Email

    If your spam filter supports it, the GTUBE provides a test by which you
    can verify that the filter is installed correctly and is detecting incoming
    spam. You can send yourself a test mail containing the following string of
    characters (in upper case and with no white spaces and line breaks):

    XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

    You should send this test mail from an account outside of your network.
    '''

    loop = asyncio.new_event_loop()
    client = Client(host='localhost')
    responses = loop.run_until_complete(asyncio.gather(
        client.ping(),
        client.check(GTUBE),
        client.headers(GTUBE)
    ))
    print(responses)
            

Raw data

            {
    "maintainer": "", 
    "docs_url": "http://pythonhosted.org/aiospamc/", 
    "requires_python": "", 
    "maintainer_email": "", 
    "cheesecake_code_kwalitee_id": null, 
    "keywords": "spam spamc spamassassin", 
    "upload_time": "2017-07-04 16:19:04", 
    "requirements": [
        {
            "name": null, 
            "specs": []
        }, 
        {
            "name": "pytest", 
            "specs": [
                [
                    ">=", 
                    "3.1.2"
                ]
            ]
        }, 
        {
            "name": "pytest-runner", 
            "specs": [
                [
                    ">=", 
                    "2.11"
                ]
            ]
        }, 
        {
            "name": "pytest-cov", 
            "specs": [
                [
                    ">=", 
                    "2.5.1"
                ]
            ]
        }, 
        {
            "name": "pytest-asyncio", 
            "specs": [
                [
                    ">=", 
                    "0.6.0"
                ]
            ]
        }, 
        {
            "name": "asynctest", 
            "specs": [
                [
                    ">=", 
                    "0.8.0"
                ]
            ]
        }, 
        {
            "name": "Sphinx", 
            "specs": [
                [
                    ">=", 
                    "1.6.2"
                ]
            ]
        }, 
        {
            "name": "sphinxcontrib-asyncio", 
            "specs": [
                [
                    ">=", 
                    "0.2.0"
                ]
            ]
        }
    ], 
    "author": "Michael Caley", 
    "home_page": "https://github.com/mjcaley/aiospamc", 
    "github_user": "mjcaley", 
    "download_url": "https://pypi.python.org/packages/77/5b/9afbc91caa019212365b46bdc9f177a5a18427fdf05545939acdaa2c2e42/aiospamc-0.3.0.tar.gz", 
    "platform": "", 
    "version": "0.3.0", 
    "cheesecake_documentation_id": null, 
    "description": "========\naiospamc\n========\n\n.. image:: https://travis-ci.org/mjcaley/aiospamc.svg?branch=master\n    :target: https://travis-ci.org/mjcaley/aiospamc\n.. image:: https://codecov.io/gh/mjcaley/aiospamc/branch/master/graph/badge.svg\n    :target: https://codecov.io/gh/mjcaley/aiospamc\n    \n-----------\nDescription\n-----------\n\nPython asyncio-based library that implements the SPAMC/SPAMD client protocol used by SpamAssassin.\n\n-------------\nDocumentation\n-------------\n\nDocumentation can be found at: https://aiospamc.readthedocs.io/\n\n------------\nRequirements\n------------\n\n* Python 3.5 or higher\n\n-------\nExample\n-------\n\n.. code:: python\n\n    import asyncio\n\n    from aiospamc import *\n\n\n    GTUBE = '''Subject: Test spam mail (GTUBE)\n    Message-ID: <GTUBE1.1010101@example.net>\n    Date: Wed, 23 Jul 2003 23:30:00 +0200\n    From: Sender <sender@example.net>\n    To: Recipient <recipient@example.net>\n    Precedence: junk\n    MIME-Version: 1.0\n    Content-Type: text/plain; charset=us-ascii\n    Content-Transfer-Encoding: 7bit\n\n    This is the GTUBE, the\n        Generic\n        Test for\n        Unsolicited\n        Bulk\n        Email\n\n    If your spam filter supports it, the GTUBE provides a test by which you\n    can verify that the filter is installed correctly and is detecting incoming\n    spam. You can send yourself a test mail containing the following string of\n    characters (in upper case and with no white spaces and line breaks):\n\n    XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X\n\n    You should send this test mail from an account outside of your network.\n    '''\n\n    loop = asyncio.new_event_loop()\n    client = Client(host='localhost')\n    responses = loop.run_until_complete(asyncio.gather(\n        client.ping(),\n        client.check(GTUBE),\n        client.headers(GTUBE)\n    ))\n    print(responses)", 
    "lcname": "aiospamc", 
    "bugtrack_url": null, 
    "github": true, 
    "coveralls": false, 
    "name": "aiospamc", 
    "license": "MIT", 
    "travis_ci": true, 
    "github_project": "aiospamc", 
    "summary": "An asyncio-based library to communicate with SpamAssassin's SPAMD service.", 
    "split_keywords": [
        "spam", 
        "spamc", 
        "spamassassin"
    ], 
    "author_email": "mjcaley@darkarctic.com", 
    "urls": [
        {
            "has_sig": false, 
            "upload_time": "2017-07-04T16:20:24", 
            "comment_text": "", 
            "python_version": "py3", 
            "url": "https://pypi.python.org/packages/b8/e6/e47bc3cfae6ce04a9447087090fc92917e2b234af8e74dd58f061cecb259/aiospamc-0.3.0-py3-none-any.whl", 
            "md5_digest": "67bb13f8b6be485021ab390caee3024c", 
            "downloads": 0, 
            "filename": "aiospamc-0.3.0-py3-none-any.whl", 
            "packagetype": "bdist_wheel", 
            "path": "b8/e6/e47bc3cfae6ce04a9447087090fc92917e2b234af8e74dd58f061cecb259/aiospamc-0.3.0-py3-none-any.whl", 
            "size": 22231
        }, 
        {
            "has_sig": false, 
            "upload_time": "2017-07-04T16:19:04", 
            "comment_text": "", 
            "python_version": "source", 
            "url": "https://pypi.python.org/packages/77/5b/9afbc91caa019212365b46bdc9f177a5a18427fdf05545939acdaa2c2e42/aiospamc-0.3.0.tar.gz", 
            "md5_digest": "4311e62ee0750af6bea5b1a52fd73ad2", 
            "downloads": 0, 
            "filename": "aiospamc-0.3.0.tar.gz", 
            "packagetype": "sdist", 
            "path": "77/5b/9afbc91caa019212365b46bdc9f177a5a18427fdf05545939acdaa2c2e42/aiospamc-0.3.0.tar.gz", 
            "size": 15970
        }
    ], 
    "_id": null, 
    "cheesecake_installability_id": null
}