Skip to main content

Gets moon visualizations courtesy of NASA/Ernie Wright

Project description

moon

This is a small python package that simply gets an image of a given date's moon phase. It uses numpy, opencv and Ernie Wright's moon visualizations from the Dial-a-Moon project at Nasa Visualization Studio.

This package doesn't do much other than download an image from a predefined source, but I hope it's useful for someone else out there.

At time of publishing, this package can access any of the moon visualizations from 2011-2019. I suppose the way it's set up now, it'll need an update when the end of 2019 grows closer, and perhaps I'll find a better way to set it up by then.

Installation

To install this package, just run

pip install moon

Usage

Currently, this package will return a numpy array representing the lunar phase, as well as some json of the lunar stats from the Dial-a-Moon Nasa site. This array is usable as an image using openCV, or can be saved to disk as a .jpg file.

You can test it out using terminal:

from moon.terminal_ui import TerminalUi

ui = TerminalUi()
ui.set_moon_image() #defaults to today's date
ui.show()

You can alternately test it out using Jupyter notebooks:

from moon.jupyter_ui import Jupyter

ui = JupyterUi()
ui.set_moon_image() #defaults to today's date
ui.show()

To just use it in a project, you can use it like this:

from moon.dialamoon import Moon

moon = Moon()
moon.set_moon_phase()

and access the image array itself with

moon.image

At the moment, there isn't any built in method for converting the numpy array to a Pillow image. I had this set up with Pillow originally, but it fell by the wayside when I moved over to playing around with openCV.

Updates

Please feel free to post bugs, suggestions and feature requests on this repo. Through some trial and error, I think I finally have the package as simple as possible, but I'm open to evolution. This will be my first time creating and maintaining a python package, and I am receptive to any tips or PRs as far as best-practices go.

Resources:

moon ascii art courtesy of jsg

        _..._           _..._            _..._            _..._            _..._
      .:::::::.       .::::. `.        .::::  `.        .::'   `.        .'     `.
     :::::::::::     :::::::.  :      ::::::    :      :::       :      :         :  
     :::::::::::     ::::::::  :      ::::::    :      :::       :      :         :
     `:::::::::'     `::::::' .'      `:::::   .'      `::.     .'      `.       .'
       `':::''         `'::'-'         `'::.-'           `':..-'          `-...-'

        _..._           _..._           _..._            _..._            _..._
      .'     `.       .'   `::.       .'  ::::.        .' .::::.        .:::::::.
     :         :     :       :::     :    ::::::      :  ::::::::      ::::::::::: 
     :         :     :       :::     :    ::::::      :  ::::::::      :::::::::::
     `.       .'     `.     .::'     `.   :::::'      `. '::::::'      `:::::::::'
       `-...-'         `-..:''         `-.::''          `-.::''          `':::''

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for moon, version 1.0.2
Filename, size File type Python version Upload date Hashes
Filename, size moon-1.0.2.tar.gz (4.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page