duosecurity / duo_client_python

Python library for interacting with the Duo Auth, Admin, and Accounts APIs
https://duo.com/docs/
Other
136 stars 136 forks source link
duo-security mfa python python3

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

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