{ "info": { "author": "Stuart Bishop", "author_email": "zen@shangri-la.dropbear.id.au", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.0", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Systems Administration :: Authentication/Directory" ], "description": ".. image:: https://travis-ci.org/btimby/py-radius.svg?branch=master\n :alt: Travis CI Status\n :target: https://travis-ci.org/btimby/py-radius\n\n.. image:: https://coveralls.io/repos/github/btimby/py-radius/badge.svg?branch=master\n :target: https://coveralls.io/github/btimby/py-radius?branch=master\n :alt: Code Coverage\n\n.. image:: https://badge.fury.io/py/py-radius.svg\n :target: https://badge.fury.io/py/py-radius\n\npy-radius\n=========\n\nRADIUS authentication module for Python 2.7.13+\n\n\\(c) 1999 Stuart Bishop \n\nThis module provides basic RADIUS client capabilities, allowing your Python\ncode to authenticate against any RFC2138 compliant RADIUS server.\n\nInstallation\n------------\n\n::\n\n $ pip install py-radius\n\nUsage\n-----\n\nThe radius.py module can be run from the command line, providing a minimal\nRADIUS client to test out RADIUS servers:\n\n::\n\n $ python -m radius\n Host [default: 'radius']: radius\n Port [default: 1812]: 1812\n Enter RADIUS Secret: s3cr3t\n Enter your username: foobar\n Enter your password: qux\n ...\n Authentication Successful\n\nExample\n-------\n\nHere is an example of using the library.\n\n.. code:: python\n\n import radius\n\n radius.authenticate(secret, username, password, host='radius', port=1812)\n\n # - OR -\n\n r = radius.Radius(secret, host='radius', port=1812)\n print('success' if r.authenticate(username, password) else 'failure')\n\nIf your RADIUS server requires challenge/response, the usage is a bit more\ncomplex.\n\n.. code:: python\n\n import radius\n\n r = radius.Radius(secret, host='radius')\n\n try:\n print('success' if r.authenticate(username, password) else 'failure')\n sys.exit(0)\n except radius.ChallengeResponse as e:\n pass\n\n # The ChallengeResponse exception has `messages` and `state` attributes\n # `messages` can be displayed to the user to prompt them for their\n # challenge response. `state` must be echoed back as a RADIUS attribute.\n\n # Send state as an attribute _IF_ provided.\n attrs = {'State': e.state} if e.state else {}\n\n # Finally authenticate again using the challenge response from the user\n # in place of the password.\n print('success' if r.authenticate(username, response, attributes=attrs)\n else 'failure')\n\nThis module has extensive logging, enable it using the Python logging framework.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Osirium/py-radius/", "keywords": "", "license": "", "maintainer": "Osirium", "maintainer_email": "thomas.grainger@osirium.net", "name": "radius", "package_url": "https://pypi.org/project/radius/", "platform": "", "project_url": "https://pypi.org/project/radius/", "project_urls": { "Homepage": "https://github.com/Osirium/py-radius/" }, "release_url": "https://pypi.org/project/radius/0.0.4/", "requires_dist": null, "requires_python": "", "summary": "RADIUS authentication module", "version": "0.0.4" }, "last_serial": 5342540, "releases": { "0.0.3": [ { "comment_text": "", "digests": { "md5": "991e6ad842de1e7230902069c1faa508", "sha256": "849aae09df941a012be930535e346e57ba105ed046bf2f2f90bf8ed31ba63e50" }, "downloads": -1, "filename": "radius-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "991e6ad842de1e7230902069c1faa508", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9944, "upload_time": "2019-05-13T12:44:59", "url": "https://files.pythonhosted.org/packages/a5/88/591649a726aabb0f0a75db71fec29c34dad540eea1f0089b2874d34d13a1/radius-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "21f1f7c08f0a523dd4c5367626c3c5ff", "sha256": "0c154ac9cdc10fd6df90ea1f8c48178d3d8f3e7b722554c1197b220488d03e1d" }, "downloads": -1, "filename": "radius-0.0.3.tar.gz", "has_sig": false, "md5_digest": "21f1f7c08f0a523dd4c5367626c3c5ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9050, "upload_time": "2019-05-13T12:45:01", "url": "https://files.pythonhosted.org/packages/f4/e8/a5c419a0f905ff1cb0cbc95b0af6d0efc81020299d4d0f0d29f6dafe6440/radius-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "28e9ff03ba39dac4d0f6c09851753756", "sha256": "cb46dbd0c1caaa951e118dee74b1c0adef33d634df5214d6cd9b8c1c54e24f9d" }, "downloads": -1, "filename": "radius-0.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "28e9ff03ba39dac4d0f6c09851753756", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9946, "upload_time": "2019-05-31T12:19:27", "url": "https://files.pythonhosted.org/packages/01/74/0c2564eb261a04faa9aea250270b325161c8f4d8116cf3803ba333f7159c/radius-0.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9b96eb567f9341ecb574c37acd397a0b", "sha256": "00bc8cade0df0448f1cc184ee50a1fe9b8fb59eea1fb27b54d5f97b7aa4a1c63" }, "downloads": -1, "filename": "radius-0.0.4.tar.gz", "has_sig": false, "md5_digest": "9b96eb567f9341ecb574c37acd397a0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9028, "upload_time": "2019-05-31T12:19:28", "url": "https://files.pythonhosted.org/packages/ae/2e/c2c78fded1cb391752d9730a51375a8abdeae816b67a7d681e3adff5222d/radius-0.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "28e9ff03ba39dac4d0f6c09851753756", "sha256": "cb46dbd0c1caaa951e118dee74b1c0adef33d634df5214d6cd9b8c1c54e24f9d" }, "downloads": -1, "filename": "radius-0.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "28e9ff03ba39dac4d0f6c09851753756", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9946, "upload_time": "2019-05-31T12:19:27", "url": "https://files.pythonhosted.org/packages/01/74/0c2564eb261a04faa9aea250270b325161c8f4d8116cf3803ba333f7159c/radius-0.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9b96eb567f9341ecb574c37acd397a0b", "sha256": "00bc8cade0df0448f1cc184ee50a1fe9b8fb59eea1fb27b54d5f97b7aa4a1c63" }, "downloads": -1, "filename": "radius-0.0.4.tar.gz", "has_sig": false, "md5_digest": "9b96eb567f9341ecb574c37acd397a0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9028, "upload_time": "2019-05-31T12:19:28", "url": "https://files.pythonhosted.org/packages/ae/2e/c2c78fded1cb391752d9730a51375a8abdeae816b67a7d681e3adff5222d/radius-0.0.4.tar.gz" } ] }