Client SDK for SatelliteVu's platform APIs
Project description
SatelliteVu SDK for Python
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/SatelliteVuon Linux~/Library/Caches/SatelliteVuon MacOSC:\Documents and Settings\<username>\Local Settings\Application Data\SatelliteVu\Cacheon 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.UrllibClientfor Python standard lib'surllibsatellitevu.http.requests.RequestsSessionusingrequests.Sessionclasssatellitevu.http.httpx.HttpxClientusinghttpx.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
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file satellitevu-5.8.2.tar.gz.
File metadata
- Download URL: satellitevu-5.8.2.tar.gz
- Upload date:
- Size: 33.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6dd9cfede41618017da9768e5cb38589e0a10bda481c0cb06ab69c553d70c66e
|
|
| MD5 |
739695c88a5ad2a8de4adf57d5e6ae51
|
|
| BLAKE2b-256 |
f01217e007749cb79278c82b194fada1a396100a65132f6f849326c16e45d175
|
Provenance
The following attestation bundles were made for satellitevu-5.8.2.tar.gz:
Publisher:
tag-and-release.yml on SatelliteVu/satellitevu-client-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
satellitevu-5.8.2.tar.gz -
Subject digest:
6dd9cfede41618017da9768e5cb38589e0a10bda481c0cb06ab69c553d70c66e - Sigstore transparency entry: 184211865
- Sigstore integration time:
-
Permalink:
SatelliteVu/satellitevu-client-python@46f846442a3f71b5db2309496bf3f93e9ae6c1a1 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/SatelliteVu
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
tag-and-release.yml@46f846442a3f71b5db2309496bf3f93e9ae6c1a1 -
Trigger Event:
pull_request_target
-
Statement type:
File details
Details for the file satellitevu-5.8.2-py3-none-any.whl.
File metadata
- Download URL: satellitevu-5.8.2-py3-none-any.whl
- Upload date:
- Size: 43.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cb0c895d197f10b2c08bd4849a54e3099f92ff278b6ad691f26f52288ef6f4d5
|
|
| MD5 |
9823e8608fd9defdac453a246f7bef68
|
|
| BLAKE2b-256 |
94a4a67a033e457c3bf6b8d5ca0d99b491701f8d4a87647a28e20344aedc9d6b
|
Provenance
The following attestation bundles were made for satellitevu-5.8.2-py3-none-any.whl:
Publisher:
tag-and-release.yml on SatelliteVu/satellitevu-client-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
satellitevu-5.8.2-py3-none-any.whl -
Subject digest:
cb0c895d197f10b2c08bd4849a54e3099f92ff278b6ad691f26f52288ef6f4d5 - Sigstore transparency entry: 184211866
- Sigstore integration time:
-
Permalink:
SatelliteVu/satellitevu-client-python@46f846442a3f71b5db2309496bf3f93e9ae6c1a1 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/SatelliteVu
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
tag-and-release.yml@46f846442a3f71b5db2309496bf3f93e9ae6c1a1 -
Trigger Event:
pull_request_target
-
Statement type: