Skip to main content

Panoramic Authentication SDK

Project description

Panoramic Auth SDK

Getting Started

This SDK handles the access token generation using client_credentials flow against Panoramic. To install the SDK in your app, add it to your requirements.txt:

panoramic-auth==1.0.0

All you then need to do is subclass the OAuth2Client Python class from the SDK, pass your client_id and client_secret, and use the session attribute from your subclass when making HTTP requests:

# Import the class as usual
from panoramic.auth import OAuth2Client

# Note subclassing OAuth2Client below
class PanoramicApiClient(OAuth2Client):
    def __init__(self, base_url: str, client_id: str, client_secret: str):
        super().__init__(client_id, client_secret)
        self.base_url = base_url

    def async_data(self, data: Dict[str, Any]) -> Dict[str, Any]:
        url = urljoin('https://platform.panoramichq.com/api/example')
        # Note self.session below
        response = self.session.post(url=url, json=data)
        response.raise_for_status()
        return response.json()

Development

This repository does not have a dedicated docker image. At the moment, we create python virtual environment using command (in directory .venv inside current directory):

> python3 -m venv .venv

If you use pyenv and pyenv-virtualenv, you can create it using:

> pyenv virtualenv panoramic-auth

Then, you can switch to it from command-line using following command:

> source .venv/bin/activate

Or if using pyenv-virtualenv:

pyenv local panoramic-auth

Lastly, use following command to install dependencies (make sure you have correct python environment active):

> make install

Install pre-commit - useful to avoid commiting code that doesn't pass the linter:

> make pre-commit-install

This installs git hooks that run pre-commit.

Tests

Use following command to run all tests:

> make tests

Release process

To release a new version of the library, follow these steps:

  • In your PR, update version in setup.py and add entry to CHANGELOG.md
  • After merge, tag the commit with version number from setup.py. For example git tag v0.1.1. You can also do this by creating a new release.
  • This triggers a Travis pipeline which runs tests, linters and uploads the package to PyPI

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

panoramic-auth-1.0.0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

panoramic_auth-1.0.0-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file panoramic-auth-1.0.0.tar.gz.

File metadata

  • Download URL: panoramic-auth-1.0.0.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.7

File hashes

Hashes for panoramic-auth-1.0.0.tar.gz
Algorithm Hash digest
SHA256 9104d087aa57c7b9d6e6a839546f2646d0e77ffc6540fc036ff370296acccb8d
MD5 655a9468898ecddc97c17016da1d9c3c
BLAKE2b-256 5895d5bec86d364228fe8a110828326d4bcad27655c2d43836d9edc4756c6fc3

See more details on using hashes here.

File details

Details for the file panoramic_auth-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: panoramic_auth-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.7

File hashes

Hashes for panoramic_auth-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e7318f8f7b70a8e7d300d33a1f7e1549a9546078bd9ff664589f9a4d61bb7a6d
MD5 c57a2f2a0e9d342de73e516efc1578b8
BLAKE2b-256 71dffc0bae2eb28f0cf1100ab931b06e014c2f87e75deb22fb8449d3a7727053

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