Giter Club home page Giter Club logo

geeup's Introduction

LinkedIn Substack Medium GDE Badge GitHub Badge Mastodon Follow Visitor Badge

Over the last decade or more I have been working with all things geospatial. From building applications to teaching, training and acting as a translator at large for technology needs. A Google Developer Expert for Google Earth Engine and Senior Product Manager at MAXAR, I lead Developer Relations and champion open data access apart from working on core APIs and infrastructure.

I leverage geospatial expertise as an affiliate Faculty at the University of Hawaiʻi at Mānoa and I am a Designated Campus Colleague at the University of Arizona. Passionate about community building, I created the "Awesome Google Earth Engine Community Catalog," a thriving data commons. My research explores big data analysis and geospatial applications, while I advocate for science communication and empower researchers through collaborative platforms and speaking engagements.


⚡ Top Language Stats Samapriya Roy's Top Language Stats

📚 Blog posts

Open Source Projects

If you find my work useful buy me a cup of tea to make these efforts more sustainable. Use the donate or sponsor buttons, I am happy to have you as a sponsor of my work


⚡ Recent GitHub Activity
  1. 🚀 Published release Community Catalog in samapriya/awesome-gee-community-datasets
  2. 🗣 Commented on #242 in samapriya/awesome-gee-community-datasets
  3. 🔒 Closed issue #242 in samapriya/awesome-gee-community-datasets
  4. 🗣 Commented on #239 in samapriya/awesome-gee-community-datasets
  5. 🔒 Closed issue #239 in samapriya/awesome-gee-community-datasets

⚡ GitHub Stats Samapriya Roy's GitHub Stats

geeup's People

Contributors

samapriya avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

geeup's Issues

automated authentication?

I now have geeup as part of a larger script chain, which I would like to run in the background.
Yet when executing my geeup command (a zipped shapefile upload), I always have to manually provide my password for the user account I define in the command (--user).

Is there a way to avoid this, and use some sort of automated authentication?

I checked selsetup, but when doing this, I get the following error:

geeup selsetup
Traceback (most recent call last):
File "sel_setup.py", line 7, in
from selenium import webdriver
ImportError: No module named selenium

Is this the way to go, I should I use another approach for the automated authentication (if possible at all)?

NameError: global name 'article' is not defined

When running geeup update, error is thrown

Traceback (most recent call last):
File "sel-latest-linux.py", line 34, in
geckodown(directory=directory)
File "sel-latest-linux.py", line 15, in geckodown
container="https://github.com/mozilla/geckodriver/releases/download/"+vr+"/"+str(article.text)
NameError: global name 'article' is not defined
Updated selenium driver for Linux64

Seems to be issue with sel-latest-linux.py due to change in code in v0.1.5

Upload error "local variable 'gsid' referenced before assignment"

Hi, thanks for building this tool! I got it installed and have the cookies and metadata set up. When using the geeup upload command for a folder of tifs I'm getting

Processing image 1 out of 36: [path]
local variable 'gsid' referenced before assignment
Upload of [image] has failed

I've tried this on a couple unrelated datasets and am getting the same error. Any ideas what I could be doing wrong?

invalid syntax (<unknown>, line 2), Invalid URL 'None': No schema supplied. Perhaps you meant http://None?

Hello, when I batch upload GeoTiffs I keep getting errors like the following:

New collection users/kh/TahoeLidarCollections created
Processing image 1 out of 58: /Users/kh/Downloads/TahoeLidar/TahoeLidarTif/c_he_39120B24.tif
invalid syntax (<unknown>, line 2)
Invalid URL 'None': No schema supplied. Perhaps you meant http://None?
Processing image 2 out of 58: /Users/kh/Downloads/TahoeLidar/TahoeLidarTif/c_he_38120G22.tif
invalid syntax (<unknown>, line 1)
Invalid URL 'None': No schema supplied. Perhaps you meant http://None?
Processing image 3 out of 58: /Users/kh/Downloads/TahoeLidar/TahoeLidarTif/c_he_38119G84s.tif
invalid syntax (<unknown>, line 1)

I would appreciate if you could figure out what went wrong and how to solve them. Thanks!

Incorrect credentials uploading a shapefile

Hi,

I'm trying to upload a shapefile using this command:
geeup tabup -u [email protected] --source SOURCE --dest users/user/folder

And when it ask me the password, I introduce the refresk token created on the credentials file when you execute the "earthengine authenticate" command , but it gives me the next error:

ERROR:root:Incorrect credentials. Probably. If you are sure the credentials are OK, refresh the authentication token. If it did not work report a problem. They might have changed something in the Matrix.

It's another token that I have to use or it has changed something in their Matrix ?.

Thank you,
Andrea

geeup upload metadata not in asset

Hi Samapriya,

I have run into issues getting metadata properties to upload into the assets, but I can't pin down where it is happening. No errrors are thrown when uploading the asset, however the properties and metadata does not end up in the asset online.

Here is the code I am running.
geeup upload --source E:\Moth\HLS_DATA\HLS_GTiff --dest users/tiller567/testUpload3 -u [email protected] -m E:\Moth\HLS_DATA\metadata3.csv

From this, in the console I get this output (modified the code to print out properties to make sure they were formatted correctly).

New collection users/tiller567/testUpload4 created
Processing image 1 out of 237: E:\Moth\HLS_DATA\HLS_GTiff\L2AT19TBG2015334HLS14_MTLstack.tif
{'id_no': 'L2AT19TBG2015334HLS14_MTLstack', 'system:time_start': '2015-11-30T15:51:31.460Z', 'cloud_coverage': 55, 'NCOLS': 3660, 'NROWS': 3660, 'SENSOR': 'Sentinel-2A', 'spatial_coverage': 8, 'SPATIAL_RESOLUTION': 30}
Upload started for: users/tiller567/testUpload4/L2AT19TBG2015334HLS14_MTLstack
Started upload task with ID: WN2IT5DCGXSI3744477C7KCI
Processing image 2 out of 237: E:\Moth\HLS_DATA\HLS_GTiff\L2AT19TBG2015344HLS14_MTLstack.tif
{'id_no': 'L2AT19TBG2015344HLS14_MTLstack', 'system:time_start': '2015-12-10T15:51:31.461Z', 'cloud_coverage': 28, 'NCOLS': 3660, 'NROWS': 3660, 'SENSOR': 'Sentinel-2A', 'spatial_coverage': 11, 'SPATIAL_RESOLUTION': 30}

Any idea if there is an issue with my code or if its a server side related issue with google earthengine?

Cannot run selsetup when $DISPLAY environment variable is not set

Hello,

I'd like to use this package to upload a bunch of local shapefiles to Earth Engine. I am running Ubuntu 18.04 on WSL and installed geeup in a Conda 4.11.0 virtual environment. I loaded a virtual environment and ran pip install geeup. This succeeded, and then I get the following when running geeup init and geeup selsetup.

(base) ganzk@ganzk:/mnt/c/users/ganzk/desktop/lakes$ geeup init
Downloading from: https://github.com//mozilla/geckodriver/releases/download/v0.30.0/geckodriver-v0.30.0-linux64.tar.gz
 [*] 2.6 MB / 2.6 MB @ 3.1 MB/s [##################] [100%, 0s left]     
Use selenium driver path as /home/ganzk/anaconda3/lib/python3.7/site-packages/geeup
(base) ganzk@ganzk:/mnt/c/users/ganzk/desktop/lakes$ geeup selsetup
Enter your Username:  <omitted>
Enter your Password:  
sel_setup.py:33: DeprecationWarning: executable_path has been deprecated, please pass in a Service object
  executable_path=os.path.join(pathway, "geckodriver"), options=options
Traceback (most recent call last):
  File "sel_setup.py", line 72, in <module>
    authenticate()
  File "sel_setup.py", line 33, in authenticate
    executable_path=os.path.join(pathway, "geckodriver"), options=options
  File "/home/ganzk/anaconda3/lib/python3.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 183, in __init__
    keep_alive=True)
  File "/home/ganzk/anaconda3/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 268, in __init__
    self.start_session(capabilities, browser_profile)
  File "/home/ganzk/anaconda3/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 359, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/home/ganzk/anaconda3/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 424, in execute
    self.error_handler.check_response(response)
  File "/home/ganzk/anaconda3/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 247, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Process unexpectedly closed with status 1

I then tried getting a Selenium browser in a Python script to generate a log file.

from selenium import webdriver
browser = webdriver.Firefox()

This generates a similar error as above along with a geckodriver.log. This file contains:

1639690655015	geckodriver	INFO	Listening on 127.0.0.1:63602
1639690655029	mozrunner::runner	INFO	Running command: "/usr/bin/firefox" "--marionette" "--remote-debugging-port" "63603" "-no-remote" "-profile" "/tmp/rust_mozprofileRG7qIk"
Error: no DISPLAY environment variable specified

From some Googling, it looks like Selenium needs to be run headless to work on WSL. This code snippet worked for me to get a browser running.

from selenium import webdriver
from selenium.webdriver.firefox.options import Options
options = Options()
options.headless = True
browser = webdriver.Firefox(options=options)
browser.get("http://google.com")
print("Headless firefox working")

I'm not sure how much work it is to make Selenium run headless in geeup, but it would be very helpful! Please let me know if I can provide any more information.

"stty -icanon" command does not work in Mac's Zsh

Hi, @samapriya,
I am currently using a Mac for uploading images to my GEE assets. I follow the instruction here to set up my cookies. However, after I type in stty -icanon in terminal, I still can not paste complete cookies into the terminal (please see the screenshot below).

