Skip to main content

Utility functions for Google Earth Engine

Project description

Google Earth Engine (GEE) Utilities

This project provides a few simple utility functions for interacting with GEE.

Authentication

To function properly, this code needs credentials that it can use to authenticate against the Google Earth Engine API. Credentials can be provided in one of two ways, and the code will look for them in this order:

  1. Service Account Key.

Before running this code, create an environment variable named SERVICE_ACCOUNT_KEY containing the JSON key for a Google Cloud service account with the necessary permissions to perform the actions you're trying to perform in GEE.

  1. Personal Credentials.

Before running this code, authenticate with the Google Earth Engine API using the earthengine command line tool:

$ earthengine authenticate

Development

This project uses Pipenv to manage virtual environments and dependencies. Development-time dependencies are documented in the Pipfile. Follow the Pipenv documentation to create a virtual environment and install the dependencies.

This project also uses pre-commit to run various Python code quality checks (linting and styling) on every commit. Before you begin any development work, install the pre-commit hook with:

$ pre-commit install

Makefile

The included Makefile prescribes actions to test, build, and publish this code to a Python Package Index (PyPI) repository as described in the following sections.

$ make [test | build | publish]

Testing

With the virtual environment active and the dependencies installed, use pytest to run the test suite.

Building

This project uses the setuptools Python package for packaging as described here.

When building via the make build command, you may optionally append to the package name using the prerelease argument. For example, if the current version of geeutils specified in the setup.py module is 1.2.3, then

$ make build prerelease=rc1

will produce a package named geeutils-1.2.3rc1. The default is a beta prerelease name incremented by each git commit (eg/ 1.2.3b7 for the seventh commit on this branch). Specify a final release with

$ make build prerelease=""

Note that prerelease names must comply with PEP 440.

Publishing

This project uses the twine Python package for distribution as described here.

When publishing via the make publish command, the default PyPI repository is testpypi. To publish to pypi.org, specify that repository:

$ make publish pypi_repository=pypi

The credentials necessary to publish to the target PyPI repository can be provided in one of two ways.

  1. As these environment variables:
Env Var Notes
PYPI_REPOSITORY_USERNAME PyPI account username. If authenticating using a token, use the literal string __token__.
PYPI_REPOSITORY_PASSWORD PyPI account password. If authenticating using a token, use the token contents.
  1. At the make publish command:
$ make publish pypi_repository_username="foo" pypi_repository_password="bar"

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

geeutils-1.0.1.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

geeutils-1.0.1-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file geeutils-1.0.1.tar.gz.

File metadata

  • Download URL: geeutils-1.0.1.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for geeutils-1.0.1.tar.gz
Algorithm Hash digest
SHA256 6ff22a48c83820be948eb1521fc6c4b84d77081c2fdf9465152614e501d4d319
MD5 49fba527fe18451ed20d12a7450ffb3b
BLAKE2b-256 c78088428d3e3b26abb427b7bd00c63413e202cf99efa53d8eb0fbc0927d7699

See more details on using hashes here.

File details

Details for the file geeutils-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: geeutils-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for geeutils-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1bcd6f5e9aa8c21233ac4adc507bfff4fd005cab84b8dcc65970d2ef9d617e11
MD5 152dcb7342695bf567a8738365deaccf
BLAKE2b-256 8cebbfa4f9ceb4505c73660f6870816f37a5f1d9134ac4b5c27b0a577a1ee17f

See more details on using hashes here.

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