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.2.tar.gz (20.9 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.2-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: destinepyauth-0.2.2.tar.gz
  • Upload date:
  • Size: 20.9 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.2.tar.gz
Algorithm Hash digest
SHA256 3fb4c7fa4d9752f555ee1d1ddf64fac1ad34092707574f39d9e20dad10e138ba
MD5 64ab2c0c7e7ccdfe29c27d07c7f2c89c
BLAKE2b-256 a768309d2c7e0dcea1f48d29b631e26adb17ff7cb7ac23a3221b4fd7f8ccab9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for destinepyauth-0.2.2.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.2-py3-none-any.whl.

File metadata

  • Download URL: destinepyauth-0.2.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b79133ed510a2d39370a17d4da040d003cf54a418ceb9fd49e664f210259af9a
MD5 7f52082fe0dcf49ac056d871ae033b98
BLAKE2b-256 7c912243b11bd215d2918eeb8d2b93c85e524cef478d71f1ef3e060ba7c6716c

See more details on using hashes here.

Provenance

The following attestation bundles were made for destinepyauth-0.2.2-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