Skip to main content

A compact auth client for UltraDNS

Project description

ultra_auth

A compact Python client for managing a connection with the UltraDNS API. For the "official," and much more ambitious client, go here.

Features

  • Support for authenticating with username and password, or directly with a bearer token.
  • Automatic token refreshing when the token expires.
  • Built-in handling of various content types.

Installation

You can easily install ultra_auth using pip:

pip install ultra_auth

Once installed, you can use the ultra_auth module in your Python scripts:

from ultra_auth import UltraApi
client = UltraApi(args)

Usage

Authenticating using Username and Password

client = UltraApi(your_username, your_password)

Authenticating using Bearer Token

client = UltraApi(your_bearer_token, use_token=True)

Authenticating using Bearer Token and Refresh Token

client = UltraApi(your_bearer_token, your_refresh_token, True)

Making API Calls

# Make a GET request
response = client.get("/ultra/api/endpoint")

# Make a POST request
response = client.post("/ultra/api/endpoint", payload={"key": "value"})

# ... similarly for PUT, PATCH, DELETE

Response Handling

The client can return data in the form of dictionaries, strings, or bytes depending on the response content type.

For example:

  1. The zone export endpoint, when requesting more than one zone, will return a zip file
  2. The zone export endpoint, when requesting one zone, returns a plain text response
  3. Most endpoints return JSON

Note

Using a bearer token without a refresh token means the client state will expire in approximately 1 hour (assuming the token was just generated). Be warned.

Contribute

Contributions are always welcome! Please open a pull request with your changes, or open an issue if you encounter any problems or have suggestions.

License

This project is licensed under the MIT License - see the LICENSE file for details

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

ultra_auth-0.1.1.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

ultra_auth-0.1.1-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file ultra_auth-0.1.1.tar.gz.

File metadata

  • Download URL: ultra_auth-0.1.1.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.6

File hashes

Hashes for ultra_auth-0.1.1.tar.gz
Algorithm Hash digest
SHA256 378bf4b80586173fd99c7e71a3db960fb3dab2beaa7c6f8c8de548487fe3fe80
MD5 a45f93dd1f66b932751c497bd499ef79
BLAKE2b-256 b27c723cdb80504f580885adb56af759e73b153d1acbc20ebdde8f45738a16d8

See more details on using hashes here.

File details

Details for the file ultra_auth-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: ultra_auth-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.6

File hashes

Hashes for ultra_auth-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dbd1bca013f5c9ca7af5441c3ca17bf62f7575c7fca8f3ae88eac8cedf7698cf
MD5 3b47bdf31846f404ed7884f32d80bf3a
BLAKE2b-256 da06bb8fb9abbc094dad43eb70dd2dfc9de0db9776ed4c668dd45ed7ddeee0b9

See more details on using hashes here.

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