{ "info": { "author": "Jess Williams", "author_email": "stripes.denomino@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3" ], "description": "## **gpsphoto.py**\n\nModule that uses ExifRead and piexif to extract, modify and strip GPS Tag Data \nfrom jpeg and tiff format photos.\nThis module was made possible by the ExifRead, piexif, and Pillow (PIL) modules.\n\n## **Installation**\n\n### **PyPI**\nThe recommended process is to install the \n [PyPI package GPSPhoto](https://pypi.python.org/pypi/GPSPhoto \"GPSPhoto\")\n as it allows easily staying up to date::\n```\npip install gpsphoto\npip3 install gpsphoto\n``` \nSee the [pip documentation](https://pip.pypa.io/en/latest/user_guide.html) \nfor more info.\n\n## **Compatibility**\n\nGPSPhoto.py was tested on the following Python versions:\n\n- 2.7.12\n- 3.5.2\n\nShould be compatible where webbrowser, piexif, ExifRead, \nand Pillow are available.\n\n## **Usage**\n\n### **Command Line**\n\nSome examples:\n```\n Usage:\n python gpsphoto.py \"/path/to/1st/photo\" \"/path/to/2nd/photo\" ...\n\n Options:\n -H - This Help Menu\n -D - Output Raw Data\n -O - Opens Image in Google Maps'\n -E latitude longitude GoogleApiKey - returns elevation\n -S - Strips GPS Data\n alt=int date=YYYY:MM:DD time=HH:MM:SS \\\n stamp=\"YYYY:MM:DD HH:MM:SS\" key=\n alt is optional - will default to 0\n stamp is optional - will default to now\n date is optional - do not use with time, use stamp\n time is optional - do not use with date, use stamp\n key is optional - use if you want auto elevation\n\nExample:\n python gpsphoto.py -E 35.104860 -106.628915 \n python gpsphoto.py -S /path/to/image /path/to/newImage\n python gpsphoto.py -M /path/to/image /path/to/newImage\n lat=35.104860 lon=-106.628915 alt=1765 \\\n stamp=\"1989:05:29 06:01:00\"\n\n Sample Debug Output:\n\n GPS GPSTimeStamp: [16, 12, 28]\n Image GPSInfo: 504\n GPS GPSLongitude: [106, 34, 585371/10000]\n GPS GPSDate: 2016:10:01\n GPS GPSLatitudeRef: N\n GPS GPSLatitude: [35, 3, 95521/5000]\n GPS GPSProcessingMethod: ASCII\n GPS GPSLongitudeRef: W\n GPS GPSAltitudeRef: 0\n GPS GPSAltitude: 1636\n```\n\n\n### **Python Script**\n```\nfrom GPSPhoto import gpsphoto\n# Get the data from image file and return a dictionary\ndata = gpsphoto.getGPSData('/path/to/image.jpg')\nrawData = gpsphoto.getRawData('/path/to/image.jpg')\n\n# Print out just GPS Data of interest\nfor tag in data.keys():\n print \"%s: %s\" % (tag, data[tag])\n\n# Print out raw GPS Data for debugging\nfor tag in rawData.keys():\n print \"%s: %s\" % (tag, rawData[tag])\n\n# Create a GPSPhoto Object\nphoto = gpsphoto.GPSPhoto()\nphoto = gpsphoto.GPSPhoto(\"/path/to/photo.jpg\")\n\n# Create GPSInfo Data Object\ninfo = gpsphoto.GPSInfo((35.104860, -106.628915))\ninfo = gpsphoto.GPSInfo((35.104860, -106.628915), \\\n timeStamp='1970:01:01 09:05:05')\ninfo = gpsphoto.GPSInfo((35.104860, -106.628915), \\\n alt=10, timeStamp='1970:01:01 09:05:05')\n\n# Modify GPS Data\nphoto.modGPSData(info, '/path/to/newFile.jpg')\n\n# Strip GPS Data\nphoto.stripData('/path/to/newFile.jpg')\n```\n \n### **Class and Function Definitions**\n```\nclass GPSInfo(__builtin__.object)\n| Object to represent GPS Data to be added or modified to Image File\n|\n| Methods defined here:\n|\n| __init__(self, coord, alt=0, timeStamp=None)\n| GPSInfo(coord, alt, timeStamp)\n| Constructor takes three arguments\n| coord - tuple or list of two floats representing the gps\n| coordinates i.e. (35.104860, -106.628915)\n| alt - int representing altitude, defaults to 0\n| timeStamp - str or datetime representing date and time\n| i.e. '1970:01:01 09:05:05', defaults to None\n|\n| getAlt(self)\n| Returns alt - represents altitude or elevation\n|\n| getCoord(self)\n| Returns coord - represents gps coordinates\n|\n| getDateTime(self)\n| Returns datetime object timeStamp\n|\n| getGPSFormattedDate(self)\n| Returns GPS Formatted Time in tuple of tuples form\n| i.e. ((18, 1), (29, 1), (22,1))\n|\n| getGPSFormattedTime(self)\n| Returns GPS Formatted Date in str form\n| i.e. '1970:05:01'\n|\n| getTimeStamp(self)\n| Returns str of timeStamp - represents timeStamp\n|\n| setAlt(self, alt)\n| setAlt(alt)\n|\n| Sets alt, takes one argument\n| alt - int or float representing altitude or elevation\n|\n| setCoord(self, coord)\n| setCoord(coord)\n|\n| Sets coord, takes one argument\n| coord - tuple or list of two floats i.e. (35.104860, -106.628915)\n|\n| setTimeStamp(self, timeStamp)\n| setTimeStamp(timeStamp)\n|\n| Sets timeStamp, takes one argument\n| timeStamp - None, str or datetime representing time and date,\n| None will default to time now\n|\n| ----------------------------------------------------------------------\n| Data descriptors defined here:\n|\n| __dict__\n| dictionary for instance variables (if defined)\n|\n| __weakref__\n| list of weak references to the object (if defined)\n|\n| alt\n| Returns alt - represents altitude or elevation\n|\n| coord\n| Returns coord - represents gps coordinates\n|\n| timeStamp\n| Returns str of timeStamp - represents timeStamp\n\nclass GPSPhoto(__builtin__.object)\n| GPSPhoto(object) -> GPSPhoto Object\n|\n| Creates an Object for the modification, extraction, and removal of GPS Exif\n| Tag info on JPEG and Tiff formatted images\n|\n| Methods defined here:\n|\n| __init__(self, filename='')\n| Constructor - Takes String argument defaults to empty string\n|\n| if argument is passed in will initialize object with filename\n| example:\n| GPSPhoto(\"test.jpg\")\n| or\n| GPSPhoto()\n|\n| coord2decimal(self, coord, quad)\n| coord2decimal(coord, quad)\n|\n| Converts Degrees, Minutes and Seconds to decimal.\n|\n| Arguments:\n| coord - tuple or list consisting of degree, minute, and second or\n| degree and minute.\n| quad - str reference of the character 'N','S','E','W'\n| representing North, South, East, West. This also specifies\n| latitude or longitude\n|\n| decimal2Degree(self, coord)\n| decimal2Degree(coord)\n|\n| Convert Decimal Coordinates to Degrees, Minutes, Seconds\n| and determines Quadrant, takes one argument\n| coord - tuple or list of 2 floats\n|\n| Returns a dictionary of latitude and longitude\n|\n| getGPSData(self)\n| Returns GPS Data Dictionary\n|\n| getRawData(self)\n| Returns Raw GPS Exif Data\n|\n| loadFile(self, filename)\n| loadFile(filename)\n|\n| Loads Image file for extraction takes one argument\n| filename - str of the path/to/imagefile\n|\n| modGPSData(self, gpsInfo, newFileName)\n| modGPSData(coord, newFileName, alt)\n|\n| Modifies GPS Data, takes three arguments\n| coord - a list or tuple of (latitude,longitude)\n| newFileName - str of /path/to/newImageFile\n| alt - int or float of the altitude\n|\n| stripData(self, newFileName)\n| stripData(newFileName)\n|\n| Strips all exif data from photo and saves to new jpeg,\n| takes one argument\n| filename - str of /path/to/newImageFile\n|\n| ----------------------------------------------------------------------\n| Data descriptors defined here:\n|\n| __dict__\n| dictionary for instance variables (if defined)\n|\n| __weakref__\n| list of weak references to the object (if defined)\n|\n| gpsData\n| Returns GPS Data Dictionary\n|\n| rawData\n| Returns Raw GPS Exif Data\n\ncoord2decimal(coord, quad)\n coord2decimal(coord, quad)\n \n Converts Degrees, Minutes and Seconds to decimal.\n \n Arguments:\n coord - tuple or list consisting of degree, minute, and second or\n degree and minute.\n quad - str reference of the character 'N','S','E','W'\n representing North, South, East, West. This also specifies\n latitude or longitude\n\ndecimal2Degree(coord)\n decimal2Degree(coord)\n \n Convert Decimal Coordinates to Degrees, Minutes, Seconds\n and determines Quadrant, takes one argument\n coord - tuple or list of 2 floats\n \n Returns a dictionary of latitude and longitude\n\ngetGPSData(fileName)\n getGPSData(filename)\n Gets GPS Data from Image, takes one argument\n fileName - str of path/to/image\n \n There are 3 different types of Longitude and Latitude data stored.\n 1 - type is already in decimal format\n Assumption no Ref Value\n 2 - type is in degree and minute format\n Assumption [100, 44.5678]\n 3 - type is in degree, minute and second\n Assumption [100, 44,95521/5000]\n This function will assume the assumptions are correct and parse the\n strings and return a list of floating elements, takes an parameter of\n list of strings\n\ngetRawData(fileName)\n getRawData(fileName)\n Returns the raw GPS Data returned from ExifRead, takes one argument\n fileName - str of path/to/image\n\nstripGPSData(oldFile, newFile)\n stripGPSData(oldFile, newFile)\n \n Strips all exif data from photo and saves to new jpeg, takes two arguments\n oldFile - str of /path/to/image of image to be stripped\n newFile - str of /path/to/image of the new stripped image\n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.jessgwiii.wordpress.com", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "gpsphoto", "package_url": "https://pypi.org/project/gpsphoto/", "platform": "", "project_url": "https://pypi.org/project/gpsphoto/", "project_urls": { "Homepage": "http://www.jessgwiii.wordpress.com" }, "release_url": "https://pypi.org/project/gpsphoto/2.2.3/", "requires_dist": null, "requires_python": "", "summary": "Returns, Modifies, or Removes GPS Data from Exif Data in jpeg and tiff photos. Requires ExifRead, piexif, and PIL.", "version": "2.2.3" }, "last_serial": 5388567, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "288d522bdd2e5853b169a915c773d3d2", "sha256": "6b4c19c022f8bf8f919199bc782e9068223bcec3fab1642e5bca82bea6e9d65f" }, "downloads": -1, "filename": "GPSPhoto-1.0.0.tar.gz", "has_sig": false, "md5_digest": "288d522bdd2e5853b169a915c773d3d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3012, "upload_time": "2016-10-03T04:34:47", "url": "https://files.pythonhosted.org/packages/69/f8/959d91e297f7db93ffdb9269b8dbb961cbd81a878a16614aa4fde18e1141/GPSPhoto-1.0.0.tar.gz" } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "1995398fb8cd477374525c88ec7c81e0", "sha256": "064606feac889c127fe969aa6544fb915ced74e044ebb505d009c7d70cd5ecdf" }, "downloads": -1, "filename": "GPSPhoto-1.1.7.tar.gz", "has_sig": false, "md5_digest": "1995398fb8cd477374525c88ec7c81e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3035, "upload_time": "2016-11-03T04:27:59", "url": "https://files.pythonhosted.org/packages/6f/2e/fbd0f0ef729c88308d91104c8ae852a353a7ce2624a82f09bad1630b0aa0/GPSPhoto-1.1.7.tar.gz" } ], "2.1.10": [ { "comment_text": "", "digests": { "md5": "deac2c190e4e25bea36537b130113547", "sha256": "d11e73b2eee75e1c7add2a66002f2353c64cc881a9455e102db019f783fc0fa7" }, "downloads": -1, "filename": "gpsphoto-2.1.10-py2-none-any.whl", "has_sig": false, "md5_digest": "deac2c190e4e25bea36537b130113547", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 10697, "upload_time": "2018-08-08T02:27:20", "url": "https://files.pythonhosted.org/packages/f0/15/1ae6e3308182ef38d75193840e1f58c1d1332e9bacfb30567134041a98b6/gpsphoto-2.1.10-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "669e35c5ffb664b402178dadd92e1857", "sha256": "cde589401ae263a95ea23960bb363a544b6bc7695a57166a7e36b8b42389a169" }, "downloads": -1, "filename": "gpsphoto-2.1.10-py3-none-any.whl", "has_sig": false, "md5_digest": "669e35c5ffb664b402178dadd92e1857", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10699, "upload_time": "2018-08-08T02:27:21", "url": "https://files.pythonhosted.org/packages/30/28/5546d9b2b6e533879c83a11b4c2bce39c954c3541cb77d40d796259654fa/gpsphoto-2.1.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a90d5c38ea17258c4bb74b6011eba4db", "sha256": "abebcbe41253448a3826a37bd24155ff36c7b53b0faf82e5fd12b400a3216c21" }, "downloads": -1, "filename": "gpsphoto-2.1.10.tar.gz", "has_sig": false, "md5_digest": "a90d5c38ea17258c4bb74b6011eba4db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10303, "upload_time": "2018-08-08T02:27:22", "url": "https://files.pythonhosted.org/packages/47/2a/d7649d4a50a657d14d4328eef23ed758dd39f4ebcae1fad2014ef0553acb/gpsphoto-2.1.10.tar.gz" } ], "2.1.11": [ { "comment_text": "", "digests": { "md5": "ab07fc7ddb6be697f757bb8ccbd31e8a", "sha256": "1d2f74986e327740e8288469ee4f87a141741833cb87120597e484452761d90b" }, "downloads": -1, "filename": "gpsphoto-2.1.11-py2.7.egg", "has_sig": false, "md5_digest": "ab07fc7ddb6be697f757bb8ccbd31e8a", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 19853, "upload_time": "2018-08-08T02:38:49", "url": "https://files.pythonhosted.org/packages/c4/85/344abec735f40a3659dd3feb7dd4cf34bfdc9c06eadb5aaf5dc19c3edfdd/gpsphoto-2.1.11-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "52a0d47640589da9f0eb260e17758261", "sha256": "51c7628c24f6664156c9b315c0918a0dea3710420af6d7a350e8d0a15df5ceea" }, "downloads": -1, "filename": "gpsphoto-2.1.11-py2-none-any.whl", "has_sig": false, "md5_digest": "52a0d47640589da9f0eb260e17758261", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 10689, "upload_time": "2018-08-08T02:38:46", "url": "https://files.pythonhosted.org/packages/2e/fa/45a48b4e6cc5ed6c89d4a17fd64378c2ef7726a05dbb082472e2941267f7/gpsphoto-2.1.11-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "892f36e1508d128332a5c375911c5e21", "sha256": "83781a0d0887430e4ba6574b9f127912c14bb2023fec9ff453bedb5bd916c1f3" }, "downloads": -1, "filename": "gpsphoto-2.1.11-py3.5.egg", "has_sig": false, "md5_digest": "892f36e1508d128332a5c375911c5e21", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 20072, "upload_time": "2018-08-08T02:38:50", "url": "https://files.pythonhosted.org/packages/71/55/7512f98ac20956f024d825d5e004338b61951d503d54fb51c1f31b77e192/gpsphoto-2.1.11-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "1debe18d51a420994a8b33249e19d0f1", "sha256": "ce72b94e18fe4c4d303e114f8c0deeab91358a3f14c8a95b7346f0513e985405" }, "downloads": -1, "filename": "gpsphoto-2.1.11-py3-none-any.whl", "has_sig": false, "md5_digest": "1debe18d51a420994a8b33249e19d0f1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10689, "upload_time": "2018-08-08T02:38:47", "url": "https://files.pythonhosted.org/packages/73/6a/beaef471a252a5aba4ca97b1166c681ffec0f8193832ed665c751b7961f2/gpsphoto-2.1.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0df9b9b2efab9c59fdf6ef8d8ee75309", "sha256": "4970cd1a74b3a9c66d428bc0797201382e5d6f9bb7dd61d78db20c13db55cbc1" }, "downloads": -1, "filename": "gpsphoto-2.1.11.tar.gz", "has_sig": false, "md5_digest": "0df9b9b2efab9c59fdf6ef8d8ee75309", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10302, "upload_time": "2018-08-08T02:38:51", "url": "https://files.pythonhosted.org/packages/0d/f6/d83d5cd118de31fc5717f8236ee346b73e8e99a14ec43b4c8c96c271631a/gpsphoto-2.1.11.tar.gz" } ], "2.1.6": [ { "comment_text": "", "digests": { "md5": "91995c0c0dff6ba1a36bf8eb6175c6e4", "sha256": "cf481cc6049eb077cc4696536902942d3624645c2e6e07d2a0e34218623f306d" }, "downloads": -1, "filename": "gpsphoto-2.1.6-py2-none-any.whl", "has_sig": false, "md5_digest": "91995c0c0dff6ba1a36bf8eb6175c6e4", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 10634, "upload_time": "2018-08-06T18:39:05", "url": "https://files.pythonhosted.org/packages/2e/be/ac6b6b1fe1b576f06939900260aad34035c1a14dbad322cf66eb56c933f1/gpsphoto-2.1.6-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "477767efce9a888997b7aceb7322b4c7", "sha256": "b17df5ad9310ed131286715ab897868703ad17218b2737acbeada0ac14666415" }, "downloads": -1, "filename": "gpsphoto-2.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "477767efce9a888997b7aceb7322b4c7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10633, "upload_time": "2018-08-06T18:39:06", "url": "https://files.pythonhosted.org/packages/e4/bd/a1fcfd9082fd934ed8d4914a7c4794f8b62eee978534c2edffc95531c559/gpsphoto-2.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f2cd9848cd83f339e36c26c00cf8ee09", "sha256": "75118a85f76c8dc7fbb85ea16108c3deb59b58faf43062653cdb751c69c4a57a" }, "downloads": -1, "filename": "gpsphoto-2.1.6.tar.gz", "has_sig": false, "md5_digest": "f2cd9848cd83f339e36c26c00cf8ee09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10247, "upload_time": "2018-08-06T18:39:07", "url": "https://files.pythonhosted.org/packages/ed/cd/475b27200284ff52fb897ec96954c7807acd8389cb82e5625f61b7c9a6fb/gpsphoto-2.1.6.tar.gz" } ], "2.1.8": [ { "comment_text": "", "digests": { "md5": "f5c33b430a4b2c587f6884b4bab7bcaf", "sha256": "8ccdc6d7c35e92bc3329cbbd7f3561fa75008cf7891ad895924f9f2a52818fdc" }, "downloads": -1, "filename": "gpsphoto-2.1.8-py2-none-any.whl", "has_sig": false, "md5_digest": "f5c33b430a4b2c587f6884b4bab7bcaf", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 10656, "upload_time": "2018-08-06T19:21:51", "url": "https://files.pythonhosted.org/packages/21/ca/bf17a81fd263cc8d075efca7b768e8550bf30fb898f50d2329692a0e0c22/gpsphoto-2.1.8-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "968324c5f530664cf430f12188037fa5", "sha256": "1dd26bdd474f825e2c7df77823238ceb4411e7908ec94aacb65c0ad8671eb387" }, "downloads": -1, "filename": "gpsphoto-2.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "968324c5f530664cf430f12188037fa5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10656, "upload_time": "2018-08-06T19:21:52", "url": "https://files.pythonhosted.org/packages/a7/88/452535e25cf7423f87193687266d27fcde53d1baf9a11f718e3037b632c3/gpsphoto-2.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "188d8e9b8864acfc4c30e19008de7a1b", "sha256": "bafc12d1f27344d641ec83448a6c7a87a45ef52b92d68e743bb38a458b6c7a4d" }, "downloads": -1, "filename": "gpsphoto-2.1.8.tar.gz", "has_sig": false, "md5_digest": "188d8e9b8864acfc4c30e19008de7a1b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10272, "upload_time": "2018-08-06T19:21:54", "url": "https://files.pythonhosted.org/packages/ce/59/feaa46ad15df42d6258d65c5047957a0fc7e475ef3e2e92b95e10bc22241/gpsphoto-2.1.8.tar.gz" } ], "2.1.9": [ { "comment_text": "", "digests": { "md5": "d6974dc07bb953ff9975f1c19e96c609", "sha256": "a436dd416a59f6c83f3cca9c3d355705cf75a5ae3a5e80179eab06eae4399272" }, "downloads": -1, "filename": "gpsphoto-2.1.9-py2-none-any.whl", "has_sig": false, "md5_digest": "d6974dc07bb953ff9975f1c19e96c609", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 10685, "upload_time": "2018-08-06T19:30:00", "url": "https://files.pythonhosted.org/packages/40/5c/ca0b243c40c14152820ed7bd00171354a811c141c0151d5c52353346a166/gpsphoto-2.1.9-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "233dc3700df5677c4aeaf1495c0c0265", "sha256": "d1d7082702c0518a338e9f75f6c4f8741be21cbd03e1de5b5b7db77f04b7b1d7" }, "downloads": -1, "filename": "gpsphoto-2.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "233dc3700df5677c4aeaf1495c0c0265", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10684, "upload_time": "2018-08-06T19:30:01", "url": "https://files.pythonhosted.org/packages/e3/45/7a36ddc448f7da70d6fee704c3ab542dc8fda6dea5fa9ee4456c5bc5d188/gpsphoto-2.1.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cc63f708a4c951ec5a3875ceee415a26", "sha256": "f390e3e62d115181edd02bed6a3034d4370a4f2c294d7db52a12a7d53cc9f25b" }, "downloads": -1, "filename": "gpsphoto-2.1.9.tar.gz", "has_sig": false, "md5_digest": "cc63f708a4c951ec5a3875ceee415a26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10305, "upload_time": "2018-08-06T19:30:02", "url": "https://files.pythonhosted.org/packages/ec/64/bd7e0cc985e0dcf0564f0c56ca5843190a115a5ce4d49cddab9376e90ec4/gpsphoto-2.1.9.tar.gz" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "923ee3a61c1b88d21426a49db62df898", "sha256": "3495edd78b582150cfe8e28197d27b64097102f968db1e048eb062dd6bd718a7" }, "downloads": -1, "filename": "gpsphoto-2.2.1-py2.7.egg", "has_sig": false, "md5_digest": "923ee3a61c1b88d21426a49db62df898", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 22264, "upload_time": "2018-08-08T06:25:19", "url": "https://files.pythonhosted.org/packages/7e/66/e6e2a9dd00d82fa353742bfbd65de770d9d5b574d763bb32050d01b5720a/gpsphoto-2.2.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "f1a2640ef2a6c41e6b118afb24abfe74", "sha256": "e0d95352867bd7a487ad1cd7097a8ee84ae7b95321b26faf6f61fc17d838fa42" }, "downloads": -1, "filename": "gpsphoto-2.2.1-py2-none-any.whl", "has_sig": false, "md5_digest": "f1a2640ef2a6c41e6b118afb24abfe74", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 11759, "upload_time": "2018-08-08T06:25:17", "url": "https://files.pythonhosted.org/packages/db/01/c8d5a2f9fd3c0b7b7be1cfeee1a73b58adec2b4016c30cce2e867d0437b2/gpsphoto-2.2.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fe3219f63d5771f3b2f9476fb12beef5", "sha256": "901726117d92b33404bc7e691668ca6c652fd0e60019d44ce6e19deb86b41146" }, "downloads": -1, "filename": "gpsphoto-2.2.1-py3.5.egg", "has_sig": false, "md5_digest": "fe3219f63d5771f3b2f9476fb12beef5", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 22495, "upload_time": "2018-08-08T06:25:21", "url": "https://files.pythonhosted.org/packages/1b/d4/8a95caa64625d9fc5fe118c40f6c9bbf2e147557637f4a65b2f6a6ff05ff/gpsphoto-2.2.1-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "f0539773c05ab94f5a06661e9a9f318a", "sha256": "afa8f335b5c7dbc05b30aa8a14a192e87056cada7311e700a5ab442f29f6d624" }, "downloads": -1, "filename": "gpsphoto-2.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f0539773c05ab94f5a06661e9a9f318a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11758, "upload_time": "2018-08-08T06:25:18", "url": "https://files.pythonhosted.org/packages/95/a4/f9c03e81c895ced16810fb74c6c60fcc03f0e704d223b44e180335b7b54e/gpsphoto-2.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6660888d7730e26c99d5f772f77e2fa5", "sha256": "3ab8714f1165b4c28bc5c7a6f8d3fcac69296264e43c64595184b7eacc3b2085" }, "downloads": -1, "filename": "gpsphoto-2.2.1.tar.gz", "has_sig": false, "md5_digest": "6660888d7730e26c99d5f772f77e2fa5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11534, "upload_time": "2018-08-08T06:25:22", "url": "https://files.pythonhosted.org/packages/ad/03/2a64c71ffe7376a23da547e44ee8facc39652f03a1c88a0d1fc525c66e66/gpsphoto-2.2.1.tar.gz" } ], "2.2.2": [ { "comment_text": "", "digests": { "md5": "d8b60d5c326dddddb4343efbaaf472dd", "sha256": "7bd6478e48cea35129cfa8246dbf8a62eb9b49b684ee1bca687df633e4fd920e" }, "downloads": -1, "filename": "gpsphoto-2.2.2.tar.gz", "has_sig": false, "md5_digest": "d8b60d5c326dddddb4343efbaaf472dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11607, "upload_time": "2018-10-10T03:00:14", "url": "https://files.pythonhosted.org/packages/32/37/5e6e29ff913b9f34ba6b6b09fe30f4bd0287263e2146569789ed888a5e39/gpsphoto-2.2.2.tar.gz" } ], "2.2.3": [ { "comment_text": "", "digests": { "md5": "c7e4339c2d3d404fc5e1814409907706", "sha256": "e9730d59c0c0f52637bcb3f2d82f0f99dee22e717e77c93c691a1cc73d0b849f" }, "downloads": -1, "filename": "gpsphoto-2.2.3-py2.7.egg", "has_sig": false, "md5_digest": "c7e4339c2d3d404fc5e1814409907706", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 22520, "upload_time": "2019-06-11T22:20:59", "url": "https://files.pythonhosted.org/packages/66/2b/4a938392f24c9469a63d9b99e54e37ff72e5dd44bfe351099735363d3686/gpsphoto-2.2.3-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "599d314f35a6097313a4adee1f4982b8", "sha256": "77069969ada2831c286a651af160b114d672fb0fa74b950a9c42d37771c121f9" }, "downloads": -1, "filename": "gpsphoto-2.2.3-py3.6.egg", "has_sig": false, "md5_digest": "599d314f35a6097313a4adee1f4982b8", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 22835, "upload_time": "2019-06-11T22:21:00", "url": "https://files.pythonhosted.org/packages/24/d1/0eda489a0d5badf4d421fca1a29e8713b0013fd1a588d2bb0ee70da50cd7/gpsphoto-2.2.3-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "9bb13000c4ba4a039c38c60818c36476", "sha256": "59f3a53d94796d31630922918562e67c2a3af76ce3f1b58ad66e931544bbb6a3" }, "downloads": -1, "filename": "gpsphoto-2.2.3.tar.gz", "has_sig": false, "md5_digest": "9bb13000c4ba4a039c38c60818c36476", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13458, "upload_time": "2019-06-11T22:21:02", "url": "https://files.pythonhosted.org/packages/78/7a/c32dfc4530a4120c5d95fed38d15872abfb20727f004c20d034d5f70ec17/gpsphoto-2.2.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c7e4339c2d3d404fc5e1814409907706", "sha256": "e9730d59c0c0f52637bcb3f2d82f0f99dee22e717e77c93c691a1cc73d0b849f" }, "downloads": -1, "filename": "gpsphoto-2.2.3-py2.7.egg", "has_sig": false, "md5_digest": "c7e4339c2d3d404fc5e1814409907706", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 22520, "upload_time": "2019-06-11T22:20:59", "url": "https://files.pythonhosted.org/packages/66/2b/4a938392f24c9469a63d9b99e54e37ff72e5dd44bfe351099735363d3686/gpsphoto-2.2.3-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "599d314f35a6097313a4adee1f4982b8", "sha256": "77069969ada2831c286a651af160b114d672fb0fa74b950a9c42d37771c121f9" }, "downloads": -1, "filename": "gpsphoto-2.2.3-py3.6.egg", "has_sig": false, "md5_digest": "599d314f35a6097313a4adee1f4982b8", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 22835, "upload_time": "2019-06-11T22:21:00", "url": "https://files.pythonhosted.org/packages/24/d1/0eda489a0d5badf4d421fca1a29e8713b0013fd1a588d2bb0ee70da50cd7/gpsphoto-2.2.3-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "9bb13000c4ba4a039c38c60818c36476", "sha256": "59f3a53d94796d31630922918562e67c2a3af76ce3f1b58ad66e931544bbb6a3" }, "downloads": -1, "filename": "gpsphoto-2.2.3.tar.gz", "has_sig": false, "md5_digest": "9bb13000c4ba4a039c38c60818c36476", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13458, "upload_time": "2019-06-11T22:21:02", "url": "https://files.pythonhosted.org/packages/78/7a/c32dfc4530a4120c5d95fed38d15872abfb20727f004c20d034d5f70ec17/gpsphoto-2.2.3.tar.gz" } ] }