Skip to content

Python library for interacting with the Duo Auth, Admin, and Accounts APIs

License

Notifications You must be signed in to change notification settings

duosecurity/duo_client_python

Repository files navigation

Overview

Build Status Issues Forks Stars License

Auth - https://www.duosecurity.com/docs/authapi

Admin - https://www.duosecurity.com/docs/adminapi

Accounts - https://www.duosecurity.com/docs/accountsapi

Activity - The activity endpoint is in public preview and subject to change

Tested Against Python Versions

  • 3.7
  • 3.8
  • 3.9
  • 3.10
  • 3.11

Requirements

Duo_client_python supports Python 3.7 and higher

TLS 1.2 and 1.3 Support

Duo_client_python uses Python's ssl module and OpenSSL for TLS operations. Python versions 3.7 (and higher) have both TLS 1.2 and TLS 1.3 support.

Installing

Development:

$ git clone https://github.com/duosecurity/duo_client_python.git
$ cd duo_client_python
$ virtualenv .env
$ source .env/bin/activate
$ pip install --requirement requirements.txt
$ pip install --requirement requirements-dev.txt
$ python setup.py install

System:

Install from PyPi

$ pip install duo-client

Using

See the examples folder for how to use this library.

To run an example query, execute a command like the following from the repo root:

$ python examples/report_users_and_phones.py

Testing

$ nose2

Example: `cd tests/admin && nose2`

Linting

$ flake8