Fast command-line application to show the moon phase

Overview

moon-phases

Command-line application to show the moon phase for a given date and time, as a text string, emoji, or numeric value. It can also show the moon sign.

Designed to be fast, for use in window manager bars, shell prompts and the like. (On a raspberry pi 4, latency has been under 10ms for all modes; on a modern desktop, under 1.5ms.)

Based on the Schaefer algorithm as implemented by Fallen4Eyes's crate moon-phase. Accepts dates in any format from crate human-date-parser, such as:

  • "2023-10-31"
  • "2023-10-31 13:12:00"
  • "Friday"
  • "next Friday"
  • "in a month"
  • "a year ago"

Includes an option to set Unicode variation characters for colour emoji or monochrome text. See --help for documentation.

Examples

$ moon-phases
Waning Gibbous
$ moon-phases 2023-10-31
Full
$ moon-phases --emoji  # color or monochrome left for system to decide
πŸŒ•
$ moon-phases --text-emoji # displays as monochrome in browsers etc.
πŸŒ•οΈŽ
$ moon-phases --face-emoji "in 7 days"
🌜
$ moon-phases --numeric
0.60
$ moon-phases --numeric "next Friday"
0.94
$ moon-phases --zodiac
Taurus
$ moon-phases --zodiac --emoji
♉

TODO

  • Calendar display
  • Translations for moon phase names

BUGS

Panicking when passed dates out of range rather than gracefully exiting (reported to human-date-parser technologicalMayhem/human-date-parser#1 )

You might also like...
A command line application which sets your wall paper with new image generating pollens once they arrive.

pollenwall Table of Contents pollenwall About Installation Binary releases Build from source Usage Command Line Arguments Running as a service MacOS L

This is a simple command line application to convert bibtex to json written in Rust and Python

bibtex-to-json This is a simple command line application to convert bibtex to json written in Rust and Python. Why? To enable you to convert very big

omekasy is a command line application that converts alphanumeric characters in your input to various styles defined in Unicode.

omekasy is a command line application that converts alphanumeric characters in your input to various styles defined in Unicode. omekasy means "dress up" in Japanese.

Command-line HTTP client for sending a POST request to specified URI on each stdin line.

line2httppost Simple tool to read lines from stdin and post each line as separate POST request to a specified URL (TCP connection is reused though). G

A simple program to show a histogram on the terminal.

A simple program to show a histogram on the terminal.

Show unused code from multi-crate Rust projects

Warnalyzer Remove unused code from multi-crate Rust projects. The dead_code lint family of rustc is limited to one crate only and thus can't tell whet

Show active TCP connections on a TUI world map.
Show active TCP connections on a TUI world map.

Maperick Show active TCP connections on a TUI world map. Still WIP, but it's gonna be good. Setup git clone [email protected]:schlunsen/maperick.git cd m

πŸ‘‘ Show in-organization ranking of GitHub activities such as review count.

gh-ranking Show in-organization ranking of GitHub activities such as review count. Installation gh extension install yukukotani/gh-ranking Usage USAG

🎨✨ Show off your soothing color palette
🎨✨ Show off your soothing color palette

🎨 Show off your soothing color palette ✨ Palettes Β· install Β· contribute Β· Gratitute 🎨 Palettes Rust C Lua Ruby Go sh js πŸš€ install Installing this

Owner
mirrorwitch
ACAB :: BLM :: bash back
mirrorwitch
syd: siderial and moon tracker

This is code based on the 'minimal' template ca. 2022Q1 (RTIC 1.0). It drives a siderial tracker for the northern hemisphere that can run at three different speeds. It runs on a bluepill (stm32f103).

null 1 Feb 8, 2022
belt is a command line app that can show your time from a list of selected time zones

A CLI app to show your time from a list of selected time zones, and a rust lib to parse dates in string formats that are commonly used.

Rollie Ma 23 Nov 4, 2022
Show HTML content "inside" your egui rendered application

hframe Show HTML content "inside" your egui rendered application. "hframe" stands for "HTML Frame". Note: hframe only works when the application is co

Franco Profeti 3 Feb 26, 2024
A robust, customizable, blazingly-fast, efficient and easy-to-use command line application to uwu'ify your text!

uwuifyy A robust, customizable, blazingly-fast, efficient and easy-to-use command line application to uwu'ify your text! Logo Credits: Jade Nelson Tab

Hamothy 43 Dec 12, 2022
Small command-line tool to switch monitor inputs from command line

swmon Small command-line tool to switch monitor inputs from command line Installation git clone https://github.com/cr1901/swmon cargo install --path .

William D. Jones 5 Aug 20, 2022
🚩 Show sensitive command summary when open a new terminal

?? Show sensitive command summary when open a new terminal ?? Clear sensitive commands from shell history ?? Stash your history command before present

Rusty Ferris Club 161 Dec 26, 2022
A small command-line application to view images from the terminal written in Rust.

A small command-line application to view images from the terminal written in Rust. It is basically the front-end of viuer

Atanas Yankov 1.9k Jan 3, 2023
A tool crate to quickly build rust command line application.

Falsework A tool crate to quickly build rust command line application.

Leon Ding 103 Dec 12, 2022
Command line application for searching

maven_search_rs Command line application for searching in https://search.maven.org Usage Non-interactive $ maven-search -f maven wicket-core The abov

Martin Grigorov 1 Nov 5, 2021
Application microframework with command-line option parsing, configuration, error handling, logging, and shell interactions

Abscissa is a microframework for building Rust applications (either CLI tools or network/web services), aiming to provide a large number of features w

iqlusion 524 Dec 26, 2022