image

Information about my machine:

system: macOS Big Sur version 11.6
terminal: The Z shell of Mac (also known as zsh)

Thank you very much for your time.

Example of metadata file

Do you have any example file of simple metadata?

I tried to create simple metadata.csv as written in other closed issue in here:
id_no time_start xsize ysize pixel_resolution num_bands
sstanom_0 1981-01-01 2395 1468 0.05 1
...

Unfortunately still failed, here's the error messages:

bennyistanto@WFPIDJKTM149915 GeeUp % geeup upload --source /Users/bennyistanto/GeeUp --dest users/bennyistanto/datasets/raster/sst/nino34/lag0 --metadata /Users/bennyistanto/GeeUp/sst_metadata.csv --nodata -9999 -u [email protected]
WARNING:root:Property name %s is invalid. Special properties [system:description, system:provider_url, system:tags, system:time_end, system:time_start, system:title] are allowed; other property keys must contain only letters, digits and underscores.
Traceback (most recent call last):
  File "/Users/bennyistanto/opt/anaconda3/bin/geeup", line 8, in <module>
    sys.exit(main())
  File "/Users/bennyistanto/opt/anaconda3/lib/python3.7/site-packages/geeup/geeup.py", line 311, in main
    func(args)
  File "/Users/bennyistanto/opt/anaconda3/lib/python3.7/site-packages/geeup/geeup.py", line 216, in upload_from_parser
    nodata_value=args.nodata)
  File "/Users/bennyistanto/opt/anaconda3/lib/python3.7/site-packages/geeup/batch_uploader.py", line 96, in upload
    metadata = load_metadata_from_csv(metadata_path) if metadata_path else None
  File "/Users/bennyistanto/opt/anaconda3/lib/python3.7/site-packages/geeup/metadata_loader.py", line 67, in load_metadata_from_csv
    raise IllegalPropertyName()
geeup.metadata_loader.IllegalPropertyName
bennyistanto@WFPIDJKTM149915 GeeUp % 

I am using macOS 10.15.6 with python 3.7.8 installed through anaconda, earthengine-api-0.1.233, and geeup-0.4.4

dates

Thank you a lot for this amazing code.
Could you please add the functionality to add dates to the metadata of the uploaded tiff files?

Silenty fails to download driver

Could not download driver using geeup update but printed "Updated selenium driver for Windows64":

(E:\conda\env\gee) E:\ndvi>geeup update
Downloading from: https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-win64.zip
The read operation timed out
Updated selenium driver for Windows64

The script should verify if driver was actually downloaded.

AttributeError: 'Namespace' object has no attribute 'func'

Hi,

I am currently trying to run this tool on my ubuntu 18.03 64bit python 3.6.7 machine, on the command line: python3 geeup.py

When doing so I get the following error:

Traceback (most recent call last):
File "geeup.py", line 156, in
main()
File "geeup.py", line 153, in main
args.func(args)
AttributeError: 'Namespace' object has no attribute 'func'

Printing args in geeup.py provides: Namespace()

Any idea why that is?

Disconnect with GDAL

Hi, can you help me pinpoint what is going on here? I started with "geeup init" prior to trying to run the getmeta tool but I am running into problems with GDAL, which I do have (see the last command). Any help is appreciated!

(ee) (venv) Clares-MacBook-Pro:geeup claregaffey$ geeup getmeta --input /Users/claregaffey/Documents/Data/Pre2018clip --metadata /Users/claregaffey/Documents/SI_Metadata.csv
Traceback (most recent call last):
File "/Users/claregaffey/PycharmProjects/GEE/venv/lib/python3.8/site-packages/osgeo/init.py", line 18, in swig_import_helper
return importlib.import_module(mname)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 657, in _load_unlocked
File "", line 556, in module_from_spec
File "", line 1101, in create_module
File "", line 219, in _call_with_frames_removed
ImportError: dlopen(/Users/claregaffey/PycharmProjects/GEE/venv/lib/python3.8/site-packages/osgeo/_gdal.cpython-38-darwin.so, 2): Symbol not found: _GDALAttributeFreeRawResult
Referenced from: /Users/claregaffey/PycharmProjects/GEE/venv/lib/python3.8/site-packages/osgeo/_gdal.cpython-38-darwin.so
Expected in: flat namespace
in /Users/claregaffey/PycharmProjects/GEE/venv/lib/python3.8/site-packages/osgeo/_gdal.cpython-38-darwin.so

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/Users/claregaffey/PycharmProjects/GEE/venv/lib/python3.8/site-packages/geeup-0.4.3-py3.8.egg/geeup/getmeta.py", line 9, in getmeta
from osgeo import gdal
File "/Users/claregaffey/PycharmProjects/GEE/venv/lib/python3.8/site-packages/osgeo/init.py", line 32, in
_gdal = swig_import_helper()
File "/Users/claregaffey/PycharmProjects/GEE/venv/lib/python3.8/site-packages/osgeo/init.py", line 31, in swig_import_helper
return importlib.import_module('_gdal')
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_gdal'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/Users/claregaffey/PycharmProjects/GEE/venv/lib/python3.8/site-packages/osgeo/init.py", line 18, in swig_import_helper
return importlib.import_module(mname)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 657, in _load_unlocked
File "", line 556, in module_from_spec
File "", line 1101, in create_module
File "", line 219, in _call_with_frames_removed
ImportError: dlopen(/Users/claregaffey/PycharmProjects/GEE/venv/lib/python3.8/site-packages/osgeo/_gdal.cpython-38-darwin.so, 2): Symbol not found: _GDALAttributeFreeRawResult
Referenced from: /Users/claregaffey/PycharmProjects/GEE/venv/lib/python3.8/site-packages/osgeo/_gdal.cpython-38-darwin.so
Expected in: flat namespace
in /Users/claregaffey/PycharmProjects/GEE/venv/lib/python3.8/site-packages/osgeo/_gdal.cpython-38-darwin.so

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/Users/claregaffey/PycharmProjects/GEE/venv/bin/geeup", line 33, in
sys.exit(load_entry_point('geeup==0.4.3', 'console_scripts', 'geeup')())
File "/Users/claregaffey/PycharmProjects/GEE/venv/lib/python3.8/site-packages/geeup-0.4.3-py3.8.egg/geeup/geeup.py", line 311, in main
func(args)
File "/Users/claregaffey/PycharmProjects/GEE/venv/lib/python3.8/site-packages/geeup-0.4.3-py3.8.egg/geeup/geeup.py", line 197, in getmeta_from_parser
getmeta(indir=args.input,mfile=args.metadata)
File "/Users/claregaffey/PycharmProjects/GEE/venv/lib/python3.8/site-packages/geeup-0.4.3-py3.8.egg/geeup/getmeta.py", line 11, in getmeta
import gdal
File "/Users/claregaffey/PycharmProjects/GEE/venv/lib/python3.8/site-packages/gdal.py", line 2, in
from osgeo.gdal import deprecation_warn
File "/Users/claregaffey/PycharmProjects/GEE/venv/lib/python3.8/site-packages/osgeo/init.py", line 32, in
_gdal = swig_import_helper()
File "/Users/claregaffey/PycharmProjects/GEE/venv/lib/python3.8/site-packages/osgeo/init.py", line 31, in swig_import_helper
return importlib.import_module('_gdal')
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_gdal'
(ee) (venv) Clares-MacBook-Pro:geeup claregaffey$ gdalinfo --version
GDAL 3.1.2, released 2020/07/07

Unable to locate element: //input[@type="password"]

Hi Samapriya,
thanks a lot for this tool, it looks very helpful. Unfortunately, I can't get the "geeup upload" tool to work. I have run the geeup init command without a problem.
When I run the "upload" command and type in my passowrd, it says "Message: Unable to locate element: //input[@type="password"]. Failed to setup Selenium profile"

When I run the "selsetup" command, a stackauth window opens, but then it says my browser (Firefox) is potentially insecure. I tried changing the standard browser to Chrome, but the stackauth window still opens in Firefox.

Great if you can help me with this!

Tillmann

SyntaxError: invalid syntax

I am trying to use the geeup upload command but I keep running into an issue after inputting my cookie:

