Skip to main content

{OPEN} client authentication protocol for python-requests

Project description

This library implements an Authentication handler for requests that provides the Akamai {OPEN} Edgegrid Authentication scheme. For more information visit the Akamai {OPEN} Developer Community.

>>> import requests
>>> from akamai.edgegrid import EdgeGridAuth
>>> from urlparse import urljoin
>>> baseurl = 'https://akaa-WWWWWWWWWWWW.luna.akamaiapis.net/'
>>> s = requests.Session()
>>> s.auth = EdgeGridAuth(
    client_token='ccccccccccccccccc',
    client_secret='ssssssssssssssssss',
    access_token='aaaaaaaaaaaaaaaaaaaaa'
)

>>> result = s.get(urljoin(baseurl, '/diagnostic-tools/v1/locations'))
>>> result.status_code
200
>>> result.json()['locations'][0]
Hongkong, Hong Kong
...

Alternatively, your program can read the credentials from an .edgerc file.

>>> import requests
>>> from akamai.edgegrid import EdgeGridAuth, EdgeRc
>>> from urlparse import urljoin

>>> edgerc = EdgeRc('credentials.edgerc')
>>> section = 'default'
>>> baseurl = 'https://%s' % edgerc.get(section, 'host')

>>> s = requests.Session()
>>> s.auth = EdgeGridAuth.from_edgerc(edgerc, section)

>>> result = s.get(urljoin(baseurl, '/diagnostic-tools/v1/locations'))
>>> result.status_code
200
>>> result.json()['locations'][0]
Hongkong, Hong Kong
...

Installation

To install from pip:

$ pip install edgegrid-python

To install from sources:

$ python setup.py install

To run tests:

$ virtualenv -p python2.7 venv
$ . venv/bin/activate
$ pip install -r requirements.txt
$ python -m unittest discover

Contribute

  1. Fork the repository to start making your changes to the master branch

  2. Write a test which shows that the bug was fixed or that the feature works as expected.

  3. Send a pull request and bug the maintainer until it gets merged and published. :)

Author

Jonathan Landis

License

Copyright 2015 Akamai Technologies, Inc. All rights reserved.

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

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

edgegrid-python-1.0.8.tar.gz (11.4 kB view details)

Uploaded Source

File details

Details for the file edgegrid-python-1.0.8.tar.gz.

File metadata

File hashes

Hashes for edgegrid-python-1.0.8.tar.gz
Algorithm Hash digest
SHA256 65ca8db36f98bc03f3add0ad83d1e84f2eb0eaf2204ffe3593034e637645b835
MD5 7b9b0ba9786ce429f6c100fedc0b1c3c
BLAKE2b-256 d4b9b1a0430855ac9f4cb26b25a63589d8b6af76c15be1aa5e170efbf7b362f0

See more details on using hashes here.

Supported by

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