{"id":13495456,"url":"https://github.com/genuinetools/weather","last_synced_at":"2025-05-15T04:04:27.141Z","repository":{"id":18599014,"uuid":"21803829","full_name":"genuinetools/weather","owner":"genuinetools","description":"Weather via the command line.","archived":false,"fork":false,"pushed_at":"2023-03-29T08:38:02.000Z","size":4239,"stargazers_count":961,"open_issues_count":12,"forks_count":109,"subscribers_count":28,"default_branch":"master","last_synced_at":"2025-04-14T04:59:30.615Z","etag":null,"topics":["cli","darksky","go","weather"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/genuinetools.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2014-07-14T01:29:48.000Z","updated_at":"2025-04-10T23:05:32.000Z","dependencies_parsed_at":"2023-07-14T08:03:46.845Z","dependency_job_id":null,"html_url":"https://github.com/genuinetools/weather","commit_stats":{"total_commits":160,"total_committers":38,"mean_commits":"4.2105263157894735","dds":0.73125,"last_synced_commit":"9ee5d981f2dcc6a2d26a44d664c4aec8ead21b5e"},"previous_names":["jfrazelle/weather","jessfraz/weather"],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genuinetools%2Fweather","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genuinetools%2Fweather/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genuinetools%2Fweather/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/genuinetools%2Fweather/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/genuinetools","download_url":"https://codeload.github.com/genuinetools/weather/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254270641,"owners_count":22042858,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","darksky","go","weather"],"created_at":"2024-07-31T19:01:34.946Z","updated_at":"2025-05-15T04:04:27.098Z","avatar_url":"https://github.com/genuinetools.png","language":"Go","readme":"# weather\n\n[![make-all](https://github.com/genuinetools/weather/workflows/make%20all/badge.svg)](https://github.com/genuinetools/weather/actions?query=workflow%3A%22make+all%22)\n[![make-image](https://github.com/genuinetools/weather/workflows/make%20image/badge.svg)](https://github.com/genuinetools/weather/actions?query=workflow%3A%22make+image%22)\n[![GoDoc](https://img.shields.io/badge/godoc-reference-5272B4.svg?style=for-the-badge)](https://godoc.org/github.com/genuinetools/weather)\n[![Github All Releases](https://img.shields.io/github/downloads/genuinetools/weather/total.svg?style=for-the-badge)](https://github.com/genuinetools/weather/releases)\n\nWeather via the command line. Uses the [darksky.net](https://darksky.net) API so it's super accurate. Also includes any current weather alerts in the output.\n\n![Screenshot](screenshot.png)\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n**Table of Contents**\n\n- [Installation](#installation)\n    - [Binaries](#binaries)\n    - [Via Go](#via-go)\n    - [Via Homebrew](#via-homebrew)\n- [Usage](#usage)\n  - [Examples](#examples)\n- [Running the Server](#running-the-server)\n    - [Usage](#usage-1)\n    - [Running with Docker](#running-with-docker)\n- [Contributing](#contributing)\n    - [Makefile Usage](#makefile-usage)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n## Installation\n\n#### Binaries\n\nFor installation instructions from binaries please visit the [Releases Page](https://github.com/genuinetools/weather/releases).\n\n#### Via Go\n\n```console\n$ go get github.com/genuinetools/weather\n```\n\n#### Via Homebrew\n\n```console\n$ brew install darksky-weather\n```\n\n## Usage\n\n```console\n$ weather -h\nweather -  Weather forecast via the command line.\n\nUsage: weather \u003ccommand\u003e\n\nFlags:\n\n  -c              Get location for the ssh client (shorthand) (default: false)\n  -client         Get location for the ssh client (default: false)\n  -d              No. of days to get forecast (shorthand) (default: 0)\n  -days           No. of days to get forecast (default: 0)\n  -hide-icon      Hide the weather icons from being output (default: false)\n  -ignore-alerts  Ignore alerts in weather output (default: false)\n  -l              Location to get the weather (shorthand) (default: \u003cnone\u003e)\n  -location       Location to get the weather (default: \u003cnone\u003e)\n  -no-forecast    Hide the forecast for the next 16 hours (default: false)\n  -s              Weather API server uri (shorthand) (default: https://geocode.jessfraz.com)\n  -server         Weather API server uri (default: https://geocode.jessfraz.com)\n  -u              System of units (shorthand) (e.g. auto, us, si, ca, uk2) (default: auto)\n  -units          System of units (e.g. auto, us, si, ca, uk2) (default: auto)\n\nCommands:\n\n  version  Show the version information.\n```\n\n### Examples\n\n```bash\n# get the current weather in your current location\n$ weather\n\n# change the units to metric\n$ weather -l \"Paris, France\" -u si\n\n# it will auto guess the units though so changing\n# the location to paris will change the units to `si`\n$ weather -l \"Paris, France\"\n\n# get three days forecast for NY\n$ weather -l 10028 -d 3\n\n# or you can autolocate and get three days forecast\n$ weather -d 3\n\n# get the weather in Manhattan Beach, CA\n# even includes alerts\n$ weather -l \"Manhattan Beach, CA\"\n#                             .;odc\n#                           ;kXNNNO\n#                         .0NNO0NN:\n#                        'XNK; dNNl\n#                        KNX'  'XNK.\n#                       ,NNk    cXNK,\n#                       ,NNk     '0NNO:.\n#                     .'cXNXl;,.   ,xXNNKOxxxk0Xx\n#                 'lOXNNNNNNNNNNXOo'  ':oxkOXNNXc\n#               cKNNKd:'.    ..;d0NNKl    ,xXNK,\n#        .;:cclKNXd.              .oXNXxOXNNXl\n#    .cOXNNNNNNNO.                  .kNNNNNNNXOc.\n#   lXNXx;.    .                      .    .;dXNXo\n#  ONNd.                                       oXN0.\n# dNNo                                          cNNk\n# XNN.                                           NNX\n# 0NN'                                          .NNK\n# ;XN0.                                        .ONNc\n#  ;XNXo.                                    .lXNX:\n#   .oXNX0dlcclx0Xo.              .oXKxlccldOXNXd.\n#      ,lk0KXXK0xKNN0o;..    ..;o0NNKx0KXXX0ko,\n#                 'lOXNNNNNNNNNNXOo,\n#                     :x0XNNX0x:.\n#\n#\n# Current weather is Partly Cloudy in Manhattan Beach in California for July 14 at 4:14am EDT\n# The temperature is 69.2°F, but it feels like 69.2°F\n#\n# Special Weather Statement for Los Angeles, CA\n# ...THREAT OF MONSOONAL THUNDERSTORMS LATE TONIGHT THROUGH WEDNESDAY...\n# A STRONG UPPER LEVEL HIGH PRESSURE SYSTEM CURRENTLY CENTERED OVER NEVADA\n# WILL BRING INCREASING EAST TO SOUTHEAST FLOW OVER SOUTHERN\n# CALIFORNIA. AS A RESULT...A SIGNIFICANT SURGE OF MONSOONAL MOISTURE\n# WILL MOVE INTO SOUTHWEST CALIFORNIA LATE TONIGHT THROUGH WEDNESDAY.\n# THE GREATEST THREAT OF SHOWERS AND THUNDERSTORMS WILL BE ACROSS THE\n# MOUNTAINS AND ANTELOPE VALLEY LATE TONIGHT INTO TUESDAY. DUE TO THE\n# EASTERLY UPPER LEVEL FLOW ON MONDAY...THERE WILL ALSO BE A SLIGHT\n# CHANCE OF SHOWERS AND THUNDERSTORMS ACROSS MOST COASTAL AND VALLEY\n# AREAS.\n# THE DEEPER MONSOONAL MOISTURE WILL BRING THE POTENTIAL FOR BRIEF HEAVY\n# RAINFALL WITH STORMS THAT DEVELOP ON MONDAY AND TUESDAY...ESPECIALLY\n# ACROSS THE MOUNTAINS AND ANTELOPE VALLEY. WHILE STORMS ARE EXPECTED\n# TO BE FAST MOVING...THERE WILL BE THE POTENTIAL FOR LOCALIZED FLOODING\n# OF ROADWAYS AND ARROYOS. ON TUESDAY...THE THREAT OF THUNDERSTORMS IS\n# EXPECTED TO REMAIN CONFINED TO THE MOUNTAINS AND DESERTS. WITH WEAKER\n# UPPER LEVEL WINDS ON TUESDAY...STORMS WILL LIKELY MOVE SLOWER. AS A\n# RESULT...THERE WILL BE AN INCREASED THREAT OF FLASH FLOODING.\n# IT WILL NOT BE AS HOT ACROSS MUCH OF THE REGION TOMORROW DUE TO THE\n# INCREASED MOISTURE AND CLOUD COVERAGE...WITH INTERIOR SECTIONS\n# GENERALLY REMAINING IN THE 90S. HOWEVER...THERE WILL BE A\n# SIGNIFICANT INCREASE IN HUMIDITY ON MONDAY THAT WILL CONTINUE TO\n# BRING DISCOMFORT.\n# ANYONE PLANNING OUTDOOR ACTIVITIES IN THE MOUNTAINS AND DESERTS\n# DURING THE NEXT FEW DAYS SHOULD CAREFULLY MONITOR THE LATEST\n# NATIONAL WEATHER SERVICE FORECASTS AND STATEMENTS DUE TO THE\n# POTENTIAL HAZARDS ASSOCIATED WITH THUNDERSTORMS.\n#             Created: July 13 at 10:50pm EDT\n#             Expires: July 14 at 7:00pm EDT\n#\n# Ick! The humidity is 85%\n# The nearest storm is 18 miles NE away\n# The wind speed is 3.96 mph SE\n# The cloud coverage is 35%\n# The visibility is 9.58 miles\n# The pressure is 1012.99 mbar\n```\n\n## Running the Server\n\nAPI Server for `weather` command line tool. Connects to the [Google Geocode\nAPI](https://developers.google.com/maps/documentation/geocoding/intro)\nand [darksky.net API](https://darksky.net/dev/docs).\n\n#### Usage\n\n```bash\n$ weather server -h\nUsage: weather server [OPTIONS]\n\nRun a static UI server for a registry.\n\nFlags:\n\n  -cert            path to ssl cert (default: \u003cnone\u003e)\n  -darksky-apikey  Key for darksky.net API (default: \u003cnone\u003e)\n  -geocode-apikey  Key for Google Maps Geocode API (default: \u003cnone\u003e)\n  -key             path to ssl key (default: \u003cnone\u003e)\n  -port            port for server to run on (default: 1234)\n```\n\n#### Running with Docker\n\n```console\n$ docker run --restart always -d \\\n    --name weather-server \\\n    -p 1234:1234 \\\n    r.j3ss.co/weather server \\\n    --geocode-apikey \"YOUR_GOOGLE_GEOCODING_APIKEY\" \\\n    --darksky-apikey \"YOUR_DARKSKY.NET_APIKEY\"\n```\n\n## Contributing\n\nPlease do!\n\n#### Makefile Usage\n\n```console\n$ make help\nall                            Runs a clean, build, fmt, lint, test, staticcheck, vet and install\nbuild                          Builds a dynamic executable or package\nbump-version                   Bump the version in the version file. Set BUMP to [ patch | major | minor ]\nclean                          Cleanup any build binaries or packages\ncover                          Runs go test with coverage\ncross                          Builds the cross-compiled binaries, creating a clean directory structure (eg. GOOS/GOARCH/binary)\nfmt                            Verifies all files have been `gofmt`ed\ninstall                        Installs the executable or package\nlint                           Verifies `golint` passes\nrelease                        Builds the cross-compiled binaries, naming them in such a way for release (eg. binary-GOOS-GOARCH)\nstatic                         Builds a static executable\nstaticcheck                    Verifies `staticcheck` passes\ntag                            Create a new git tag to prepare to build a release\ntest                           Runs the go tests\nvet                            Verifies `go vet` passes\n```\n\n[![Analytics](https://ga-beacon.appspot.com/UA-29404280-16/weather/README.md)](https://github.com/genuinetools/weather)\n","funding_links":[],"categories":["Go","Repositories"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenuinetools%2Fweather","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgenuinetools%2Fweather","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgenuinetools%2Fweather/lists"}