{ "info": { "author": "David E. Lotton", "author_email": "yellow56@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: GNU General Public License (GPL)", "Programming Language :: Python", "Topic :: Utilities" ], "description": "LICENSE:\n\nFile: gupload.py \nLicense: GNU General Public License (GPL)\n\nFile: UploadGarmin.py\nLicense: Apache 2.0\n\n\nDISCLAIMER:\n\n# THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \n# 'AS IS' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR \n# IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES \n# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE \n# ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM \n# IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME \n# THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n# USE AT YOUR OWN RISK.\n\n\nDESCRIPTION:\n\nGarmin Connect Python Uploader, gupload.py, uploads files \n(.tcx, .gpx, and .fit files ) created by Garmin fitness \ndevices to the http://connect.garmin.com web site.\n\n\nREQUIREMENTS:\nTested on Python 2.6.5 under Linux and 2.7.2 under Windows XP.\n\nPip: \npip is a tool for installing and managing Python packages, \nsuch as those found on Python Package Index(pypi). It is\na replacement/enhancement for easy_install. \n\nLinux Pip Installation:\nIf you use and Ubuntu distro search for python-pip in your \npackage browser. Other distros my have a similar package. \nOtherwise, check out the following link.\n\nhttp://www.pip-installer.org/en/latest/\n\n\nWindows Pip Installation:\n1) Download the last easy installer for Windows that fits your \n installed python version: (download the .exe at the bottom \n of http://pypi.python.org/pypi/setuptools ). Install it.\n2) Add c:\\Python2x\\Scripts to the Windows path (replace \n Python2x with the correct directory)\n3) Open a NEW (!) DOS prompt. From there run 'easy_install pip'\n\nhttp://stackoverflow.com/questions/4750806/how-to-install-pip-on-windows\n\nNote that for Windows you MUST add your python 'scripts'\ndirectory to your PATH environment variable. \n\n\nRequired Python Modules: (automatically installed by pip)\nlogging\nsimplejson\nrequests\n\nGarmin Connect Account:\nYou must already have a Garmin Connect account set up. If you\ndon't have one, go to http://connect.garmin.com and create your\nuser account. The login credentials for this account are \nrequired for uploading data to Garmin Connect.\n\n\nINSTALL:\n\nThe following command should download and install GcpUploader...\n\nLinux: \nsudo pip install GcpUploader\n\n\nWin: \npip install GcpUploader\n\n\n\nConfig File:\nYou may create a config file containing your Garmin Connect\nusername and password to eliminate the need to type it in \non the command line. WARNING!!! The username and password\nare stored in clear text, WHICH IS NOT SECURE. If you have \nconcerns about storing your garmin connect username and \npassword in an unsecure file, do not use this option.\n\nCreate a text file named .guploadrc (gupload.ini for Windows\nusers) containing the following:\n[Credentials]\nusername=\npassword=\n\nReplace and with your Garmin Connect\nlogin credentials. gupload.py looks for this file either in\nyour home directory (usually something like '/home/' \nin Linux, or C:\\Documents and Settings\\' in Windows)\n, or in the current working directory (the directory you are \nin when you execute gupload.py). See help below for priority \ninformation. \n\n\nHELP:\n\nusage: gupload.py [-h] [-a A] [-t T] [-l L L] [-v {1,2,3,4,5}]\n filename [filename ...]\n\nA script to upload .TCX, .GPX, and .FIT files to the Garmin Connect web site.\n\npositional arguments:\n filename Path and name of file(s) to upload, list file name, or\n directory name containing fitness files.\n\noptional arguments:\n -h, --help show this help message and exit\n -a A Sets the activity name for the upload file. This option is\n ignored if multiple upload files are given.\n -t T Sets activity type for ALL files in filename list, except\n files described inside a csv list file.\n -l L L Garmin Connect login credentials '-l username password'\n -v {1,2,3,4,5} Verbose - select level of verbosity. 1=DEBUG(most verbose),\n 2=INFO, 3=WARNING, 4=ERROR, 5= CRITICAL(least verbose).\n [default=3]\n\n Status Output:\n The script will output a status for each upload file; Success, FAIL, or\n EXISTS. Definitions are as follows: \n\n SUCCESS = Garmin Connect indicated that the upload was successful.\n FAIL = Garmin Connect indicated there was a problem with the upload.\n EXISTS = Garmin Connect indicated that the workout already exists in\n your account.\n\n Credentials:\n Username and password credentials may be placed in a configuration file \n located either in the current working directory, or in the user's home\n directory. WARNING, THIS IS NOT SECURE. USE THIS OPTION AT YOUR OWN\n RISK. Username and password are stored as clear text in a file\n format that is consistent with Microsoft (r) INI files. \n \n The configuration file must contain a [Credentials] section containing \n 'username' and 'password' entries.\n\n The name of the config file for non-windows platforms is '.guploadrc'\n for windows platforms the config file is named 'gupload.ini'.\n\n Example '.guploadrc' (or 'gupload.ini' for windows):\n [Credentials]\n username=\n password=\n\n Replace and above with your own login \n credentials.\n\n Priority of credentials:\n Command line credentials take priority over config files, current \n directory config file takes priority over a config file in the user's\n home directory.\n\n CSV List Files:\n A CSV (comma separated values) file can be created to associate files \n with filename and file type information. Each record (line) in the csv\n file consists of three fields (filename, name, type). Fields are \n separated by commas, and text containing spaces or special characters\n is quoted with double quotes (\"). Empty fields may be left blank, but\n the field separators must be present. THE FIRST LINE IN THE CSV FILE \n DEFINES THE ORDER OF THE FIELDS AND *MUST* CONTAIN THE KEY WORDS\n 'filename', 'name', and 'type'. Most popular spreadsheet \n programs can save files in CSV format, or files can be easily \n constructed in your favorite text editor.\n \n Example 'file_list.csv':\n filename, name, type\n file1.tcx, \"10K race\", running\n file2.fit, \"Training Run\", running\n file3.fit, , swimming\n \n Example 'file_list2.csv' (note field order changed):\n name, filename, type\n \"10K race\", file1.tcx, running\n \"Training Run\", file2.fit, running\n , file3.fit, swimming\n \n Activity Types: \n The following list of activity types should be valid for setting \n your activity type on Garmin Connect...\n \n running, street_running, track_running, trail_running, \n treadmill_running, cycling, cyclocross, downhill_biking, indoor_cycling,\n mountain_biking, recumbent_cycling, road_biking, track_cycling, \n fitness_equipment, elliptical, , indoor_cardio, indoor_rowing, \n stair_climbing, strength_training, hiking, swimming, lap_swimming, \n open_water_swimming, walking, casual_walking, speed_walking, transition,\n swimToBikeTransition, bikeToRunTransition, runToBikeTransition, \n motorcycling, other, backcountry_skiing_snowboarding, boating, \n cross_country_skiing, driving_general, flying, golf, horseback_riding,\n inline_skating, mountaineering, paddling, resort_skiing_snowboarding, \n rowing, sailing, skate_skiing, skating, snowmobiling, snow_shoe, \n stand_up_paddleboarding, whitewater_rafting_kayaking, wind_kite_surfing.\n \n\n Examples:\n Upload file and set activty name:\n gupload.py -l myusername mypassword -a 'Run at park - 12/23' myfile.tcx\n\n Upload multiple files:\n gupload.py -l myusername mypassword myfile1.tcx myfile2.tcx myfile3.fit\n\n Upload multiple files and set activity type for all to running:\n gupload.py -l myusername mypassword -t \"running\" myfile1.tcx myfile2.tcx\n\n Upload files using config file for credentials and csv list file:\n gupload.py file_list.csv\n\n Upload file using config file for credentials, name file, verbose \n output:\n gupload.py -v 1 -a 'Run at park - 12/23' myfile.tcx\n \n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://sourceforge.net/projects/gcpuploader/", "keywords": "GARMIN CONNECT GPS TCX GPX FIT UPLOAD UPLOADER", "license": "GPL", "maintainer": null, "maintainer_email": null, "name": "GcpUploader", "package_url": "https://pypi.org/project/GcpUploader/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/GcpUploader/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://sourceforge.net/projects/gcpuploader/" }, "release_url": "https://pypi.org/project/GcpUploader/2015.2.28/", "requires_dist": null, "requires_python": null, "summary": "A tool to upload FIT, GPX, and TCX files to the Garmin Connect web site.", "version": "2015.2.28" }, "last_serial": 1442514, "releases": { "2012.11.11": [ { "comment_text": "", "digests": { "md5": "68b643b1ab3b163bf3c58d88ab9eebe4", "sha256": "a452ab7591e0f3569ec2dc4a031516dcac9796e9ef50851a3d74511ba49e3ae3" }, "downloads": -1, "filename": "GcpUploader-2012.11.11.tar.gz", "has_sig": false, "md5_digest": "68b643b1ab3b163bf3c58d88ab9eebe4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14015, "upload_time": "2012-12-30T03:48:08", "url": "https://files.pythonhosted.org/packages/f7/79/6f238219c982a3800ae992219468919a64500c3a0e48c5e435a0f5710ab1/GcpUploader-2012.11.11.tar.gz" } ], "2013.05.05": [ { "comment_text": "", "digests": { "md5": "b250c4e26efac20fa3250c0d4f305d05", "sha256": "a8c4929c91ec857cb33910e42293d336d77f431969d9f8f14be45e1c95322c5d" }, "downloads": -1, "filename": "GcpUploader-2013.05.05.tar.gz", "has_sig": false, "md5_digest": "b250c4e26efac20fa3250c0d4f305d05", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14466, "upload_time": "2013-05-05T19:06:18", "url": "https://files.pythonhosted.org/packages/e4/07/571f71c3b538fab74b258f2c62c99fb0653b5e393df03bd9204f330eeace/GcpUploader-2013.05.05.tar.gz" } ], "2014.02.16": [ { "comment_text": "", "digests": { "md5": "2ca2ebf5bbd238859ad74579f24f7960", "sha256": "68fee2aa1bb2c9c950dff029cd363b34b662f5476d2be7beff550e48662449ad" }, "downloads": -1, "filename": "GcpUploader-2014.02.16.tar.gz", "has_sig": false, "md5_digest": "2ca2ebf5bbd238859ad74579f24f7960", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14595, "upload_time": "2014-02-16T23:03:34", "url": "https://files.pythonhosted.org/packages/bb/68/8cfa51e5f7c365f560cd006d675ecaa1d7263a5d07b1112c4ac587f942a0/GcpUploader-2014.02.16.tar.gz" } ], "2014.03.01": [ { "comment_text": "", "digests": { "md5": "8dfb6853ea59699fc6ec06ae126e14e1", "sha256": "245f590f8b5b8f713c58a155cf7ec427c93a499e06adced105d7f6b2e86279bb" }, "downloads": -1, "filename": "GcpUploader-2014.03.01.tar.gz", "has_sig": false, "md5_digest": "8dfb6853ea59699fc6ec06ae126e14e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14506, "upload_time": "2014-03-02T00:22:02", "url": "https://files.pythonhosted.org/packages/fa/14/98647da817e6d548e1e692243f13dcd1f4d158ff9718043b2d0319d94b71/GcpUploader-2014.03.01.tar.gz" } ], "2015.2.21.3": [ { "comment_text": "", "digests": { "md5": "fa96e0b82a9b8325037f4e45ab47966d", "sha256": "c1013f8bfb91da7e14bc00595e818574b82e70e03403564def6f1df6a432b43b" }, "downloads": -1, "filename": "GcpUploader-2015.2.21.3.tar.gz", "has_sig": false, "md5_digest": "fa96e0b82a9b8325037f4e45ab47966d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18089, "upload_time": "2015-02-22T00:20:37", "url": "https://files.pythonhosted.org/packages/da/31/0eff3d7e55f96b78d90e471f144630378d4cf582ad200d94a1c833b036a3/GcpUploader-2015.2.21.3.tar.gz" } ], "2015.2.28": [ { "comment_text": "", "digests": { "md5": "001d8ec399a317be1a92d43b5dbb27d3", "sha256": "69062da8bcb093ef34359547f850274fa56b0d27f94e415831d6b2b19fe2ede6" }, "downloads": -1, "filename": "GcpUploader-2015.2.28.tar.gz", "has_sig": false, "md5_digest": "001d8ec399a317be1a92d43b5dbb27d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18178, "upload_time": "2015-02-28T18:57:45", "url": "https://files.pythonhosted.org/packages/99/fc/6a54b343cd23a9977353f81b70e174e5d3ef1adc117f0e4d367fe7858270/GcpUploader-2015.2.28.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "001d8ec399a317be1a92d43b5dbb27d3", "sha256": "69062da8bcb093ef34359547f850274fa56b0d27f94e415831d6b2b19fe2ede6" }, "downloads": -1, "filename": "GcpUploader-2015.2.28.tar.gz", "has_sig": false, "md5_digest": "001d8ec399a317be1a92d43b5dbb27d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18178, "upload_time": "2015-02-28T18:57:45", "url": "https://files.pythonhosted.org/packages/99/fc/6a54b343cd23a9977353f81b70e174e5d3ef1adc117f0e4d367fe7858270/GcpUploader-2015.2.28.tar.gz" } ] }