HTraceback (most recent call last): File "/usr/local/bin/geeup", line 8, in <module> sys.exit(main()) File "/usr/local/lib/python3.7/dist-packages/geeup/geeup.py", line 557, in main func(args) File "/usr/local/lib/python3.7/dist-packages/geeup/geeup.py", line 264, in upload_from_parser pyramiding=args.pyramids, File "/usr/local/lib/python3.7/dist-packages/geeup/batch_uploader.py", line 118, in upload google_session = __get_google_auth_session(user) File "/usr/local/lib/python3.7/dist-packages/geeup/batch_uploader.py", line 373, in __get_google_auth_session and ast.literal_eval(response.text)["url"] is not None File "/usr/lib/python3.7/ast.py", line 46, in literal_eval node_or_string = parse(node_or_string, mode='eval') File "/usr/lib/python3.7/ast.py", line 35, in parse return compile(source, filename, mode, PyCF_ONLY_AST) File "<unknown>", line 1 <!doctype html><html lang="en" dir="ltr"><head><base href="https://accounts.google.com/v3/signin/"><meta name="referrer" content="origin"><link rel="canonical" href="https://accounts.google.com/v3/signin/identifier"><meta name="viewport" content="width=device-width, initial-scale=1"><style data-href="https://www.gstatic.com/_/mss/boq-identity/_/ss/k=boq-identity.AccountsSignInUi.Odxar3sndLM.L.W.O/am=GAAFAAABAQAAAAAAAAAAABMh/d=1/ed=1/rs=AOaEmlEQ9jB2WTQ8ssU_5bFmfXV4_4IX8g/m=identifierview,_b,_tp,_r" nonce="krycMWWXfGStaLtyIWFp9A">c-wiz{contain:style}c-wiz>c-data{display:none}c-wiz.rETSD{contain:none}c-wiz.Ubi8Z{contain:layout style}.JnOM6e{background-color:transparent;border:none;-webkit-border-radius:4px;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;font-size:14px;height:36px;letter-spacing:.15px;line-height:34px;padding:0 24px;position:relative;text-align:center}.JnOM6e:focus-visible{outline:none;position:relative}.JnOM6e:focus-visible::after{border:2px solid #185abc;border-radius:6px;bottom:-4px;box-shadow:0 0 0 2px #e8f0fe;content:"";left:-4px;position:absolute;right:-4px;top:-4px}.rDisVe:focus:not(:focus-visible),.GjFdVe:focus:not(:focus-visible){box-shadow:0 1px 1px 0 rgba(66,133,244,.3),0 1px 3px 1px rgba(66,133,244,.15)}.rDisVe:hover:not(:focus-visible),.GjFdVe:hover:not(:focus-visible){box-shadow:0 1px 1px 0 rgba(66,133,244,.45),0 1px 3px 1px rgba(66,133,244,.3)}.JnOM6e:hover{cursor:pointer}.JnOM6e.kTeh9{line-height:36px;text-decoration:none}.JnOM6e.eLNT1d{display:none}.rDisVe{background-color:#1a73e8;color:#fff}.rDisVe:focus,.rDisVe:hover{background-color:#185abc}.GjFdVe{border:1px solid #dadce0;color:#1a73e8}.GjFdVe:active{background-color:#aecbfa;color:#174ea6}.GjFdVe:focus{background-color:#e8f0fe;border-color:#185abc;color:#174ea6}.GjFdVe:hover{background-color:#e8f0fe;color:#174ea6}.KXbQ4b{color:#1a73e8;min-width:0;padding-left:8px;padding-right:8px}.KXbQ4b:active,.KXbQ4b:hover{color:#185abc}.KXbQ4b:active{background-color:rgba(26,115,232,0.122)}.KXbQ4b:focus,.KXbQ4b:hover{background-color:rgba(26,115,232,0.039)}.aN1Vld{margin:16px 0;outline:none}.aN1Vld+.aN1Vld{margin-top:24px}.aN1Vld:first-child{margin-top:0}.aN1Vld:last-child{margin-bottom:0}.aN1Vld.uXELDc{-webkit-border-radius:8px;border-radius:8px;padding:16px}.aN1Vld.uXELDc>:first-child{margin-top:0}.aN1Vld.uXELDc>:last-child{margin-bottom:0}.aN1Vld.uXELDc .cySqRb{color:#202124}.aN1Vld.uXELDc .yOnVIb{color:#202124}.aN1Vld.uXELDc:not(.S7S4N)>.yOnVIb{margin-top:0}.aN1Vld.uXELDc.sj692e{background:#e8f0fe}.aN1Vld.uXELDc.Xq8bDe{background:#fce8e6}.aN1Vld.uXELDc.rNe0id{background:#fef7e0}.aN1Vld.uXELDc:not(.S7S4N){display:-webkit-box;display:-webkit-flex;display:flex}.aN1Vld.eLNT1d{display:none}.aN1Vld.SmR8{border:1px solid #dadce0;-webkit-border-radius:8px;border-radius:8px;padding:16px}.aN1Vld.SmR8 .EEiyWe{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-justify-content:flex-end;justify-content:flex-end;margin-top:16px}.aN1Vld.SmR8 .EEiyWe .GjFdVe{margin-bottom:0;margin-top:0}.wSQNd:empty{display:none}.wSQNd>:first-child{margin-top:0;padding-top:0}.wSQNd>:last-child{margin-bottom:0;padding-bottom:0}.cySqRb{-webkit-align-items:center;align-items:center;color:#202124;display:-webkit-box;display:-webkit-flex;display:flex;font-size:16px;font-weight:500;letter-spacing:0.1px;line-height:1.4286;margin-bottom:0;margin-top:0;padding:0}.zlrrr{color:#5f6368;-webkit-flex-shrink:0;flex-shrink:0;height:20px;margin-right:16px;width:20px}.zlrrr .GxLRef{height:100%;width:100%}.aN1Vld.uXELDc .zlrrr{margin-top:0}.aN1Vld.uXELDc.sj692e .zlrrr{color:#1967d2}.aN1Vld.uXELDc.Xq8bDe .zlrrr{color:#c5221f}.aN1Vld.uXELDc.rNe0id .zlrrr{color:#ea8600}.yOnVIb{margin:auto -24px;padding-left:24px;padding-right:24px;margin-bottom:16px;margin-top:10px}.aN1Vld.SmR8 .yOnVIb{margin-bottom:0;margin-top:16px}.yOnVIb>:first-child:not(section){margin-top:0;padding-top:0}.yOnVIb>:last-child:not(section){margin-bottom:0;padding-bottom:0}.wSQNd:empty+.yOnVIb{margin-top:0}.yOnVIb:only-child{margin-bottom:0;margin-top:0}*,*:before,*:after{-webkit-box-sizing:inherit;box-sizing:inherit}html{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body,input,textarea,select,button{color:#202124;font-family:arial,sans-serif}body{background:#fff;direction:ltr;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;font-size:14px;line-height:1.4286;margin:0;min-height:100vh;padding:0;position:relative}@media all and (min-width:601px){body{-webkit-justify-content:center;justify-content:center}}[data-style="heading"],.BDEI9 h2:not(.TrZEUc){color:#202124;font-size:16px;font-weight:500;letter-spacing:0.1px;line-height:1.4286}.BDEI9 a{text-decoration:none}.BDEI9 a:not(.TrZEUc){-webkit-border-radius:4px;border-radius:4px;color:#1a73e8;display:inline-block;font-weight:500;letter-spacing:.25px;outline:0;position:relative;z-index:1}.BDEI9 button:not(.TrZEUc){-webkit-border-radius:4px;border-radius:4px;color:#1a73e8;display:inline-block;font-weight:500;letter-spacing:.25px;outline:0;position:relative;z-index:1;background-color:transparent;cursor:pointer;padding:0;text-align:left;border:0}.BDEI9 button::-moz-focus-inner{border:0}.BDEI9 a:not(.TrZEUc):focus::after,.BDEI9 a:not(.TrZEUc):active::after,.BDEI9 button:not(.TrZEUc):focus::after,.BDEI9 button:not(.TrZEUc):active::after{background-color:rgba(26,115,232,0.149);-webkit-border-radius:2px;border-radius:2px;bottom:-2px;content:"";left:-3px;position:absolute;right:-3px;top:-2px;z-index:-1}.BDEI9 img:not(.TrZEUc){border:0;max-height:1.3em;vertical-align:middle}@media all and (min-width:601px){.BDEI9{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;min-height:100vh;position:relative}.BDEI9:before,.BDEI9:after{-webkit-box-flex:1;box-flex:1;-webkit-flex-grow:1;flex-grow:1;content:"";height:24px}.BDEI9:before{min-height:30px}.BDEI9:after{min-height:24px}.BDEI9.LZgQXe:after{min-height:63.9996px}}.gEc4r{display:-webkit-box;display:-webkit-flex;display:flex;height:24px;-webkit-justify-content:center;justify-content:center}.BrpTO{margin:auto;max-width:380px;overflow:hidden;position:relative}.BrpTO .Q8ElWe{position:relative;text-align:center}.viAgtf{-webkit-border-radius:50%;border-radius:50%;color:#5f6368;overflow:hidden}.eCirAf{line-height:1.4286}.cABCAe{width:100%}.cABCAe .viAgtf{-webkit-box-flex:none;-webkit-flex:none;flex:none;height:28px;margin-right:12px;width:28px}.cABCAe .Q8ElWe,.TPmpLe .Q8ElWe{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center}.cABCAe .Q8ElWe{-webkit-justify-content:center;justify-content:center}.BrpTO .viAgtf{height:64px;margin:0 auto 8px;width:64px}.rs3gSb{-webkit-border-radius:50%;border-radius:50%;display:block}.cABCAe .rs3gSb,.cABCAe .hZUije,.cABCAe .kHluYc{max-height:100%;max-width:100%}.BrpTO .rs3gSb,.BrpTO .hZUije,.BrpTO .kHluYc{height:64px;width:64px}.TPmpLe{height:20px}.TPmpLe .viAgtf{margin-right:8px;height:20px;min-width:20px}.TPmpLe .rs3gSb,.TPmpLe .hZUije,.TPmpLe .kHluYc{color:#3c4043;height:20px;width:20px}.TPmpLe .kk39Eb{overflow:hidden}.TPmpLe .yavlK{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cABCAe .kk39Eb{-webkit-box-flex:1;box-flex:1;-webkit-flex-grow:1;flex-grow:1}.cABCAe .eCirAf{color:#3c4043;font-size:14px;font-weight:500}.BrpTO .eCirAf{color:#202124;font-size:16px}.yavlK{direction:ltr;font-size:12px;text-align:left;line-height:1.3333;word-break:break-all}.FzDwd{direction:ltr;font-size:12px;text-align:left;line-height:1.3333;word-break:break-all;color:#5f6368}.TPmpLe .yavlK{color:#3c4043}.cABCAe .yavlK{color:#5f6368}.BrpTO .yavlK{color:#5f6368;text-align:center}.BtUzhd{color:#5f6368;font-size:12px}.cABCAe .BtUzhd{-webkit-align-self:flex-start;align-self:flex-start;-webkit-box-flex:none;-webkit-flex:none;flex:none;line-height:1.3333}.hZUije{border:0}.hZUije.WS4XDd{max-height:1.3333em;padding:0 2px;vertical-align:middle;width:auto}.kHluYc{border:0;object-fit:contain}.kHluYc.WS4XDd{max-height:1.3333em;padding:0 2px;vertical-align:middle;width:auto}.vOZun{padding-bottom:3px;padding-top:9px;margin-bottom:0;margin-top:0}.gomQac{padding-bottom:3px;padding-top:9px;margin:0}.vOZun:empty{display:none}.HUYFt{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;font-size:12px;-webkit-justify-content:space-between;justify-content:space-between;padding:0 24px 14px}.HUYFt .hXs2T,.HUYFt .M2nKge{line-height:48px}@media all and (min-width:601px){.HUYFt{padding-left:0;padding-right:0;position:absolute;width:100%}}.hXs2T .pUP0Nd{color:#5f6368}.hXs2T{margin-left:-16px;margin-right:16px}.N158t{-webkit-appearance:none;-webkit-appearance:none;appearance:none;background-color:transparent;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzQ1NUE2NCI+PHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTcgMTBsNSA1IDUtNUg3eiIvPjwvc3ZnPg==");background-position:right;background-repeat:no-repeat;border:none;-webkit-border-radius:4px;border-radius:4px;color:#5f6368;cursor:pointer;font-size:12px;outline:none;padding:16.0002px 24px 16.0002px 16px;-webkit-transition:background;transition:background}.N158t:focus{background-color:#e8eaed}.M2nKge{list-style:none;margin:0 -16px;padding:0}.vomtoe{display:inline-block;margin:0}.pUP0Nd{-webkit-border-radius:4px;border-radius:4px;color:#5f6368;display:inline-block;outline:none;z-index:1}.pUP0Nd .UskCyf{background-color:transparent;padding:6px 16px;-webkit-transition:background;transition:background}.pUP0Nd:focus .UskCyf{background-color:#e8eaed;-webkit-border-radius:4px;border-radius:4px}.Ha17qf{background:#fff;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;max-width:100%;min-height:100vh;position:relative}@media all and (min-width:601px){.Ha17qf{background:#fff;border:1px solid #dadce0;-webkit-border-radius:8px;border-radius:8px;display:block;-webkit-flex-shrink:0;flex-shrink:0;margin:0 auto;min-height:0;width:450px}.Ha17qf.qmmlRd{width:450px}.Ha17qf.qmmlRd .Or16q{height:auto;min-height:500px}}.Or16q{-webkit-box-flex:1;box-flex:1;-webkit-flex-grow:1;flex-grow:1;overflow:hidden;padding:24px 24px 36px}@media all and (min-width:601px){.Or16q{height:auto;min-height:500px;overflow-y:auto}}@media all and (min-width:450px){.Or16q{padding:48px 40px 36px}}.iEhbme{padding:24px 0 0}.iEhbme.RDPZE{opacity:.5;pointer-events:none}.HDuqac{background:transparent;border:none;color:#3c4043;cursor:pointer;display:-webkit-inline-box;display:-webkit-inline-flex;display:inline-flex;font-size:14px;letter-spacing:0.25px;max-width:100%}.BOs5fd{-webkit-align-items:center;align-items:center;background:#fff;border:1px solid #dadce0;display:-webkit-inline-box;display:-webkit-inline-flex;display:inline-flex;max-width:100%;position:relative}.HDuqac:focus-visible{outline:none}.HDuqac:focus-visible .BOs5fd{outline:none;position:relative;background:rgba(60,64,67,0.122)}.HDuqac:focus-visible .BOs5fd::after{border:2px solid #185abc;border-radius:20px;bottom:-5px;box-shadow:0 0 0 2px #e8f0fe;content:"";left:-5px;position:absolute;right:-5px;top:-5px}.HDuqac:focus:not(:focus-visible) .BOs5fd{box-shadow:0 1px 1px 0 rgba(66,133,244,.3),0 1px 3px 1px rgba(66,133,244,.15);border-color:#dadce0;-webkit-box-shadow:none;box-shadow:none}.HDuqac:hover:not(:focus-visible) .BOs5fd{background:rgba(60,64,67,0.039)}.HDuqac:focus .BOs5fd,.HDuqac:hover .BOs5fd{border-color:#dadce0}.HDuqac:active:focus .BOs5fd{background:rgba(60,64,67,0.122);border-color:#3c4043;color:#3c4043}.EI77qf{line-height:30px;margin:-8px 0;padding:8px 0}.EI77qf.DbQnIe{color:#1a73e8;font-size:12px;line-height:22px}.EI77qf .BOs5fd{-webkit-border-radius:16px;border-radius:16px;padding:0 15px 0 15px}.EI77qf.DbQnIe .BOs5fd{-webkit-border-radius:12px;border-radius:12px;padding:0 10px 0 10px}.EI77qf.iiFyne .BOs5fd{padding-right:7px}.EI77qf.cd29Sd .BOs5fd{padding-left:5px}.EI77qf.DbQnIe.cd29Sd .BOs5fd{padding-left:2px}.EI77qf.DbQnIe.iiFyne .BOs5fd{padding-right:7px}.hMeYtd{-webkit-border-radius:10px;border-radius:10px;height:20px;margin-right:8px}.hMeYtd .rs3gSb,.hMeYtd .hZUije,.hMeYtd .kHluYc{-webkit-border-radius:50%;border-radius:50%;color:#3c4043;display:block;height:20px;width:20px}.wJxLsd{direction:ltr;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.znpTjf{color:#3c4043;-webkit-flex-shrink:0;flex-shrink:0;height:18px;margin-left:4px;width:18px}.HDuqac.DbQnIe .znpTjf{height:16px;width:16px}.JC0zZc{display:block;height:100%;width:100%}.aMfydd{text-align:center}.aMfydd .Tn0LBd{padding-bottom:0;padding-top:16px;color:#202124;font-size:24px;font-weight:400;line-height:1.3333;margin-bottom:0;margin-top:0}.a2CQh{margin-bottom:0;margin-top:0;font-size:16px;font-weight:400;letter-spacing:0.1px;line-height:1.5;padding-bottom:0;padding-top:8px}.a2CQh:empty{display:none}.n868rf{display:-webkit-inline-box;display:-webkit-inline-flex;display:inline-flex;letter-spacing:.25px;min-height:24px;padding-bottom:0;padding-top:8px}.C7uRJc{margin-top:8px}.NveWz{-webkit-box-flex:1;box-flex:1;-webkit-flex-grow:1;flex-grow:1}.i2knIc{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-flex:0;box-flex:0;-webkit-flex-grow:0;flex-grow:0;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-left:-8px;margin-top:32px;min-height:48px;padding-bottom:20px}.i2knIc.fXx9Lc{margin:0;min-height:0;padding:0}.sXlxWd{margin-bottom:32px;width:100%}.wg0fFb{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-flex-wrap:wrap;flex-wrap:wrap;width:100%}.RhTxBf,.tmMcIf{-webkit-box-flex:1;box-flex:1;-webkit-flex-grow:1;flex-grow:1}.i2knIc.NNItQ:not(.F8PBrb) .RhTxBf,.i2knIc.NNItQ:not(.F8PBrb) .tmMcIf{text-align:center}.RhTxBf{text-align:right}.i2knIc.F8PBrb .wg0fFb{margin:0 -2px;margin-left:8px;width:-webkit-calc(100% + 4px);width:calc(100% + 4px)}.i2knIc.F8PBrb .RhTxBf{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;width:100%}.i2knIc.F8PBrb .tmMcIf{margin:0 2px}.xOs3Jc{-webkit-box-flex:1;box-flex:1;-webkit-flex-grow:1;flex-grow:1;margin:0 2px;min-width:-webkit-calc(50% - 4px);min-width:calc(50% - 4px)}.Cokknd{margin-bottom:6px;margin-top:6px;white-space:nowrap;width:100%}.D4rY0b{color:#5f6368;font-size:14px;line-height:1.4286;margin-top:32px}.TRuRhd{margin-top:24px;position:relative}.Fu5aXd:first-child .TRuRhd{margin-top:8px}.xyezD{background-color:transparent;border:none;-webkit-box-sizing:border-box;box-sizing:border-box;color:#202124;font-size:16px;height:56px;outline:none;padding:0 14px;width:100%}.TRuRhd.YKooDc .xyezD{direction:ltr;text-align:left}.Yr2OOb{line-height:1.4286;margin:14px;padding:0;resize:vertical}.LBj8vb{background-color:transparent;border:none;font-size:16px;height:56px;padding:0 14px;outline:none;width:100%}.dXXNOd{display:-webkit-box;display:-webkit-flex;display:flex;width:100%}.xMpNCd:not(:empty){line-height:56px;padding-left:14px}.pkBWge:not(:empty){line-height:56px;padding-right:14px}.TRuRhd[data-has-domain-suffix] .pkBWge{display:-webkit-box;display:-webkit-flex;display:flex;white-space:nowrap}.TRuRhd[data-has-domain-suffix][data-has-at-sign] .pkBWge{display:none}.fjpXlc{display:-webkit-box;display:-webkit-flex;display:flex;height:100%}.nWPx2e{-webkit-align-items:stretch;align-items:stretch;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-direction:row;flex-direction:row;height:100%;-webkit-justify-content:flex-start;justify-content:flex-start;left:0;max-width:100%;pointer-events:none;position:absolute;top:0;width:100%}.YhhY8,.CCQ94b,.tNASEf{border:1px solid #dadce0}.YhhY8{border-bottom-left-radius:4px;border-right:none;border-top-left-radius:4px;width:8px}.CCQ94b{border-left:none;border-right:none;border-top:none;color:#5f6368;font-size:12px;margin:-6px 0 0;padding:0 6px}.tNASEf{border-bottom-right-radius:4px;border-left:none;border-top-right-radius:4px;-webkit-box-flex:1;box-flex:1;-webkit-flex-grow:1;flex-grow:1}.Fu5aXd:not(.Jj6Lae) .xyezD:focus+.nWPx2e .CCQ94b,.Fu5aXd:not(.Jj6Lae) .LBj8vb:focus+.nWPx2e .CCQ94b{color:#1a73e8}.xyezD:focus+.nWPx2e .YhhY8,.xyezD:focus+.nWPx2e .CCQ94b,.xyezD:focus+.nWPx2e .tNASEf,.LBj8vb:focus+.nWPx2e .YhhY8,.LBj8vb:focus+.nWPx2e .CCQ94b,.LBj8vb:focus+.nWPx2e .tNASEf{border-color:#1a73e8;border-width:2px}.F3wxlc{-webkit-align-items:flex-start;align-items:flex-start;color:#5f6368;display:-webkit-box;display:-webkit-flex;display:flex;font-size:12px;line-height:normal;margin-top:4px}.EllNBf{margin-right:8px;margin-top:-2px}.SnjiRb{height:16px;width:16px}.F3wxlc:empty,.NHVGlc:empty{display:none}.Fu5aXd.Jj6Lae .F3wxlc{color:#d93025}.Fu5aXd .azsAwf{margin-left:16px}.Fu5aXd.Jj6Lae .nWPx2e .YhhY8,.Fu5aXd.Jj6Lae .nWPx2e .CCQ94b,.Fu5aXd.Jj6Lae .nWPx2e .tNASEf{border-color:#d93025}.Fu5aXd.Jj6Lae .nWPx2e .CCQ94b{color:#d93025}.ZWssT{margin-top:26px}.vopC4e{background:transparent;border:none;-webkit-box-sizing:border-box;box-sizing:border-box;color:#202124;cursor:pointer;margin-bottom:-15px;margin-top:-15px;outline:inherit;padding-bottom:15px;padding-top:15px;position:relative;z-index:1}.vopC4e:focus::after{background-color:rgba(26,115,232,0.149);-webkit-border-radius:2px;border-radius:2px;bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:-1}.JVMrYb{display:block}.hJIRO{display:none}.sQecwc{display:hidden}sentinel{} ^ SyntaxError: invalid syntax

I saw previous issues had a similar error, but their cause was using an incognito browser. I am using chrome and I am not in incognito. Do you know what the cause might be? Thanks

Geeup cookie_setup - SyntaxError

Dear @samapriya,

Thanks again for the great tool! I have a small issue with the Cookie Setup method and was wondering if you had any idea on what I could be doing wrong? I used the cookie-method before to upload my data to GEE, and then it worked perfectly. Today, the cookies were expired, so I wanted to update them.

However, when I typed geeup cookie_setup and entered the cookie string, I received the message Cookie Setup completed. After that, I wanted to upload my data using geeup upload, but then I got the message Cookies Expired | Enter your Cookie List: . I don't really understand this, because I just completed the Cookie Setup. Nevertheless, I tried to enter my cookie string once again, but then I received the following error:

Traceback (most recent call last):
  File "/net/labdata/sophiedrh/Environments/GEE/bin/geeup", line 8, in <module>
    sys.exit(main())
  File "/net/labdata/sophiedrh/Environments/GEE/lib/python3.5/site-packages/geeup/geeup.py", line 602, in main
    func(args)
  File "/net/labdata/sophiedrh/Environments/GEE/lib/python3.5/site-packages/geeup/geeup.py", line 313, in upload_from_parser
    pyramiding=args.pyramids,
  File "/net/labdata/sophiedrh/Environments/GEE/lib/python3.5/site-packages/geeup/batch_uploader.py", line 101, in upload
    google_session = __get_google_auth_session(user, password, method)
  File "/net/labdata/sophiedrh/Environments/GEE/lib/python3.5/site-packages/geeup/batch_uploader.py", line 373, in __get_google_auth_session
    and ast.literal_eval(response.text)["url"] is not None
  File "/usr/lib/python3.5/ast.py", line 46, in literal_eval
    node_or_string = parse(node_or_string, mode='eval')
  File "/usr/lib/python3.5/ast.py", line 35, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 2
    <!DOCTYPE html>
    ^
SyntaxError: invalid syntax

Do you have any idea about what could be going wrong? Thank you very much in advance!

All the best,
Sophie

Failed to setup selenium

When I try to run the following code on a test case of one file:

geeup upload --source /Users/***username/Dropbox/MSc_Dissertation/GOES-17-CTPhase/Test --dest users/rmurwat/imagecollection -u ***[email protected] -m /Users/***username/Dropbox/MSc_Dissertation/GOES-17-CTPhase/metadata.csv

(with my username filled in in the command, of course)

I run into the following error:

Message: Unable to locate element: //div[@id='identifierNext']/span/span

Failed to setup & use selenium

Any thoughts on what's going wrong?

pySmartDl, geckodriver, not uploading shapefile zip?

Hi,

I just started using geeup again, and decided to go for a clean install.
Installation was done with: pip3 install geeup

When doing geeup init, I also get the error message as above.

Traceback (most recent call last):
File "/home/demuzmp4/.local/bin/geeup", line 7, in
from geeup.geeup import main
File "/home/demuzmp4/.local/lib/python3.6/site-packages/geeup/geeup.py", line 24, in
from .batch_uploader import upload
File "/home/demuzmp4/.local/lib/python3.6/site-packages/geeup/batch_uploader.py", line 73, in
from metadata_loader import load_metadata_from_csv, validate_metadata_from_csv
ModuleNotFoundError: No module named 'metadata_loader'

So I tried pip3 install geeup --upgrade, and afterwards the init again.
Issue persists.

Any ideas?

Versions:

  • Python 3.6.9
  • geeup-0.2.9

The following dependencies were installed when installing geeup:

Successfully installed atomicwrites-1.3.0 attrs-19.1.0 beautifulsoup4-4.8.0 cachetools-3.1.1 certifi-2019.9.11 chardet-3.0.4 earthengine-api-0.1.201 future-0.17.1 geeup-0.2.9 google-api-core-1.14.2 google-api-python-client-1.7.11 google-auth-1.6.3 google-auth-httplib2-0.0.3 google-cloud-core-1.0.3 google-cloud-storage-1.19.1 google-resumable-media-0.4.1 googleapis-common-protos-1.6.0 httplib2-0.13.1 idna-2.8 importlib-metadata-0.23 lxml-4.4.1 more-itertools-7.2.0 numpy-1.17.2 oauth2client-4.1.3 packaging-19.2 pandas-0.25.1 pathlib-1.0.1 pluggy-0.13.0 protobuf-3.9.1 psutil-5.6.3 py-1.8.0 pySmartDL-1.3.2 pyasn1-0.4.7 pyasn1-modules-0.2.6 pyparsing-2.4.2 pytest-5.1.2 python-dateutil-2.8.0 pytz-2019.2 requests-2.22.0 requests-toolbelt-0.9.1 retrying-1.3.3 rsa-4.0 selenium-3.141.0 setuptools-41.2.0 six-1.12.0 soupsieve-1.9.3 uritemplate-3.0.0 urllib3-1.25.5 wcwidth-0.1.7 zipp-0.6.0

@andrewIndufor perhaps you can re-open this isue?

Originally posted by @matthiasdemuzere in #12 (comment)

Error: Unable to open tif. (Error code: 3) when uploading

Dear Samapriya,

I am very interested in your developtments for gee both geeup and geeadd. Thank you for your great contribution!

I have installed geeup in a conda environment (following the instructions in your github). I managed to install it and run the upload command. However, when GEE is ingesting the files I get the following error:

Error: Unable to open XXXXXX.tif. (Error code: 3)

I have not been able to find information of this type of error. Only this thread in stack exchange

Are you familiar with it or do you suspect what could be going on?

I have tried to use a smaller tiff, but I get the same error.

Thank you

error when using the upload function

Hi, I have been trying to upload images to my GEE Assets using the upload function of geeup, but it seems it is not working.

This is the error:

Traceback (most recent call last): File "c:\users\\anaconda3\envs\ee\lib\site-packages\selenium\webdriver\common\service.py", line 72, in start self.process = subprocess.Popen(cmd, env=self.env, File "c:\users\\anaconda3\envs\ee\lib\subprocess.py", line 854, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "c:\users\\anaconda3\envs\ee\lib\subprocess.py", line 1307, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, FileNotFoundError: [WinError 2] El sistema no puede encontrar el archivo especificado

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "c:\users\\anaconda3\envs\ee\lib\runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "c:\users\\anaconda3\envs\ee\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\\anaconda3\envs\ee\Scripts\geeup.exe\__main__.py", line 7, in <module> File "c:\users\\anaconda3\envs\ee\lib\site-packages\geeup\geeup.py", line 267, in main func(args) File "c:\users\\anaconda3\envs\ee\lib\site-packages\geeup\geeup.py", line 176, in upload_from_parser upload(user=args.user, File "c:\users\\anaconda3\envs\ee\lib\site-packages\geeup\batch_uploader.py", line 99, in upload google_session = __get_google_auth_session(user, password) File "c:\users\\anaconda3\envs\ee\lib\site-packages\geeup\batch_uploader.py", line 309, in __get_google_auth_session driver = Firefox( File "c:\users\\anaconda3\envs\ee\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 164, in __init__ self.service.start() File "c:\users\\anaconda3\envs\ee\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start raise WebDriverException( selenium.common.exceptions.WebDriverException: Message: 'geckodriver.exe' executable needs to be in PATH.

I have working in a virtual environment exlcusive for GEE, have autheticated my google credentials, geeup, selenium, geckodriver and and webdriver-manager are updated.

THanks

Luis

Error in upload

I got this error:

os.path.basename(self.path), self.start_error_message) selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

I ran the following command:

geeup upload --source '/Users/michael/GEO/floods_database/in_rast_raw/' --dest 'users/wfphqgis/LULC' -u '[email protected]' -m '/Users/michael/GEO/floods_database/in_rast_raw/meta.csv'

Cannot load `geeup`

I have followed the instructions here exactly, and in various ways. The installation works fine, but when I run geeup -h I get a number of error messages that I don't understand. For context, I am using a conda environment ('ee') set up & authenticated for Google Earth Engine. My GDAL installation is from OSGeo4W, so it is installed to 'C:\OSGeo4W64\bin', and is in the environment path. gdalinfo works as expected.

The main error messages seem to be:
command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.28.29333\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2
And:
A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.

Though there's so much red text in the output that it's difficult for me to see where the problems are really coming from. I've copied the full command prompt input & output here because I'm not sure which bits are relevant. Please let me know if there is anything specific that you need to help me identify the problem.

I'm sure that I had geeup set up and working in the past, but I have since removed and re-created this conda environment. By the way, I also use geeadd and that has worked great. Thanks!

Building cache

Hi samapriya, recently I change from a Mac platform to a PC. I can successfully install geeup on PC but everytime I issue a command (e.g., geeup -h), it will keep building cache, which takes a long time. Since all the requirements are satisfied, so might this be a bug?

image

Thank you very much for your time!

NameError: name 'robot_account' is not defined

Hi Samapriya,
while testing geeup I ran into

NameError: name 'robot_account' is not defined

full output below

geeup seemingly tries to upload but runs into the error eventually.
metadata file is in the parent dir. tif files are in tiles subdir
The ImageCollection is created successfully

Thanks in advance for your help

Here is my setup:

geeup 0.4.4
Windows 10
conda environment (python 3.7.6)

(gee) C:\Users\initze\geeup>geeup upload --source K:\42_MACS_Processing\Ikpikpuk_S\Ikpikpuk_S_pix4d\upload_test\files --dest users/ingmarnitze/MACS_DEM --metadata K:\42_MACS_Processing\Ikpikpuk_S\Ikpikpuk_S_pix4d\upload_test\meta.csv --user MYACCOUNT --nodata 0

Collection users/ingmarnitze/MACS_DEM already exists
Processing image 1 out of 2: K:\42_MACS_Processing\Ikpikpuk_S\Ikpikpuk_S_pix4d\upload_test\files\Ikpikpuk_S_pix4d_dsm_1_1.tif
Traceback (most recent call last):
File "C:\Users\initze\AppData\Local\Continuum\anaconda3\envs\gee\Scripts\earthengine-script.py", line 9, in
sys.exit(main())
File "C:\Users\initze\AppData\Local\Continuum\anaconda3\envs\gee\lib\site-packages\ee\cli\eecli.py", line 102, in main
_run_command()
File "C:\Users\initze\AppData\Local\Continuum\anaconda3\envs\gee\lib\site-packages\ee\cli\eecli.py", line 67, in _run_command
args.project_override
File "C:\Users\initze\AppData\Local\Continuum\anaconda3\envs\gee\lib\site-packages\ee\cli\utils.py", line 72, in init
self._robot_account = robot_account
NameError: name 'robot_account' is not defined
Processing image 2 out of 2: K:\42_MACS_Processing\Ikpikpuk_S\Ikpikpuk_S_pix4d\upload_test\files\Ikpikpuk_S_pix4d_dsm_1_2.tif
Traceback (most recent call last):
File "C:\Users\initze\AppData\Local\Continuum\anaconda3\envs\gee\Scripts\earthengine-script.py", line 9, in
sys.exit(main())
File "C:\Users\initze\AppData\Local\Continuum\anaconda3\envs\gee\lib\site-packages\ee\cli\eecli.py", line 102, in main
_run_command()
File "C:\Users\initze\AppData\Local\Continuum\anaconda3\envs\gee\lib\site-packages\ee\cli\eecli.py", line 67, in _run_command
args.project_override
File "C:\Users\initze\AppData\Local\Continuum\anaconda3\envs\gee\lib\site-packages\ee\cli\utils.py", line 72, in init
self._robot_account = robot_account
NameError: name 'robot_account' is not defined

No module named 'metadata_loader - geeup 0.2.7

Hi Samapriya,

I am attempting to run geeup 0.2.7 with python 3.7.4 and experiencing the same metadata_loader issue as matthiasdemuzere previously.

File "c:\users\ah\appdata\local\continuum\anaconda3\lib\runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "c:\users\ah\appdata\local\continuum\anaconda3\lib\runpy.py", line 85, in run_code
exec(code, run_globals)
File "C:\Users\ah\AppData\Local\Continuum\anaconda3\Scripts\geeup.exe_main
.py", line 5, in
File "c:\users\ah\appdata\local\continuum\anaconda3\lib\site-packages\geeup\geeup.py", line 24, in
from .batch_uploader import upload
File "c:\users\ah\appdata\local\continuum\anaconda3\lib\site-packages\geeup\batch_uploader.py", line 73, in
from metadata_loader import load_metadata_from_csv, validate_metadata_from_csv
ModuleNotFoundError: No module named 'metadata_loader'

Any idea what I am doing wrong here?
Thanks

invalid syntax (<unknown>, line 2)

Hi @samapriya,

I am trying to batch upload a number of zipped shapefiles using geeup seltabup, but I get the error: invalid syntax (<unknown>, line 2)

The command I am trying to run is:
geeup seltabup --dest users/MyUsername/Project/Test -u [email protected] --source "C:\Conda4\envs\ee\Test\ZIP"

It could create my folder Test in GEE. But once it reaches the upload part, I keep receiving the same error in both Windows 10 and Ubuntu machines. I have updated the package with geeup init and could successfully zip the shapefiles with geeup zipshape. 2fa and apps are turned off.

Could you please check what is wrong?

Thank you

Issue with Selenium

Hi there,
I've been having issues with the upload tool in both geeup and ppipe. After going through each prior step it seems that selsetup cannot complete login and is met with this message.

image

It seems this is a common issue that has developed recently. I was just wondering if theres any fixes in the works? I've tried using geeadd as well but have run into the same issue.

Invalid URL 'None': No schema supplied. Perhaps you meant http://None?

I use geeup to upload images to the assets. I didn't use it in long time (around six months ago). I updated to the last version and I got the error when I run geeup upload.
It looks like the package works well because it can create the new imageCollection or recognize if it exists but when it is processing the images, I get always: Invalid URL 'None': No schema supplied. Perhaps you meant http://None?
I'm using python 3.6.9 in ubuntu 18.
Has something changed or am I doing something wrong?
Thanks!

Element is not reachable by keyboard

Hi there,

I was trying to upload images using geeup upload, but after I entered my password, the following error was displayed in the anaconda prompt:
image
Could you help me to solve this?

Thanks!
Albert

No output when using zipshape

Hi there,

Thanks so much for putting together this repo--it's really neat and clearly helps plug a pretty big hole in GEE capabilities. I've gone though the process of installing the software via pip (but in a conda env) and believe things are up and running. At least, I'm able to generate help commands through the typical -h options. I can even look at my quota.

I'm currently working to upload my first shapefile via zipshape, but noticed that whenever I try to run the command, it returns nothing:

geeup zipshape --input . --output .

After entering this in the command line, the terminal completes the operation silently, and then simply waits for the next command. This happens regardless of the paths I specify.

A few questions: is this command dependent on Selenium or the cookies option? I checked the documentation and didn't see anything about that. I also have noted that I have the python earth engine api running in my environment just fine. I have tried to set up Selenium support via selsetup but I'm thrown an error related to not having Firefox on my virtual machine. On my personal machine and its Firefox browser, I am told to use a different browser when I try to run through the login process.

Thanks for any feedback here!

Invalid URL 'None': No Schema error caused by incorrect password

While doing a batch upload using geeup, I received the error:

"Invalid URL 'None': No schema supplied. Perhaps you meant http://None?"

After not finding any help through the solutions online, I found that this issue was caused by using an incorrect password. It didn't occur to me that this was a potential cause for error until I intentionally used the wrong password to troubleshoot and was able to reproduce the error. I did not initially think to test the password because the tool was able to create the image collection with the incorrect password and detect that the image collection exists, but was unable to upload any images.

I just wanted to document this as a known issue to help other users in the future as it seems this issue has come up in the past and was not confirmed as resolved.

invalid syntax and Nonetype error

Hello first off thank you for making this package I have been searching for and wide for something like this!

I'm trying to batch upload some shapefiles to the google earth engine. However I'm having some difficulty with it and I suspect that I'm doing something wrong.
I installed geeup and also updated it before running these commands.

I first tried this command (obviously with my real path info):
geeup seltabup --source /home/path/my/zippedShapefiles --dest users/usernameGEE/Folder This returns a nontype error (TypeError: object of type 'NoneType' has no len())

After this command I thought the files were not correct however the zipfile contains:
.shp .dbf .prj .shx files so that should be okay.

Afterwards I added the user credentials:
geeup seltabup --source /home/path/my/zippedShapefiles --dest users/usernameGEE/Folder --user [email protected] This however gives me the ''invalid syntax (, line 2)'' error.

In any case the folder does get created in my google earth engine assests, however the files are not being uploaded because of the errors I think.

What am I doing wrong?

Primary path in each source must not be empty

I am trying to upload one geotif as a test, using the following command:
geeup upload --source somepath/somefolder --dest users/username/imagecollection -u [email protected] -m somepath/metadata.csv

The metadata consists out of a csv file with two lines:

id_no
filename

When running this, I get the following message:

Password:
Collection users/username/imagecollection already exists
Collection already exists. 1 assets left for upload to users/username/imagecollection
Processing image 1 out of 1: /somepath/somefolder/myfile.tif
invalid syntax (, line 2)
Invalid URL 'None': No schema supplied. Perhaps you meant http://None?
Primary path in each source must not be empty.

To me it is unclear what it is referring to? Any ideas?

Various bugs in geeup

Hi, I'm a first-time geeup user. I just wanted to report my experience so far and see if you can fix any of the bugs I encountered.

After installing geeup from source, I ran:

$ geeup update
Downloading from: https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-linux64.tar.gz
 [*] 2.8 MB / 2.8 MB @ 2.2 MB/s [##################] [100%, 0s left]     
/mnt/a/u/sciteam/stewart1/spack/opt/spack/cray-cnl5-interlagos/gcc-6.3.0/py-geeup-0.2.4-ars3milv5bauueoa2k25vac45bte44qo/lib/python3.7/site-packages/geeup/geckodriver-v0.24.0-linux64.zip
Use selenium driver path as /mnt/a/u/sciteam/stewart1/spack/opt/spack/cray-cnl5-interlagos/gcc-6.3.0/py-geeup-0.2.4-ars3milv5bauueoa2k25vac45bte44qo/lib/python3.7/site-packages/geeup/geckodriver

First, I tried to zip some shapefiles:

$ geeup zipshape --input 31/001 --output 31/001

Although there was no error message reported, the .shp file and friends located in 31/001 were not zipped. No zipfile was created.

Next I tried uploading the tables:

$ geeup seltabup --source 31/001 --dest /users/ajstewart/hummingbird/31001 --email [email protected]
Traceback (most recent call last):
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/bin/geeup", line 12, in <module>
    load_entry_point('geeup==0.2.4', 'console_scripts', 'geeup')()
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/lib/python3.7/site-packages/geeup/geeup.py", line 149, in main
    args.func(args)
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/lib/python3.7/site-packages/geeup/geeup.py", line 85, in seltabup_from_parser
    destination=args.dest)
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/lib/python3.7/site-packages/geeup/sel_tuploader.py", line 60, in seltabup
    create_image_collection(destination)
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/lib/python3.7/site-packages/geeup/sel_tuploader.py", line 48, in create_image_collection
    if folder_exist(full_path_to_collection):
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/lib/python3.7/site-packages/geeup/sel_tuploader.py", line 41, in folder_exist
    if ee.data.getInfo(path) and ee.data.getInfo(path)['type']=='Folder':
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/lib/python3.7/site-packages/ee/deprecation.py", line 32, in Wrapper
    return func(*args, **kwargs)
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/lib/python3.7/site-packages/ee/data.py", line 385, in getInfo
    return send_('/info', {'id': asset_id})
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/lib/python3.7/site-packages/ee/data.py", line 1717, in send_
    raise ee_exception.EEException(json_content['error']['message'])
ee.ee_exception.EEException: Path for the asset is invalid. Folder names must be separated with '/', and at most 10 folders are allowed in the path. Names must contain only the following characters: A..Z, a..z, 0..9, '_' or '-'. Maximum length for a single folder or asset name is 100 characters.

Although the error message isn't very helpful, the bug was that I erroneously placed a / at the start of my dest. Next I tried removing that:

$ geeup seltabup --source 31/001 --dest users/ajstewart/hummingbird/31001 --email [email protected]
Traceback (most recent call last):
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/bin/geeup", line 12, in <module>
    load_entry_point('geeup==0.2.4', 'console_scripts', 'geeup')()
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/lib/python3.7/site-packages/geeup/geeup.py", line 149, in main
    args.func(args)
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/lib/python3.7/site-packages/geeup/geeup.py", line 85, in seltabup_from_parser
    destination=args.dest)
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/lib/python3.7/site-packages/geeup/sel_tuploader.py", line 60, in seltabup
    create_image_collection(destination)
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/lib/python3.7/site-packages/geeup/sel_tuploader.py", line 51, in create_image_collection
    ee.data.createAsset({'type': ee.data.ASSET_TYPE_FOLDER}, full_path_to_collection)
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/lib/python3.7/site-packages/ee/data.py", line 932, in createAsset
    return send_('/create', args)
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/lib/python3.7/site-packages/ee/data.py", line 1717, in send_
    raise ee_exception.EEException(json_content['error']['message'])
ee.ee_exception.EEException: Asset 'users/ajstewart/hummingbird' does not exist or doesn't allow this operation.

Although geeup claims to be able to automatically create any parent directories, this does not appear to be the case. After manually creating the hummingbird directory in GEE, I get:

$ geeup seltabup --source 31/001 --dest users/ajstewart/hummingbird/31001 --email [email protected]
Folder users/ajstewart/hummingbird already exists
Traceback (most recent call last):
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/bin/geeup", line 12, in <module>
    load_entry_point('geeup==0.2.4', 'console_scripts', 'geeup')()
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/lib/python3.7/site-packages/geeup/geeup.py", line 149, in main
    args.func(args)
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/lib/python3.7/site-packages/geeup/geeup.py", line 85, in seltabup_from_parser
    destination=args.dest)
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/lib/python3.7/site-packages/geeup/sel_tuploader.py", line 64, in seltabup
    driver = Firefox(executable_path=os.path.join(lp,"geckodriver"),firefox_options=options)
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/lib/python3.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 174, in __init__
    keep_alive=True)
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/mnt/a/u/sciteam/stewart1/crop_classification/.spack-env/view/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: invalid argument: can't kill an exited process

No idea what to do about this one. I'm launching this from a supercomputer, so there's a chance there is something wrong with the Selenium installation. I'm not even sure if Firefox is installed. Overall, more helpful error messages would be great. I'll try running from my laptop, but if that doesn't work, I guess I'll be forced to upload things manually.

Message: Unable to locate element: //input[@type="email"]

I do not know the problem. I'm trying to do the manual input before signing into the google earth engine using geeup selsetup, but I got a message from firefox browse:
Sign-in not possible
This browser or app may not be secure.
Use a different browser. If you're already using a supported browser, you can refresh your screen and try again to sign in.

And after that:
Message: Unable to locate element: //input[@type="email"]
Failed to setup Selenium profile

I'm using the last version of geeup, setting up the cokies, I activated access to less secure app and it seems nothing worked, cannot singing using selsetup.
Ah! I'm using pyhton v3.6.4

Thanks,
Emma.

Permission denied anywhere I want to write the metadata

Hi,

I encountered an error when running the getmeta function. The error message says:

Traceback (most recent call last):
  File "c:\users\adrian dwiputra\.conda\envs\ee\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "c:\users\adrian dwiputra\.conda\envs\ee\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\ADRIAN DWIPUTRA\.conda\envs\ee\Scripts\geeup.exe\__main__.py", line 7, in <module>
  File "c:\users\adrian dwiputra\.conda\envs\ee\lib\site-packages\geeup\geeup.py", line 312, in main
    func(args)
  File "c:\users\adrian dwiputra\.conda\envs\ee\lib\site-packages\geeup\geeup.py", line 197, in getmeta_from_parser
    getmeta(indir=args.input,mfile=args.metadata)
  File "c:\users\adrian dwiputra\.conda\envs\ee\lib\site-packages\geeup\getmeta.py", line 14, in getmeta
    with open(mfile,'w') as csvfile:
PermissionError: [Errno 13] Permission denied: 'E:\\metadataS2'

I am running the geeup on windows 10 using the Anaconda Prompt with administrator access. I have tried turning off all of the antivirus activities that may prevent access, but still no luck. Can you provide any clue that may help to troubleshoot this issue?

Thanks so much for such a useful package, as well as your kind help!

"system:time_start" prior to ~2000 are being added an extra digit when uploading to GEE

First of all, thank you very much for making this awesome tool. It will definitely save me from a lot of dull uploading time!

I have a set of rasters from 1979 and 2019 which I am uploading to the same image collection. In the metadata CSV file I have added an extra column with a "system:time_start" property. An image from 2019-01-14 has the following "system:time_start": 1547424000000, and an image from 1979-01-14 has the following "system:time_start":285120000000 in the CSV file. However, after using geeup upload, the images from 1979 are being added an extra "0" (285120000000 -> 2851200000000), so they are given a wrong date on the GEE (1979-01-14 -> 2060-05-08).

Am I doing something wrong, or is there a bug somewhere in the uploading script forcing all "system:time_start" properties to have the exact same number of digits?

geeup doesn't build correctly on conda

I'm starting to work with GEE for my research and am grateful to find geeup. I use conda to manage my GIS environment because it also contains PostgreSQL.

I tried to build geeup using conda skeleton pip and I got the following error below. It has to do with the setup.py. Here is a short reproducible example:

(comonsit) stephenpitts@Ellacuria python-packaging % python
Python 3.9.0 | packaged by conda-forge | (default, Nov 26 2020, 07:54:06) 
[Clang 11.0.0 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from distutils.version import StrictVersion
>>> StrictVersion("'49.6.0.post20210108")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/stephenpitts/miniconda3/lib/python3.9/distutils/version.py", line 40, in __init__
    self.parse(vstring)
  File "/Users/stephenpitts/miniconda3/lib/python3.9/distutils/version.py", line 137, in parse
    raise ValueError("invalid version number '%s'" % vstring)
ValueError: invalid version number ''49.6.0.post20210108'
>>> 

I don't know if the call to StrictVersion in setup.py is automatically generated or if that is something you could change. Here is the full output from conda skeleton pypi geeup.

PyPI URL:  https://files.pythonhosted.org/packages/3b/55/f9b058600df0d01001e2288a5509c4c9dcaa83cd0c45c5b2be44bcbab80a/geeup-0.4.6.tar.gz
Unpacking geeup...
done
working in /var/folders/x6/h7khltjs35s663pvw6lskbv00000gn/T/tmpkxiuq4s9conda_skeleton_geeup-0.4.6.tar.gz
Collecting package metadata (repodata.json): ...working... done
Solving environment: ...working... done

## Package Plan ##

  environment location: /Users/stephenpitts/miniconda3/conda-bld/skeleton_1619622828107/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac


The following NEW packages will be INSTALLED:

    ca-certificates: 2020.12.5-h033912b_0     conda-forge
    certifi:         2020.12.5-py39h6e9494a_1 conda-forge
    libcxx:          11.1.0-habf9029_0        conda-forge
    libffi:          3.3-h046ec9c_2           conda-forge
    ncurses:         6.2-h2e338ed_4           conda-forge
    openssl:         1.1.1k-h0d85af4_0        conda-forge
    patch:           2.7.6-hbcf498f_1002      conda-forge
    pip:             21.1-pyhd8ed1ab_0        conda-forge
    python:          3.9.2-h2502468_0_cpython conda-forge
    python_abi:      3.9-1_cp39               conda-forge
    pyyaml:          5.4.1-py39hcbf5805_0     conda-forge
    readline:        8.1-h05e3726_0           conda-forge
    setuptools:      49.6.0-py39h6e9494a_3    conda-forge
    sqlite:          3.35.5-h44b9ce1_0        conda-forge
    tk:              8.6.10-h0419947_1        conda-forge
    tzdata:          2021a-he74cb21_0         conda-forge
    wheel:           0.36.2-pyhd3deb0d_0      conda-forge
    xz:              5.2.5-haf1e3a3_1         conda-forge
    yaml:            0.2.5-haf1e3a3_0         conda-forge
    zlib:            1.2.11-h7795811_1010     conda-forge

Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
Applying patch: /var/folders/x6/h7khltjs35s663pvw6lskbv00000gn/T/tmpkxiuq4s9conda_skeleton_geeup-0.4.6.tar.gz/pypi-distutils.patch
Applying patch: /var/folders/x6/h7khltjs35s663pvw6lskbv00000gn/T/tmpkxiuq4s9conda_skeleton_geeup-0.4.6.tar.gz/pypi-distutils.patch with args:
['-Np0', '-i', '/var/folders/x6/h7khltjs35s663pvw6lskbv00000gn/T/tmpv7ma5rte/pypi-distutils.patch.native', '--binary']
patching file core.py
Hunk #1 succeeded at 168 with fuzz 2 (offset 1 line).
patching file core.py
Hunk #1 succeeded at 168 with fuzz 2 (offset 1 line).
Traceback (most recent call last):
  File "/private/var/folders/x6/h7khltjs35s663pvw6lskbv00000gn/T/tmpkxiuq4s9conda_skeleton_geeup-0.4.6.tar.gz/geeup-0.4.6/setup.py", line 10, in <module>
    if StrictVersion(setuptools_version) < StrictVersion("38.3.0"):
  File "/Users/stephenpitts/miniconda3/conda-bld/skeleton_1619622828107/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.9/distutils/version.py", line 40, in __init__
    self.parse(vstring)
  File "/Users/stephenpitts/miniconda3/conda-bld/skeleton_1619622828107/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_plac/lib/python3.9/distutils/version.py", line 137, in parse
    raise ValueError("invalid version number '%s'" % vstring)
ValueError: invalid version number '49.6.0.post20210108'
$PYTHONPATH = /var/folders/x6/h7khltjs35s663pvw6lskbv00000gn/T/tmpkxiuq4s9conda_skeleton_geeup-0.4.6.tar.gz/geeup-0.4.6:/Users/stephenpitts/miniconda3/envs/comonsit/share/qgis/python/plugins:/Users/stephenpitts/miniconda3/envs/comonsit/share/qgis/python:

Leaving build/test directories:
  Work:
 /Users/stephenpitts/miniconda3/conda-bld/skeleton_1619622828107/work 
  Test:
 /Users/stephenpitts/miniconda3/conda-bld/skeleton_1619622828107/test_tmp 
Leaving build/test environments:
  Test:
source activate  /Users/stephenpitts/miniconda3/conda-bld/skeleton_1619622828107/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold 
  Build:
source activate  /Users/stephenpitts/miniconda3/conda-bld/skeleton_1619622828107/_build_env 

File "<unknown>", line 2 <!DOCTYPE html> ^ SyntaxError: invalid syntax

Thank you for creating and maintaining this awesome repo. I am facing an auth issue lately.
geeup cookie_setup works fine. It finishes with a "Cookie setup complete" result and also clears the terminal (like it used to).

But just a few seconds later, when I try geeup upload with my files and meta_data csv, it says, cookies expired, please enter new cookies. I tried pasting the same cookies (as used for the geeup cookie_setup) and separately, also tried pasting new cookies (fetched from a new incognito window), but I get the same error. The error message is below.

Traceback (most recent call last):
  File "c:\users\kkrao\appdata\local\conda\conda\envs\py36\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\users\kkrao\appdata\local\conda\conda\envs\py36\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\kkrao\AppData\Local\conda\conda\envs\py36\Scripts\geeup.exe\__main__.py", line 7, in <module>
  File "c:\users\kkrao\appdata\local\conda\conda\envs\py36\lib\site-packages\geeup\geeup.py", line 653, in main
    func(args)
  File "c:\users\kkrao\appdata\local\conda\conda\envs\py36\lib\site-packages\geeup\geeup.py", line 350, in upload_from_parser
    pyramiding=args.pyramids,
  File "c:\users\kkrao\appdata\local\conda\conda\envs\py36\lib\site-packages\geeup\batch_uploader.py", line 101, in upload
    google_session = __get_google_auth_session(user, password, method)
  File "c:\users\kkrao\appdata\local\conda\conda\envs\py36\lib\site-packages\geeup\batch_uploader.py", line 380, in __get_google_auth_session
    and ast.literal_eval(response.text)["url"] is not None
  File "c:\users\kkrao\appdata\local\conda\conda\envs\py36\lib\ast.py", line 48, in literal_eval
    node_or_string = parse(node_or_string, mode='eval')
  File "c:\users\kkrao\appdata\local\conda\conda\envs\py36\lib\ast.py", line 35, in parse
    return compile(source, filename, mode, PyCF_ONLY_AST)
  File "<unknown>", line 2
    <!DOCTYPE html>
    ^
SyntaxError: invalid syntax

It seems like a google auth issue. Any workarounds or hints available for how to debug this?
geeup has been working fine for me all this while, so this seems like an issue caused by something external to geeup. I am running the latest version of geeup = 0.5.2.

Parameter "name" value "projects/myproject/assets" does not match the pattern "^projects/[^/]+/assets/.*$"

Dear Samapriya,

Recently, I used your excellent geeup package to upload GeoTIFF images from the local machine to the GEE asset. I tried to use the geeup upload function "geeup upload --source "full path to folder with GeoTIFFs" --dest "Full path for upload to Google Earth Engine" --metadata "Full path for metadata file.csv" --user "[email protected]".

It works when I upload the GeoTIFF images to the standard legacy folder. But when I replaced the destination folder with my Cloud Projects. For example, I set "projects/ee-wsh-project01/assets/test" as the destination folder. It reports the following error
TypeError: Parameter "name" value "projects/ee-wsh-project01/assets" does not match the pattern "^projects/[^/]+/assets/.*$"

I have no idea why this error happens. Do you have any suggestions for this issue?

Thank you

Warning password

Look this warning that couldn´t load the images with the function upload, it seems to be with my account but I wrote the right password and I tried out with another account:

image

Max retries exceeded with url: /assets/upload/geturl

Dear Samapriya,

Recently, I try to upload images using the geeup packages you developed. But when I tried to use the geeup upload function "geeup upload --source "full path to folder with GeoTIFFs" --dest "Full path for upload to Google Earth Engine" --metadata "Full path for metadata file.csv" --user "[email protected]", it displays the following bug: "requests.exceptions.ConnectionError: HTTPSConnectionPool(host='code.earthengine.google.com', port=443): Max retries exceeded with url: /assets/upload/geturl (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000001B2BE8FD310>: Failed to establish a new connection: [WinError 10060]" .

I can't solve it, do you have any solutions?

Thanks,
Yi Liu

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.