pyrad 0.2 - RADIUS client

Wichert Akkerman
Mon, 7 Oct 2002 17:13:17 +0200

pyrad is an implementation of a RADIUS client as described in RFC2865.
It takes care of all the details like building RADIUS packets, sending
them and decoding responses. (RADIUS is a common protocol used for
authentication, authorisation and accounting for remote access (and
similar) services).

Changes since previous release
* Use proper exceptions 
* Encode and decode vendor attributes 
* Dictionary can parse vendor dictionaries 
* Dictionary can handle attribute values 
* Enhance most constructors; they now take extra optional parameters with
  initialisation info. 
* No longer use obsolete python interfaces like whrandom 
* Use correct homepage address in announcement and readme (doh)

Here is an example of doing a authentication request:

  from pyrad.client import Client
  from pyrad.dictionary import Dictionary

  srv=Client(server="", secret="s3cr3t",
        dict=dictionary.Dictionary("dicts/dictionary", "dicts/dictionary.acc"))

                User_Name="wichert", NAS_Identifier="localhost")

  if reply.code==pyrad.client.AccessAccept:
      print "access accepted"
      print "access denied"

  print "Attributes returned by server:"
  for i in reply.keys():
      print "%s: %s" % (i, reply[i])


pyrad requires Python 2.0 or later.

Author, copyright, availability

pyrad was written by Wichert Akkerman <>

The current version and documentation can be found at its homepage:

Copyright 2002 Wichert Akkerman. All rights reserved.
pyrad is distributed under the BSD license. Please see the source
archive for the full license text.

 /         This space intentionally left occupied \
|           |
| 1024D/2FA3BC2D 576E 100B 518D 2F16 36B0  2805 3CB8 9250 2FA3 BC2D |