Python xMatters API wrapper
Project description
python-xmatters
python-xmatters is a wrapper for the xMatters API.
Features
- Most documented endpoints and objects implemented.
- Auto-refresh of access tokens and storage of tokens.
- Support for both basic and OAuth2 authentication.
- Support for most query parameters.
- Support for pagination objects.
- Conversion to datetime objects (local or UTC timezone) for time attributes.
Requirements
Installation
$ python -m pip install python-xmatters
Example Usage
Review source code and the xMatters REST API Reference for possible methods, parameters, and objects.
Authentication
Basic Authentication
from xmatters import XMSession
xm = XMSession('my_instance.xmatters.com')
xm.set_authentication(username='my_username', password='my_password')
groups = xm.groups()
for group in groups.get_groups():
print(group.target_name)
OAuth2 Authentication
It is assumed that if a client_id is provided; OAuth2 authentication is desired.
Using refresh token
from xmatters import XMSession
refresh_token = 'my-refresh-token'
xm = XMSession('my_instance.xmatters.com')
xm.set_authentication(client_id='my-client-id', token=refresh_token)
groups = xm.groups()
for group in groups.get_groups():
print(group.target_name)
Using token object
from xmatters import XMSession
my_token = {
"access_token": "my-access-token",
"token_type": "bearer",
"refresh_token": "my-refresh-token",
"expires_in": 900,
"jti": "my-jti",
"sbu": "my-sbu",
"expires_at": 0123456789.012345
}
xm = XMSession('my_instance.xmatters.com')
xm.set_authentication(client_id='my-client-id', token=my_token)
groups = xm.groups()
for group in groups.get_groups():
print(group.target_name)
Using username and password with token storage
Any class instance with read_token and write_token methods should work as token_storage
from xmatters import XMSession, TokenFileStorage
token_storage = TokenFileStorage('/path/to/my_token.json')
xm = XMSession('my_instance.xmatters.com')
xm.set_authentication(client_id='my-client-id', username='my_username', password='my_password', token_storage=token_storage)
groups = xm.groups()
for group in groups.get_groups():
print(group.target_name)
Date conversion to local timezone
from xmatters import XMSession, TokenFileStorage
token_storage = TokenFileStorage('/path/to/my_token.json')
xm = XMSession('my_instance.xmatters.com')
xm.set_authentication(client_id='my-client-id', token_storage=token_storage)
groups = xm.groups()
for group in groups.get_groups():
print(group.created.isoformat_local())
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
python-xmatters-1.0.3.tar.gz
(27.9 kB
view hashes)
Built Distribution
Close
Hashes for python_xmatters-1.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74b77d85ad8c95e6a70f409461f63adef3f60867cc4b946434c218be71117ba4 |
|
MD5 | f0f7734afd67fee692dfa9398180a2fe |
|
BLAKE2b-256 | fb0dc4ccd6415adaabbd5bc79c5ef1c847c5ff1ac4849a344c30c7938c451249 |