A sunrise and sunset calculator.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
sundowner
.gitignore
.travis-requirements.txt
.travis.yml
CHANGES.txt
LICENSE.txt
MANIFEST.in
README.rst
run_server.py
setup.py

README.rst

Sundowner

https://travis-ci.org/kenners/sundowner.svg?branch=master

Sundowner is a Python3 Flask application that provides an API to return JSON objects containing Javascript timestamps of civil dawn, civil dusk, sunrise, and sunset.

It also provides a simple web app that uses this API.

Sundowner uses PyEphem to calculate astronomical parameters.

Sunrise and sunset times are calculated according to the United States Naval Observatory specifications, whereby for dawn and dusk, atmospheric refraction is estimated by setting observer pressure to zero and the horizon to 34 arcminutes below the normal horizon.

Civil dawn and dusk are when the sun is 6º below the horizon.

Sundowner is licensed under the MIT License.

Dependencies

Sundowner has the following Python3 dependencies:

  • Flask 0.10
  • ephem 3.7
  • itsdangerous 0.24
  • Jinja2 2.7.2
  • MarkupSafe 0.23
  • Werkzeug 0.9.4
  • python-dateutil 2.2

URL endpoints

Sundowner exposes the following endpoint:

  • /api/sun

Parameters

  • <lat> and <lon> are simple decimals of latitude and longitude respectively, e.g. Rothera's location is expressed as -67.57 and -68.13
  • <start> and <end> are start and end dates for the desired period, in ISO 8601 format (as produced by Javascript's .toJSON() method)
  • <output_type> is an optional parameter for the resulting datetimes, defaulting to iso for ISO 8601 format. Alternatively, use js for Javascript timestamp, or dt for a human-readable datetime.

Output

The API returns a JSON object, as follows:

{
  "days": [
    {
      "date": "2014-05-23",
      "events": {
        "civil_dawn": "2014-05-23T12:58:31.819853+00:00",
        "civil_dusk": "2014-05-23T19:59:14.923174+00:00",
        "sunrise": "2014-05-23T14:31:56.000752+00:00",
        "sunset": "2014-05-23T18:25:53.468033+00:00"
      }
    }
  ],
  "latlon": {
    "lat": "-67.57",
    "lon": "-68.13"
  }
}

Acknowledgements

Sundowner uses the following components:

Full-text copies of the above licenses may be found at: