{ "info": { "author": "gaerpytz", "author_email": "support@gaerpytz.appspotmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "gaerpytz\n========\n\ngaerpytz is like gaepytz (a version of pytz that works well on Google App\nEngine) but automated so zoneinfo is up-to-date.\n\nThe problem\n-----------\n\npytz has more than 500 zoneinfo files. This many files is a problem when using\npytz on Google App Engine because \"an application is limited to 10,000 uploaded\nfiles per version\" according to the documentation.\n\nThe workaround is to package all zoneinfo files in a zip archive. gae-pytz is\nthe most well-known example of this approach but it has not been updated in a\nlong time.\n\nThe solution\n------------\n\ngaerpytz uses the same idea and makes 2 changes to pytz:\n\n- Package all zoneinfo files in zoneinfo.zip\n- Modify __init__.py to read from zoneinfo.zip\n\nJust download the modified code and put it in your ``pytz`` directory. **You\ndon't need to change the code that uses pytz.** (The package name gaerpytz is\nsuperficial and the package structure has not been changed.)\n\n- Import the package with ``import pytz``\n- Use it like you would pytz\n\nIn practice, gaerpytz runs slightly slower due to the zip file.\n\nSo what? You can do this yourself, right?\n-----------------------------------------\n\nTime zones are magic (change frequently based on local laws), so pytz is\nupdated often. Applying these modifications to every new pytz release is\ntedious. This is why you see many out-of-date or abandoned packages that patch\npytz on PyPI.\n\ngaerpytz takes people out of the process. **gaerpytz watches pytz. When a new\nversion of pytz is released, gaerpytz automatically fetches a copy and builds\nitself.** This is what makes gaerpytz Google App Engine *-r* than the pytz\npatches that came before.\n\nYou can view the code directly at\n`https://gaerpytz.appspot.com/ `_.\n\n*Even if you don't use the code, please help me by contributing location data\nto the time zone database. Thank you!*", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gaerpytz.appspot.com/", "keywords": "timezone tzinfo datetime olson time", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "gaerpytz", "package_url": "https://pypi.org/project/gaerpytz/", "platform": "any", "project_url": "https://pypi.org/project/gaerpytz/", "project_urls": { "Homepage": "https://gaerpytz.appspot.com/" }, "release_url": "https://pypi.org/project/gaerpytz/2019.1/", "requires_dist": null, "requires_python": "", "summary": "gaerpytz is like gaepytz (a version of pytz that works well on Google App Engine) but automated so zoneinfo is up-to-date.", "version": "2019.1" }, "last_serial": 5851617, "releases": { "2014.10": [ { "comment_text": "", "digests": { "md5": "bd1287a89eb4d2d203eb676211402d54", "sha256": "0bb6f36dcc4992f0eca31a14cd32414c1b3ddd8d027422dcc28a2bcd8b0c8a45" }, "downloads": -1, "filename": "gaerpytz-2014.10.zip", "has_sig": false, "md5_digest": "bd1287a89eb4d2d203eb676211402d54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 229995, "upload_time": "2015-04-01T02:17:36", "url": "https://files.pythonhosted.org/packages/8e/c1/80c345c4a7888370b563a16bbc515447bd3f8ec4702259635fae386c9c98/gaerpytz-2014.10.zip" } ], "2015.2": [ { "comment_text": "", "digests": { "md5": "ebd6a9cc3fdd045ca90756cea4b0432b", "sha256": "41514e2a7c7fec131a09b45c513c1c7ffb7730881e05ad315f98016b326ae414" }, "downloads": -1, "filename": "gaerpytz-2015.2.zip", "has_sig": false, "md5_digest": "ebd6a9cc3fdd045ca90756cea4b0432b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 230431, "upload_time": "2015-04-15T21:58:49", "url": "https://files.pythonhosted.org/packages/ad/fa/0c140eab6c7221d6a63e39a38771075a5959c2bf654c4eddd1f9d53e2fd8/gaerpytz-2015.2.zip" } ], "2015.4": [ { "comment_text": "", "digests": { "md5": "955d9f24c8ea4220678ce363d0610ecb", "sha256": "50bafdfeb7e0c4add25e69818ea3ffc813551482565b995b35a1b41f2de58451" }, "downloads": -1, "filename": "gaerpytz-2015.4.zip", "has_sig": false, "md5_digest": "955d9f24c8ea4220678ce363d0610ecb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 226543, "upload_time": "2015-05-28T01:22:32", "url": "https://files.pythonhosted.org/packages/89/fc/2c00d4a786291afd18d107440b9bb316cbcf3b1013a23d96de8517cd6de6/gaerpytz-2015.4.zip" } ], "2015.6": [ { "comment_text": "", "digests": { "md5": "cf2b80e37ed87005b7d11747434b4bfa", "sha256": "518d2eb9f86e0fcdb7f94f4fad86d15a83f6ccf020495406b9d89740e0687910" }, "downloads": -1, "filename": "gaerpytz-2015.6.zip", "has_sig": false, "md5_digest": "cf2b80e37ed87005b7d11747434b4bfa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 226420, "upload_time": "2015-11-05T01:26:33", "url": "https://files.pythonhosted.org/packages/82/d0/875e03c7a9420acf8e589b40ffe2d038c3026a533481a5cddb182dcc1232/gaerpytz-2015.6.zip" } ], "2015.7": [ { "comment_text": "", "digests": { "md5": "bd9cae73d295b661ca06f047e693dbcf", "sha256": "6094b70c79c6b552538fdd2a37a21bbb57cffe9f4d24fdcc75a77a55dff7ba0e" }, "downloads": -1, "filename": "gaerpytz-2015.7.zip", "has_sig": false, "md5_digest": "bd9cae73d295b661ca06f047e693dbcf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 227053, "upload_time": "2016-01-18T00:16:37", "url": "https://files.pythonhosted.org/packages/f8/d0/4f07f937cd1d809adb7152f31db8cdbecc11f41885df9fd0ebbb50c76692/gaerpytz-2015.7.zip" } ], "2016.1": [ { "comment_text": "", "digests": { "md5": "62b7cadd59c06f170f73b823f7c53e1c", "sha256": "014a58bb8d595031d1cd714cd02b7c2f7f35c4923779eb8f2b097449e6b5f7ba" }, "downloads": -1, "filename": "gaerpytz-2016.1.zip", "has_sig": false, "md5_digest": "62b7cadd59c06f170f73b823f7c53e1c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 231317, "upload_time": "2016-04-04T14:07:09", "url": "https://files.pythonhosted.org/packages/83/2c/2efe32b5c04f37bb9ad7d275dd8fa99c8a5b5212bd3763fe8ca5d4a20fa9/gaerpytz-2016.1.zip" } ], "2016.10": [ { "comment_text": "", "digests": { "md5": "313d871d31f99c9e8f22e984d6d9e6cd", "sha256": "0666f0a8a9bb9c6a85381758f0bdaa305f649289a23ef2465a4f81a795c5d577" }, "downloads": -1, "filename": "gaerpytz-2016.10.zip", "has_sig": false, "md5_digest": "313d871d31f99c9e8f22e984d6d9e6cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 233019, "upload_time": "2017-04-28T15:42:22", "url": "https://files.pythonhosted.org/packages/f0/ed/76a5e6726b3be37e8350cc3d2fc6aa79226642c5ebba557557053d2b11e1/gaerpytz-2016.10.zip" } ], "2016.2": [ { "comment_text": "", "digests": { "md5": "a6526cee69f2b516bb91a162c6192e81", "sha256": "5f61d9f657c9559cc7d2b90f2e0ef3bc7322063b3507f9fa06bc0d6d209890ba" }, "downloads": -1, "filename": "gaerpytz-2016.2.zip", "has_sig": false, "md5_digest": "a6526cee69f2b516bb91a162c6192e81", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 231871, "upload_time": "2016-04-11T13:22:50", "url": "https://files.pythonhosted.org/packages/ce/f7/a9241fd73187b8f72fc87931f84c2f98321715ead47a84d13208cf7e27a1/gaerpytz-2016.2.zip" } ], "2016.3": [ { "comment_text": "", "digests": { "md5": "7e8dbced5cb2cade8b06be081bbeddb1", "sha256": "cbda725eeef1fe50031f095f817b12a160bb8ec050d4be3a4347b3d902a01fa8" }, "downloads": -1, "filename": "gaerpytz-2016.3.zip", "has_sig": false, "md5_digest": "7e8dbced5cb2cade8b06be081bbeddb1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 232867, "upload_time": "2016-04-18T12:27:00", "url": "https://files.pythonhosted.org/packages/1e/93/aaa0e464b02640ede62ff4c0641a58bb30c157ed92b557acc6dc672e7747/gaerpytz-2016.3.zip" } ], "2016.4": [ { "comment_text": "", "digests": { "md5": "3af0c114611d7754e36acf442370a249", "sha256": "5d0529e310b1b71ece5e608d5121452673eeec459c85da7a5cdd295c5407cb0e" }, "downloads": -1, "filename": "gaerpytz-2016.4.zip", "has_sig": false, "md5_digest": "3af0c114611d7754e36acf442370a249", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 233036, "upload_time": "2016-08-01T16:17:20", "url": "https://files.pythonhosted.org/packages/b7/cf/fab7dcb70ba6ec8af94acce3353249ef8f6eafe01cb02efa2593abed2a30/gaerpytz-2016.4.zip" } ], "2016.6.1": [ { "comment_text": "", "digests": { "md5": "d93d82f110a9c20161da3c3469d9afa7", "sha256": "e2a16189be3a0644d41e9a41d00ab0dd7835d2167842c7e529dabdd4dc5f3974" }, "downloads": -1, "filename": "gaerpytz-2016.6.1.zip", "has_sig": false, "md5_digest": "d93d82f110a9c20161da3c3469d9afa7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 233125, "upload_time": "2016-10-24T03:20:58", "url": "https://files.pythonhosted.org/packages/9b/e5/6253afc3c959f942d0d78721e5a8c3a32b7987f07c463e4b7a94b1af01fe/gaerpytz-2016.6.1.zip" } ], "2016.7": [ { "comment_text": "", "digests": { "md5": "58221121e2e343c144904b060a94969e", "sha256": "6e6d65e91e08544b258fbcdc21d765d3c6c1be005ce55ee7d6fb3b03df909e80" }, "downloads": -1, "filename": "gaerpytz-2016.7.zip", "has_sig": false, "md5_digest": "58221121e2e343c144904b060a94969e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 231801, "upload_time": "2016-12-20T00:29:45", "url": "https://files.pythonhosted.org/packages/24/61/2c0b0204260d687c0afa828c4169bc94204d3383067f5e249dfe30777eb2/gaerpytz-2016.7.zip" } ], "2017.2": [ { "comment_text": "", "digests": { "md5": "3fe38828e6516934dfe68a2513efda88", "sha256": "8cdea92cb28e22a8c38afd42ec5f7b2927276e2ac978ad7a2c06cd3a68427975" }, "downloads": -1, "filename": "gaerpytz-2017.2.zip", "has_sig": false, "md5_digest": "3fe38828e6516934dfe68a2513efda88", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 232831, "upload_time": "2018-01-31T17:07:24", "url": "https://files.pythonhosted.org/packages/92/5a/4f963cadbfe65afed19577200e92c89c45bbcdb1ec5c0dbc916186031e77/gaerpytz-2017.2.zip" } ], "2017.3": [ { "comment_text": "", "digests": { "md5": "1ee7c2ce5e51e7bc00278b9030fe9373", "sha256": "78f0e096558a6251e0e27d443e4d0e5e5551d22015cc407df590c7b61740347e" }, "downloads": -1, "filename": "gaerpytz-2017.3.zip", "has_sig": false, "md5_digest": "1ee7c2ce5e51e7bc00278b9030fe9373", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 263054, "upload_time": "2018-04-10T20:46:15", "url": "https://files.pythonhosted.org/packages/0f/74/6ffe02eb0fc9a18aaacd9e9b090fb1754be2dd044cca317b039d028fcd3b/gaerpytz-2017.3.zip" } ], "2018.3": [ { "comment_text": "", "digests": { "md5": "8cd7728f4548327d72a598c08d283d2b", "sha256": "9a8b3735dcc895424bd38e37e5ebe6fcc2585e312de325e11c1f85061db1c25e" }, "downloads": -1, "filename": "gaerpytz-2018.3.zip", "has_sig": false, "md5_digest": "8cd7728f4548327d72a598c08d283d2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 262228, "upload_time": "2018-07-03T04:51:34", "url": "https://files.pythonhosted.org/packages/6b/41/d7b356fc98836ae91c6fcd153f7703b5ffd4e75a3990ee8ca88d2f9c666e/gaerpytz-2018.3.zip" } ], "2018.4": [ { "comment_text": "", "digests": { "md5": "f30a046108c55cbb817e2d5ce5013f22", "sha256": "37f3b634b621d656357725d2e864c1a910dbd9ceec80b1a0fa2b0b2d494428cc" }, "downloads": -1, "filename": "gaerpytz-2018.4.zip", "has_sig": false, "md5_digest": "f30a046108c55cbb817e2d5ce5013f22", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 256374, "upload_time": "2018-08-15T16:53:23", "url": "https://files.pythonhosted.org/packages/2e/ae/278dc122041463a9122efd1a97f80313d0cc303856066e9b589c1ce6414e/gaerpytz-2018.4.zip" } ], "2018.5": [ { "comment_text": "", "digests": { "md5": "cce5a82b7fd0d1f472dd4dadb1bcb631", "sha256": "b7d90075a0ae203c5d451d8150fadceeb0b5db554761df8da48b74a2cecc7299" }, "downloads": -1, "filename": "gaerpytz-2018.5.zip", "has_sig": false, "md5_digest": "cce5a82b7fd0d1f472dd4dadb1bcb631", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 268558, "upload_time": "2018-10-15T17:53:05", "url": "https://files.pythonhosted.org/packages/93/79/870493c220a9ba73235aa04031bf2e8d7cbe8919523c324b230f5db576f9/gaerpytz-2018.5.zip" } ], "2018.6": [ { "comment_text": "", "digests": { "md5": "2898059de1e2e63b57f03b62ce6fa7aa", "sha256": "18617a05e3c7db8db99a144c2daf3e7c702c6ea46a1fc9c625f70202d652773e" }, "downloads": -1, "filename": "gaerpytz-2018.6.zip", "has_sig": false, "md5_digest": "2898059de1e2e63b57f03b62ce6fa7aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 257871, "upload_time": "2018-11-26T20:23:27", "url": "https://files.pythonhosted.org/packages/a8/5d/74005173525eb2be46e2c81c1d2f8b8d5f825b0d8a5efcf9a881e0008343/gaerpytz-2018.6.zip" } ], "2018.7": [ { "comment_text": "", "digests": { "md5": "efd5cf1c93fa478a50543063980c8169", "sha256": "0ec96c6f9d8c798ed59d58d7ee38333eabd21ec632c848c68cb3433cac9323f5" }, "downloads": -1, "filename": "gaerpytz-2018.7.zip", "has_sig": false, "md5_digest": "efd5cf1c93fa478a50543063980c8169", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 255006, "upload_time": "2019-01-21T18:50:29", "url": "https://files.pythonhosted.org/packages/1a/89/5607da420d39f91655d7cbac8c8680b193449975d690c8f75111f10ab7af/gaerpytz-2018.7.zip" } ], "2018.9": [ { "comment_text": "", "digests": { "md5": "cdda07c4f795885001c287a3595ad498", "sha256": "d18305dc7a1379720fddac06cb8e84f60f7b72752a811fa65f4e3f8fd3381f93" }, "downloads": -1, "filename": "gaerpytz-2018.9.zip", "has_sig": false, "md5_digest": "cdda07c4f795885001c287a3595ad498", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 261743, "upload_time": "2019-04-08T16:21:40", "url": "https://files.pythonhosted.org/packages/80/5a/db758da5745da906fe6642f47dec310d94a86331a8a3ca7e04ba67f3eba0/gaerpytz-2018.9.zip" } ], "2019.1": [ { "comment_text": "", "digests": { "md5": "ac4379d20effec963eafc9436b6e3a82", "sha256": "27c296e25f4ab31ce060ff11719fb63fd73b05ffc9484bc234ced116dee9d2f6" }, "downloads": -1, "filename": "gaerpytz-2019.1.zip", "has_sig": false, "md5_digest": "ac4379d20effec963eafc9436b6e3a82", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 262780, "upload_time": "2019-09-18T17:37:15", "url": "https://files.pythonhosted.org/packages/4f/71/e5daf66ec282cfa7177cc9e3b65cb1187526de854674743be497237767fb/gaerpytz-2019.1.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ac4379d20effec963eafc9436b6e3a82", "sha256": "27c296e25f4ab31ce060ff11719fb63fd73b05ffc9484bc234ced116dee9d2f6" }, "downloads": -1, "filename": "gaerpytz-2019.1.zip", "has_sig": false, "md5_digest": "ac4379d20effec963eafc9436b6e3a82", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 262780, "upload_time": "2019-09-18T17:37:15", "url": "https://files.pythonhosted.org/packages/4f/71/e5daf66ec282cfa7177cc9e3b65cb1187526de854674743be497237767fb/gaerpytz-2019.1.zip" } ] }