Pritunl API Client for Python
Project description
Pritunl API Client for Python 3
This is a simple API Client written in Python 3.
You need to refer Pritunl API Documentationl to get an idea of how to use this. This API client uses almost the same command as in the API Handlers.
Installation
Install from our PyPI Project Repository
pip install pritunl-api
Beyond the Core API Client Library, we also added the executable distribution in this project. To enable the CLI feature just add extra cli
during the pip installation.
pip install pritunl-api[cli]
Proceed to the CLI Usage for the complete commands syntax.
API Usage
import os
from pritunl_api import Pritunl
pritunl = Pritunl(
url=os.environ.get('PRITUNL_BASE_URL'),
token=os.environ.get('PRITUNL_API_TOKEN'),
secret=os.environ.get('PRITUNL_API_SECRET')
)
# Your Pritunl API Client Object is now ready to use!
pritunl.<FEATURE>.<METHOD>
Example
-
Example 1:
(in source)
GET /server
pritunl.server.get()
-
Example 2:
(in source)
PUT /server/:server_id/organization/:organization_id
pritunl.server.put(srv_id='', org_id='')
-
Example 3:
(in source)
DELETE /user/:organization_id/:user_id
pritunl.user.delete(org_id='', usr_id='')
-
Example 4:
(in source)
POST /server**
pritunl.server.post(data={ 'name': 'new server name'})
* If there is data available, you must pass it through the data parameter.
* The command above works well because there are templates available for creating a new server._
-
Example 5:
(in source)
PUT /user/:organization_id/:user_id
api.user.put(org_id='', usr_id='', data={ 'name': 'modified org name', 'disabled': True})
CLI Usage
General Usage
Usage: pritunl-api-cli [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
create-user
delete-user
get-user
update-user
Create User
pritunl-api-cli create-user --help
Usage: pritunl-api-cli create-user [OPTIONS]
Options:
--org-name TEXT
--user-name TEXT
--user-email TEXT
--from-csv-file PATH
--help Show this message and exit.
Example 2: Create a Single User
pritunl-api-cli create-user \
--org-name pritunl-dev \
--user-name developer2 \
--user-email developer2@domain.tld
Example 2: Create Users from CSV
pritunl-api-cli create-user \
--from-csv-file ./users.csv
For more CLI feature, please check the help options.
pritunl-api-cli --help
pritunl-api-cli <SUBCOMMAND> --help
API Development
Using Virtual Environment
pip install -e .
Include REPL Tools
pip install -e .[repl]
ptipython
Using Docker Environment
Building a Development Container
docker buildx build . \
--progress plain \
--file dev.Dockerfile \
--tag pritunl-api:development
Running a Development Container
docker run --rm -it \
--volume $(PWD):/pritunl-api \
--env-file .env \
pritunl-api:development poetry shell
This API client is not fully complete. There are some features missing, feel free to fork and pull requests to add new features.
Tested working on Pritunl v1.30.3354.99
.
Project details
Release history Release notifications | RSS feed
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
Hashes for pritunl_api-1.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7b512b3b893dab0e7270d8ef69734aa50c66bcd85203c739377fc8e764cbe56 |
|
MD5 | 9a298bbe3fecfbe11f54d9e6b5bfea64 |
|
BLAKE2b-256 | 43c624fa6535f2fd403e65959402efed4271efbe83f3e4ea6f04c580025a369a |