Skip to main content

Harmonized Python script for DestinE authentication.

Project description

destinepyauth

A Python library for authenticating against DESP (Destination Earth Service Platform) services.

Installation

pip install destinepyauth

Usage

The main entry point is the get_token() function:

from destinepyauth import get_token

# Authenticate (prompts for credentials if not in environment)
result = get_token("highway")

# Access the token
token = result.access_token

Using with requests

from destinepyauth import get_token
import requests

result = get_token("eden")
headers = {"Authorization": f"Bearer {result.access_token}"}
response = requests.get("https://api.example.com/data", headers=headers)

Using with zarr/xarray (netrc support)

For services like CacheB that work with zarr, you can write credentials to ~/.netrc:

from destinepyauth import get_token
import xarray as xr

# Authenticate and write to ~/.netrc
get_token("cacheb", write_netrc=True)

# Now zarr/xarray will use credentials automatically
ds = xr.open_dataset(
    "reference://",
    engine="zarr",
    backend_kwargs={
        "consolidated": False,
        "storage_options": {
            "fo": "https://cacheb.dcms.destine.eu/path/to/data.json",
            "remote_protocol": "https",
            "remote_options": {"client_kwargs": {"trust_env": True}},
        },
    },
)

Available Services

  • cacheb - CacheB data service
  • dea - DEA service
  • eden - Eden broker
  • highway - Highway service (includes token exchange)
  • insula - Insula service
  • streamer - Streaming service

Credential Handling

When you call get_token(), the library will prompt for your credentials with masked input for both username and password - nothing you type will be visible on screen:

from destinepyauth import get_token
result = get_token("highway")
# Username:   (hidden input)
# Password:   (hidden input)

This ensures credentials cannot be accidentally exposed in terminal logs, screen recordings, or shell history.

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

destinepyauth-0.2.1.tar.gz (18.5 kB view details)

Uploaded Source

Built Distribution

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

destinepyauth-0.2.1-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file destinepyauth-0.2.1.tar.gz.

File metadata

  • Download URL: destinepyauth-0.2.1.tar.gz
  • Upload date:
  • Size: 18.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for destinepyauth-0.2.1.tar.gz
Algorithm Hash digest
SHA256 bc391054ace62a0d4944c123b9f74c15ea3c1ee1875ef353b54a428063b978a0
MD5 a3b342e657d5e419fac89b0f9af2db9e
BLAKE2b-256 a5bc4a6792f18b709fdb3273b0d8938420124497a7d5fe8f7b2b17e51de08f3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for destinepyauth-0.2.1.tar.gz:

Publisher: cd.yml on purnelldj/destinepyauth

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

File details

Details for the file destinepyauth-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: destinepyauth-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 16.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for destinepyauth-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 69f867e31d5338bafb84573f19e898716e14dfd90990798ebced906e32037d3c
MD5 7ba86e877fbf82fdcc4e82467351694a
BLAKE2b-256 bb8d2b8cd0f6e33a6d6cf3d4730432800508eb22bb70d764c959d44342f00fdb

See more details on using hashes here.

Provenance

The following attestation bundles were made for destinepyauth-0.2.1-py3-none-any.whl:

Publisher: cd.yml on purnelldj/destinepyauth

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