{"id":22157972,"url":"https://github.com/lucavallin/brosa","last_synced_at":"2025-07-26T08:32:14.405Z","repository":{"id":65184679,"uuid":"522306766","full_name":"lucavallin/brosa","owner":"lucavallin","description":"A CLI tool written in Golang to retrieve information useful for astronomy.","archived":false,"fork":false,"pushed_at":"2025-06-30T10:56:05.000Z","size":812,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-15T06:47:41.777Z","etag":null,"topics":["astronomy","cli","cobra-cli","golang","pterm","tomorrow-io","utility","weather"],"latest_commit_sha":null,"homepage":"https://lucavall.in","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/lucavallin.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,"roadmap":null,"authors":null}},"created_at":"2022-08-07T19:36:03.000Z","updated_at":"2025-06-30T10:56:08.000Z","dependencies_parsed_at":"2024-01-20T00:14:07.867Z","dependency_job_id":"601cd2d0-f779-474a-98ae-3e3000f24d92","html_url":"https://github.com/lucavallin/brosa","commit_stats":{"total_commits":68,"total_committers":3,"mean_commits":"22.666666666666668","dds":"0.13235294117647056","last_synced_commit":"892a748d64c3ad4a2db75f1297f5e08cc29fb1bd"},"previous_names":["lucavallin/mawu","lucavallin/mau"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/lucavallin/brosa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucavallin%2Fbrosa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucavallin%2Fbrosa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucavallin%2Fbrosa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucavallin%2Fbrosa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucavallin","download_url":"https://codeload.github.com/lucavallin/brosa/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucavallin%2Fbrosa/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267140646,"owners_count":24041970,"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","status":"online","status_checked_at":"2025-07-26T02:00:08.937Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["astronomy","cli","cobra-cli","golang","pterm","tomorrow-io","utility","weather"],"created_at":"2024-12-02T03:16:42.564Z","updated_at":"2025-07-26T08:32:14.087Z","avatar_url":"https://github.com/lucavallin.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg src=\"https://github.com/lucavallin/brosa/blob/main/docs/brosa.png\" style=\"width:40px;padding-right:10px;margin-bottom:-8px;\"\u003e brósa\n\nA CLI tool written in Golang to retrieve information useful for astronomy.\n\n## Setup\n\nBuild `brosa` with the following command:\n\n```bash\ngo build\n```\n\nThen initializa configuration (e.g. API keys...) with `brosa init`:\n\n```bash\nbrosa init\n\nINFO  initializing brosa configuration\n\nEnter your Tomorrow.io API key: XXXXXXXXXXXXXXXXXXXX\n\nEnter your IPGeolocation.com API key: XXXXXXXXXXXXXXXXXXXX\n\nSUCCESS  brosa configuration initialized\n```\n\n## Usage\n\n- `brosa forecast`: Get the weather forecast relevant for astronomy for a set or coordinates. Example:\n\n```bash\nbrosa forecast 18.955324,69.649208\n\n┌────────────────────────────────────────────────────────────────────────────────────────┐\n|             Date | Cloud Cover (%) | Humidity (%) | Temperature (ºC) | Visibility (km) |\n| 2022-08-19 19:00 |              59 |           85 |               27 |              11 |\n| 2022-08-19 20:00 |              20 |           86 |               27 |              11 |\n| 2022-08-19 21:00 |              35 |           86 |               27 |              10 |\n| 2022-08-19 22:00 |              32 |           86 |               26 |              11 |\n| 2022-08-19 23:00 |              25 |           87 |               26 |              10 |\n| 2022-08-20 00:00 |              86 |           87 |               26 |              10 |\n| 2022-08-20 01:00 |              98 |           86 |               27 |              11 |\n| 2022-08-20 02:00 |              92 |           85 |               27 |              11 |\n| 2022-08-20 03:00 |             100 |           85 |               27 |              11 |\n| 2022-08-20 04:00 |             100 |           85 |               27 |              10 |\n| 2022-08-20 05:00 |              98 |           84 |               27 |              10 |\n| 2022-08-20 06:00 |              98 |           84 |               27 |              11 |\n| 2022-08-20 07:00 |              99 |           84 |               27 |              12 |\n| 2022-08-20 08:00 |              98 |           85 |               27 |              12 |\n| 2022-08-20 09:00 |              41 |           85 |               27 |              11 |\n| 2022-08-20 10:00 |              34 |           85 |               27 |              11 |\n| 2022-08-20 11:00 |              53 |           85 |               27 |              11 |\n| 2022-08-20 12:00 |              43 |           86 |               27 |              11 |\n| 2022-08-20 13:00 |              49 |           85 |               27 |              11 |\n| 2022-08-20 14:00 |              93 |           85 |               27 |              10 |\n| 2022-08-20 15:00 |              99 |           85 |               27 |              11 |\n| 2022-08-20 16:00 |             100 |           84 |               27 |              10 |\n| 2022-08-20 17:00 |             100 |           85 |               27 |              11 |\n| 2022-08-20 18:00 |             100 |           86 |               27 |              11 |\n| 2022-08-20 19:00 |             100 |           86 |               27 |              11 |\n└────────────────────────────────────────────────────────────────────────────────────────┘\n```\n\n- `brosa locate`: Get the coordinates of a place. Example:\n\n```bash\nbrosa locate tromso\n\nSUCCESS  6 coordinate(s) found!\n┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐\n| Name                                                                                                      | Latitude  | Longitude | Latitude, Longitude |\n| Tromsø, Troms og Finnmark, Norge                                                                          | 69.651648 | 18.955819 | 69.651648,18.955819 |\n| Tromso, Wenchi Municipal District, Bono Region, Ghana                                                     | 7.558820  | -2.163072 | 7.558820,-2.163072  |\n| Tromsö, Haparanda kommun, Norrbottens län, Sverige                                                        | 65.712138 | 23.761817 | 65.712138,23.761817 |\n| Sentrum legekontor, Tromsø, Killengreens gate, Skarpsno, Nordbyen, Tromsø, Troms og Finnmark, 9008, Norge | 69.649739 | 18.959848 | 69.649739,18.959848 |\n| Utleiecompagniet AS, Tromsø, Gimlevegen, Gimle, Tromsø, Troms og Finnmark, 9019, Norge                    | 69.684069 | 18.990678 | 69.684069,18.990678 |\n| Harila, Tromsø, Skattørvegen, Skattøra, Tromsø, Troms og Finnmark, 9018, Norge                            | 69.696052 | 19.013815 | 69.696052,19.013815 |\n└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘\n```\n\n- `brosa iss`: Get the current position of the International Space Station. Example:\n\n```bash\nbrosa iss\n\nSUCCESS  ISS Found\n┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐\n| Time             | Latitude | Longitude   | Altitude (km) | Velocity (km/h) | Visibility | Solar latitude | Solar longitude |\n| 2022-08-21 16:59 | 5.319085 | -178.143555 | 419           | 27576           | eclipsed   | 11.977992      | 315.955918      |\n└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘\n```\n\n- `brosa day`: Get current information about the Sun and the Moon for a given location. Example:\n\n```bash\nbrosa day 45.806691,12.206316\n\n┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐\n| Sunrise | Sunset | Day length (h) | Sun altitude (°) | Sun azimuth (°) | Moonrise | Moonset | Moon altitude (°) | Moon azimuth (°) |\n|   06:42 |  19:35 |          12:53 |              -15 |             294 |    19:38 |   04:58 |                12 |              123 |\n└────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘\n```\n\n## Improvements\n- Implement `visible` command (https://docs.astronomyapi.com)\n- Add support for \"best\" timestep (or devise algorithm to calculate best time for observing)\n- Cache weather results for a set of coordinates for one hour\n- Add dashboard with all info that refreshes every hour and sends events to the user\n- Add unit/integration tests\n- Decouple `astro` providers like for `weather` and `geo`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucavallin%2Fbrosa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucavallin%2Fbrosa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucavallin%2Fbrosa/lists"}