Skip to main content

Client SDK for SatelliteVu's platform APIs

Project description

SatelliteVu SDK for Python

pypi license Twitter LinkedIn

Lightweight API Client SDK for SatelliteVu's Platform APIs, providing authorization handling and convenience methods to interact with the published APIs.

Installation

The package is published to PyPi and can be installed with pip:

pip install satellitevu

Currently, versions of Python >=3.9 and above are supported.

Usage

A User API Client credential set consisting of an client id and client secret is needed and should be set in your script's environment variables.

Check out the full API and SDK documentation and the examples provided. The examples can for example be run locally with

poetry run python ./examples/catalog.py --example=recent

Simple Client Usage

The easiest way to get started is to use the satellitevu.Client class, which needs a client_id and client_secret only:

import os

from satellitevu import Client


client = Client(os.getenv("CLIENT_ID"), os.getenv("CLIENT_SECRET"))
contract_id = os.getenv("CONTRACT_ID")
print(client.catalog_v1.search(contract_id=contract_id).json())

client.catalog_v1.search supports all request body parameters documented in the API docs, with special handling for datetime which is constructed from the optional date_from and date_to parameters and a default result page size limit of 25.

Authentication Handling

The satellitevu.Auth class provides the main interface to retrieve an authorization token required to interact with the API endpoints.

import os

from satellitevu import Auth


auth = Auth(client_id=os.getenv("CLIENT_ID"), client_secret=os.getenv("CLIENT_SECRET"))
print(auth.token())

Thus retrieved token can be used for bearer token authentication in HTTP request Authorization headers.

The Auth class by default uses a file based cache which will store the token in

  • ~/.cache/SatelliteVu on Linux
  • ~/Library/Caches/SatelliteVu on MacOS
  • C:\Documents and Settings\<username>\Local Settings\Application Data\SatelliteVu\Cache on Windows

Other cache implementations must implement the satellitevu.auth.cache.AbstractCache class.

HTTP Client Wrappers

Convenience wrapper classes for common HTTP client implementations are provided as implementations of satellitevu.http.AbstractClient, which provides an request method with an interface similar to requests.request and returning an satellitevu.http.ResponseWrapper instance, where the response object of the underlying implementation is available in the raw property.

Commonly used properties and methods are exposed on both AbstractClient and ResponseWrapper.

  • satellitevu.http.UrllibClient for Python standard lib's urllib
  • satellitevu.http.requests.RequestsSession using requests.Session class
  • satellitevu.http.httpx.HttpxClient using httpx.Client (Todo)

Implementations based on requests and httpx allow setting an instance of the underlying implementation, but will provide a default instance if not.

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

satellitevu-5.6.0.tar.gz (33.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

satellitevu-5.6.0-py3-none-any.whl (43.3 kB view details)

Uploaded Python 3

File details

Details for the file satellitevu-5.6.0.tar.gz.

File metadata

  • Download URL: satellitevu-5.6.0.tar.gz
  • Upload date:
  • Size: 33.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for satellitevu-5.6.0.tar.gz
Algorithm Hash digest
SHA256 05cd0316b611a15128f93162765fb05a5342b78bada83ba5b201198ba5a4bcf4
MD5 ddb4c9cd0132fa445521027b8fa01d45
BLAKE2b-256 b5b0cc81ed5eafc7db3f136aa86d59ae95ac0b62f9a119f11938024e4a12cec7

See more details on using hashes here.

Provenance

The following attestation bundles were made for satellitevu-5.6.0.tar.gz:

Publisher: tag-and-release.yml on SatelliteVu/satellitevu-client-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file satellitevu-5.6.0-py3-none-any.whl.

File metadata

  • Download URL: satellitevu-5.6.0-py3-none-any.whl
  • Upload date:
  • Size: 43.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for satellitevu-5.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b5c0f7d09f0c5edc16e3f4805a3136b8ab9a898e78e7c6484938849388082b1d
MD5 e0fddc26183104cbf2869023883f981b
BLAKE2b-256 95a8f4a3ea69522560b2dd592e67ea9ebddc9e0b01cd270f881afc3e7e1136cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for satellitevu-5.6.0-py3-none-any.whl:

Publisher: tag-and-release.yml on SatelliteVu/satellitevu-client-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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