Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Add support for GEE service account credentials

Open
#773 2 comments 0 reactions 1 assignee View on GitHub

@kevinlacaille is already working on this.

Since Nov 16, 2022.

Assessment

This issue has not been assessed yet.

Description

maintenance orders api proposal

Is your feature request related to a problem? Please describe.
In order for a user to bring their own GCS service account, we must supply them with somewhere to input that SA's credentials in
order_request.google_earth_engine()

We already show support for the credentials field on our Dev Center's example request JSON.

Describe the solution you'd like
Current Google Earth Engine configuration:

def google_earth_engine(project: str, collection: str) -> dict:
    '''Google Earth Engine configuration.
    Parameters:
        project: GEE project name.
        collection: GEE Image Collection name.
    '''
    cloud_details = {
        'project': project,
        'collection': collection,
    }
    return {'google_earth_engine': cloud_details}

Proposed solution:

def google_earth_engine(project: str, collection: str, credentials: str) -> dict:
    '''Google Earth Engine configuration.
    Parameters:
        project: GEE project name.
        collection: GEE Image Collection name.
        credentials: Base64-encoded credentials for the GEE service account
    '''
    cloud_details = {
        'project': project,
        'collection': collection,
        'credentials': credentials,
    }
    return {'google_earth_engine': cloud_details}

Current test:

def test_google_earth_engine():
    gee_config = order_request.google_earth_engine('project', 'collection')
    expected = {
        'google_earth_engine': {
            'project': 'project',
            'collection': 'collection',
        }
    }

    assert gee_config == expected

Proposed test:

def test_google_earth_engine():
    gee_config = order_request.google_earth_engine('project', 'collection', 'credentials')
    expected = {
        'google_earth_engine': {
            'project': 'project',
            'collection': 'collection',
            'credentials': '<REDACTED>',
        }
    }

    assert gee_config == expected

Additional context
Many users like to bring their own service account over using Planet's, so this feature is likely to be used.

Dominant language
Python
Stars
299
Forks
100
Avg merge
7d 8h
Merged PRs (30d)
2

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from planetlabs/planet-client-python

All issues in planetlabs/planet-client-python

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.