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:
- The zone export endpoint, when requesting more than one zone, will return a zip file
- The zone export endpoint, when requesting one zone, returns a plain text response
- 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
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
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 378bf4b80586173fd99c7e71a3db960fb3dab2beaa7c6f8c8de548487fe3fe80 |
|
MD5 | a45f93dd1f66b932751c497bd499ef79 |
|
BLAKE2b-256 | b27c723cdb80504f580885adb56af759e73b153d1acbc20ebdde8f45738a16d8 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | dbd1bca013f5c9ca7af5441c3ca17bf62f7575c7fca8f3ae88eac8cedf7698cf |
|
MD5 | 3b47bdf31846f404ed7884f32d80bf3a |
|
BLAKE2b-256 | da06bb8fb9abbc094dad43eb70dd2dfc9de0db9776ed4c668dd45ed7ddeee0b9 |