Python wrapper for PIA VPN desktop client command line interface
Project description
Piapy
Python wrapper around the command line interface for The Private Internet Access Desktop Client. Intended to facilitate the operation of the PIA client from within Python.
Python 3.7, no additional dependencies.
Installation
Use the package manager pip to install piapy.
pip install piapy
Usage
-
PIA Desktop client must be installed.
-
Command
piactlmust be available from your terminal. Try runningpiactl --version. Iif you get something like2.0.1+04518you are good to go.If it does not run, please check PIA Desktop: Command Line Interface documentation.
-
PIA client must be running to use the connect method.
Available Methods
-
regions()Returns list of strings with available servers.i.e.:
['us-florida', 'us-atlanta', 'us-houston', 'us-washington-dc', 'us-east', 'us-chicago', 'us-new-york-city', 'us-texas', 'us-west', ...] -
region()Returns string of current selected server name.i.e.
'us-houston' -
set_region(server='auto')Cause the client to connect to selected server next time it connects. If client is already connected will disconnect and connect to new selected server.- server (type: str)
- 'auto': use client auto select feature to set server with least latency.
- 'random': set a random server from the available list.
- '[server name]': set the server to a specific name, must be in the available list.
- server (type: str)
-
connect(verbose=False, timeout=20)Cause the client to connect- verbose (type: bool) cause to display connecting status in stdout
- timeout (type: int) will disconnect if connection not possible before timeout
-
disconnect()Cause client to disconnect -
ip()Returns the current VPN IP address, if connected and the address is known -
status()Returns client conection status.Disconnected, Connecting, StillConnecting, Connected, Interrupted, Reconnecting, StillReconnecting, DisconnectingToReconnect, Disconnecting -
reset_settings()Resets settings to the defaults. As per the documentation this only resets daemon settings, no GUI settings. -
set_debug_logging(value=False)Enable client debug logging.
Example
from piapy import PiaVpn
# Instantiate
vpn = PiaVpn()
# Get connection status
vpn.status() # equivalent to `piactl get connectionstate`
# Will connect to server, displaying status in stdout
vpn.connect(verbose=True, timeout=20)
# Disconnect
vpn.disconnect()
Contributing
Pull requests are welcome. Please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
About this software
The piapy software is a personal project. I have no prior or existing relationship with Private Internet Access
If you have any information regarding its software, you can visit them:
License
with MIT open source license.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file piapy-0.2.0.tar.gz.
File metadata
- Download URL: piapy-0.2.0.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cdf7f2e394c5eee353fcc6df15af3f232d6126fce639076d3f479ea9cea7515e
|
|
| MD5 |
04991d31f6af45509e3f292ea85b5925
|
|
| BLAKE2b-256 |
8df42153300af658bfa2b094a0893bb2aea95f576057239a9263ff513b7d4931
|
File details
Details for the file piapy-0.2.0-py3-none-any.whl.
File metadata
- Download URL: piapy-0.2.0-py3-none-any.whl
- Upload date:
- Size: 5.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6188e03c1c5cf0cc0bf94f182700dc633646136529cc53c9238328bf34692cc
|
|
| MD5 |
46cdcaaede856fb8d43eb3867b44f0ce
|
|
| BLAKE2b-256 |
3b5b4a253019cfe67e5ed2608a60b687ffc030d3b618ea7d2aea8dd975487ad4
|