{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [], "description": "===========\nSundowner\n===========\n\n.. image:: https://travis-ci.org/kenners/sundowner.svg?branch=master\n :target: https://travis-ci.org/kenners/sundowner\n\nSundowner is a Python3 Flask application that provides an API to return JSON\nobjects containing Javascript timestamps of civil dawn, civil dusk, sunrise,\nand sunset.\n\nIt also provides a simple web app that uses this API.\n\nSundowner uses `PyEphem `_ to calculate\nastronomical parameters.\n\nSunrise and sunset times are calculated according to the United States Naval\nObservatory specifications, whereby for dawn and dusk, atmospheric refraction is estimated by setting\nobserver pressure to zero and the horizon to 34 arcminutes below the normal\nhorizon.\n\nCivil dawn and dusk are when the sun is 6\u00ba below the horizon.\n\nSundowner is licensed under the MIT License.\n\nDependencies\n============\n\nSundowner has the following Python3 dependencies:\n\n* Flask 0.10\n* ephem 3.7\n* itsdangerous 0.24\n* Jinja2 2.7.2\n* MarkupSafe 0.23\n* Werkzeug 0.9.4\n* python-dateutil 2.2\n\nURL endpoints\n=============\n\nSundowner exposes the following endpoint:\n\n* ``/api/sun``\n\nParameters\n----------\n\n* ```` and ```` are simple decimals of latitude and longitude respectively,\n e.g. Rothera's location is expressed as -67.57 and -68.13\n* ```` and ```` are start and end dates for the desired period, in ISO 8601\n format (as produced by Javascript's ``.toJSON()`` method)\n* ```` is an optional parameter for the resulting datetimes,\n defaulting to ``iso`` for ISO 8601 format. Alternatively, use ``js``\n for Javascript timestamp, or ``dt`` for a human-readable datetime.\n\nOutput\n======\n\nThe API returns a JSON object, as follows::\n\n {\n \"days\": [\n {\n \"date\": \"2014-05-23\",\n \"events\": {\n \"civil_dawn\": \"2014-05-23T12:58:31.819853+00:00\",\n \"civil_dusk\": \"2014-05-23T19:59:14.923174+00:00\",\n \"sunrise\": \"2014-05-23T14:31:56.000752+00:00\",\n \"sunset\": \"2014-05-23T18:25:53.468033+00:00\"\n }\n }\n ],\n \"latlon\": {\n \"lat\": \"-67.57\",\n \"lon\": \"-68.13\"\n }\n }\n\nAcknowledgements\n================\n\nSundowner uses the following components:\n\n* Bootstrap v3.1.1 (http://getbootstrap.com)\n Licensed under the MIT License. (c) 2011-2014 Twitter, Inc\n* HTML5 Shiv v3.7.0 (https://github.com/aFarkas/html5shiv)\n Licensed under the MIT License.\n* jQuery v1.11.0 (http://jquery.org)\n Licensed under the MIT License. (c) 2005, 2014 jQuery Foundation, Inc.\n* moment.js v2.6.0 (http://momentjs.com)\n Licensed under the MIT License. (c) 2011-2014 Tim Wood, Iskren Chernev,\n and Moment.js contributors\n* Respond.js v1.4.2 (https://github.com/scottjehl/Respond)\n Licensed under the MIT License. (c) 2013 Scott Jehl\n* bootstrap-datepicker v1.3.0 (http://eternicode.github.io/bootstrap-datepicker)\n Licensed under the Apache 2.0 License.\n\nFull-text copies of the above licenses may be found at:\n\n* http://opensource.org/licenses/MIT\n* http://opensource.org/licenses/Apache-2.0\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "Sundowner", "package_url": "https://pypi.org/project/Sundowner/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Sundowner/", "project_urls": null, "release_url": "https://pypi.org/project/Sundowner/0.2/", "requires_dist": null, "requires_python": "", "summary": "", "version": "0.2" }, "last_serial": 1803556, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "d2028255ae1bd9abc7d58251c0d5a369", "sha256": "d47d8964ff8fccf494bd3d4fc64c73272083b3569f49b7c206bdfe884b021ad6" }, "downloads": -1, "filename": "Sundowner-0.1.1.tar.gz", "has_sig": false, "md5_digest": "d2028255ae1bd9abc7d58251c0d5a369", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1160501, "upload_time": "2014-06-10T23:03:21", "url": "https://files.pythonhosted.org/packages/05/6b/988d3e7917f644dafb03b024c0d8311d66d0af8fcdf13312ea7278b8ce17/Sundowner-0.1.1.tar.gz" } ], "0.1.2": [], "0.1.4": [ { "comment_text": "", "digests": { "md5": "9e5e8c07d62fa10407174975dfd95a2d", "sha256": "9fba3cf0f2c96ff1d28c3c6d47b71baf7c50f6740b1af8ed086df8ec4be9d340" }, "downloads": -1, "filename": "Sundowner-0.1.4.tar.gz", "has_sig": false, "md5_digest": "9e5e8c07d62fa10407174975dfd95a2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1163277, "upload_time": "2014-06-18T21:05:09", "url": "https://files.pythonhosted.org/packages/d4/d0/3ba1b177e1cc4816f1c0174a62828221d58f127945364496eb42c79b2273/Sundowner-0.1.4.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "af02b31f2b28b942984c673aa71f6a9a", "sha256": "2ff61b04d0bed3c20627e4f87b931959d25d73da5baa9664206a5116015917c4" }, "downloads": -1, "filename": "Sundowner-0.2.tar.gz", "has_sig": false, "md5_digest": "af02b31f2b28b942984c673aa71f6a9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 969096, "upload_time": "2015-11-05T22:31:30", "url": "https://files.pythonhosted.org/packages/fd/bb/4f415009c3b9a65ac004d68b0efc1342b8f8766486298677ca990c3d5bb3/Sundowner-0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "af02b31f2b28b942984c673aa71f6a9a", "sha256": "2ff61b04d0bed3c20627e4f87b931959d25d73da5baa9664206a5116015917c4" }, "downloads": -1, "filename": "Sundowner-0.2.tar.gz", "has_sig": false, "md5_digest": "af02b31f2b28b942984c673aa71f6a9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 969096, "upload_time": "2015-11-05T22:31:30", "url": "https://files.pythonhosted.org/packages/fd/bb/4f415009c3b9a65ac004d68b0efc1342b8f8766486298677ca990c3d5bb3/Sundowner-0.2.tar.gz" } ] }