Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Parse OpenVPN status logs in Python

Project Description

openvpn-status is a Python library. It parses OpenVPN status log and turns it into Python data structure for you.

It is compatible with CPython 2.7, 3.3, 3.4 and PyPy.


pip install openvpn-status

Don’t forget to put it in / requirements.txt.

Getting Started

You could configure your OpenVPN server to log for client status. In usual it could be achieved by adding status /path/to/openvpn-status.log line to /etc/openvpn/openvpn.conf. For example:

proto udp
port 1194
dev tun0
status /var/run/openvpn-status.log

Once OpenVPN server running, the log file will be created and written. It looks like:

Updated,Thu Jun 18 08:12:15 2015
Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since,,334948,1973012,Thu Jun 18 04:23:03 2015,,1817262,28981224,Thu Jun 18 04:08:39 2015
Virtual Address,Common Name,Real Address,Last Ref,,,Thu Jun 18 08:12:09 2015,,,Thu Jun 18 08:11:55 2015
Max bcast/mcast queue length,0

Now we could parse log file with this library:

from openvpn_status import parse_status

with open('/var/run/openvpn-status.log') as logfile:
    status = parse_status(

print(status.updated_at)  # datetime.datetime(2015, 6, 18, 8, 12, 15)

foo_client = status.client_list['']
print(foo_client.bytes_received)  # 334.9 kB
print(foo_client.bytes_sent)  # 2.0 MB

More details are in the API reference.


If you want to report bugs or request features, please feel free to open issues on GitHub.

Of course, pull requests are always welcome.

Release History

This version
History Node


History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(9.4 kB) Copy SHA256 Hash SHA256
Wheel py2.py3 Oct 20, 2017
(5.8 kB) Copy SHA256 Hash SHA256
Source None Oct 20, 2017

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers