Skip to main content

An Earth Engine account manager.

Project description

eeauth

Earth Engine Python PyPI version Build status

An account manager for the Earth Engine Python API that lets you easily authenticate and switch between multiple Google accounts.

Installation

From PyPI

pip install eeauth

From conda-forge

Coming soon!

Usage

Authenticate

Import eeauth, then authenticate a user by running eeauth.authenticate("username") and following the usual authentication instructions[^authenticate], being sure to select the correct Google account[^username]. The credentials for each authenticated user are stored by eeauth for later use.

import ee
import eeauth

# Authenticate and register credentials for multiple accounts
eeauth.authenticate("personal")
eeauth.authenticate("work")

Initialize

With two users authenticated, you can now initialize Earth Engine with a specific user and switch between them at will.

# Get tasks from your "personal" account
eeauth.initialize("personal")
ee.data.getTaskList()

# And from your "work" account
eeauth.initialize("work")
ee.data.getTaskList()

CLI

The eeauth command line interface lets you manage your authenticated users from the terminal.

Usage: eeauth [OPTIONS] COMMAND [ARGS]...

  Manage Earth Engine authentication.

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  activate      Set USER as the default Earth Engine user.
  authenticate  Authenticate USER and store their credentials.
  list          List all authenticated users.
  remove        Remove USER from the registry.

FAQ

How does it work?

When you run ee.Authenticate(), Earth Engine stores a single credential file on your local machine. To initialize with a different account, you typically need to repeat the authentication process, replacing your old credentials with new credentials. eeauth allows you to store multiple credentials tied to unique usernames, so that you can quickly switch between authenticated users without the hassle of re-authenticating every time.

Can I still use ee.Initialize()?

Earth Engine will continue to store the most recently authenticated credentials, so ee.Initialize() will work like it always has. You can also run eeauth activate [USER] in a terminal to change which user gets initialized by default.

Is it safe?

Like Earth Engine, eeauth stores your credentials in an unencrypted local file[^registry]. As long as you don't share that file, you should be good to go.

[^authenticate]: eeauth.authenticate calls ee.Authenticate under the hood and accepts the same arguments. The only difference is that eeauth.authenticate stores your credentials with your requested username. [^registry]: Credentials are stored in ~/.config/eeauth/registry.json. [^username]: Usernames do not need to match the name of your Google account.

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

eeauth-0.1.2.tar.gz (5.8 kB view hashes)

Uploaded Source

Built Distribution

eeauth-0.1.2-py3-none-any.whl (8.1 kB view hashes)

Uploaded Python 3

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