Skip to main content

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


Download files

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

Source Distribution

pritunl_api-1.1.0.tar.gz (8.8 kB view hashes)

Uploaded Source

Built Distribution

pritunl_api-1.1.0-py3-none-any.whl (9.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page