# \[ANN\] WeatherReport.jl - A simple weather app for the Julia REPL

**URL:** https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298
**Category:** Package Announcements
**Tags:** package, announcement, plotting, unicodeplots
**Created:** [January 3, 2024, 12:37pm UTC](https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298 "2024-01-03T12:37:35Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![vnegi10](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vnegi10/32/205882_2.png) [@vnegi10](https://discourse.julialang.org/u/vnegi10)
#### Post date: [January 3, 2024, 12:37pm UTC](https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298/1 "2024-01-03T12:37:35Z")

</div>

I am elated to announce [WeatherReport.jl](https://github.com/vnegi10/WeatherReport.jl), a package that provides basic weather information right within the REPL. Your location is not tracked, therefore, you need to specify a city/town/village or latitude/longitude yourself. Most major locations (population \> 500) around the world are supported.

Package has been in development for a while, and has already been registered. Weather data is obtained from [Open-Meteo](https://open-meteo.com/en/docs) API, which is free for non-commercial use under the Attribution 4.0 International (CC BY 4.0) license.

Check out the [documentation.](https://vnegi10.github.io/WeatherReport.jl/stable/) More use cases, contributions and issues are welcome!

## Example usage

For current weather conditions:

```julia
julia> show_current("Oslo")
┌─────────────┬───────────┬────────────┬─────────────┬───────────┬─────────┬─────────┐
│ Timezone │ Elevation │ Wind speed │ Temperature │ Condition │ 🌅 │ 🌆 │
│ [CET] │ [m] │ [km/h] │ [°C] │ [] │ [hh:mm] │ [hh:mm] │
├─────────────┼───────────┼────────────┼─────────────┼───────────┼─────────┼─────────┤
│ Europe/Oslo │ 27.0 │ 20.9 │ -7.0 │ Overcast │ 09:17 │ 15:25 │
└─────────────┴───────────┴────────────┴─────────────┴───────────┴─────────┴─────────┘
[Weather data by Open-Meteo.com]

```

A summary of daily weather forecast can be obtained for up to a week as shown below:

```julia
julia> show_daily("Veldhoven")
┌────────────┬────────┬────────┬────────────┬────────────┬───────────┬────────────────┬─────────────┬─────────────────────┐
│ Time │ Min. T │ Max. T │ App. min T │ App. max T │ Prec. sum │ Prec. duration │ Prec. prob. │ Condition │
│ [date] │ [°C] │ [°C] │ [°C] │ [°C] │ [mm] │ [hours] │ [%] │ [] │
├────────────┼────────┼────────┼────────────┼────────────┼───────────┼────────────────┼─────────────┼─────────────────────┤
│ 2024-01-03 │ 8.4 │ 10.6 │ 4.9 │ 6.2 │ 13.7 │ 18.0 │ 89 │ Slight rain showers │
│ 2024-01-04 │ 6.6 │ 8.5 │ 4.3 │ 5.1 │ 6.7 │ 15.0 │ 52 │ Slight rain showers │
│ 2024-01-05 │ 4.7 │ 7.8 │ 1.4 │ 5.6 │ 9.6 │ 15.0 │ 30 │ Slight rain │
│ 2024-01-06 │ 0.8 │ 4.6 │ -3.0 │ 1.4 │ 0.8 │ 4.0 │ 8 │ Slight rain │
│ 2024-01-07 │ -2.5 │ 0.9 │ -7.2 │ -3.1 │ 0.0 │ 0.0 │ 14 │ Overcast │
│ 2024-01-08 │ -4.2 │ -1.7 │ -8.6 │ -6.8 │ 0.0 │ 0.0 │ 6 │ Overcast │
│ 2024-01-09 │ -4.6 │ -0.1 │ -9.1 │ -4.2 │ 0.0 │ 0.0 │ 0 │ Mainly clear │
└────────────┴────────┴────────┴────────────┴────────────┴───────────┴────────────────┴─────────────┴─────────────────────┘
Europe/Amsterdam CET
[Weather data by Open-Meteo.com]

```

Hourly forecast can be visualized in the REPL itself as shown in the following examples:

```julia
julia> plot_hourly_temp("Eindhoven", days = 3)
             ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀Eindhoven: min 1.5 °C, max 9.6 °C (air temp)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀                
             ⠀Timezone: Europe/Amsterdam⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀[Weather data by Open-Meteo.com]⠀                
             ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓                
         9.6 ┃⠉⠉⠉⠒⠢⢄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃ Air temperature
             ┃⠀⠀⠀⠀⠀⠀⠀⠉⠑⠒⠊⠒⠒⠒⠤⠤⠤⣀⣀⣀⣀⣀⢄⡠⠔⠒⠑⠢⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃ Feels like     
             ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠱⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠤⠒⠒⠒⠒⠒⠙⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃                
             ┃⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⠤⠤⠤⢄⣀⡠⠤⠤⠤⠔⠁⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠑⠒⠒⠢⠤⠔⠢⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃                
             ┃⠈⠑⠔⢢⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃                
             ┃⠀⠀⠀⠀⠁⠈⠒⠤⠤⠒⠒⠢⠤⠤⠔⢄⢀⣀⣀⡠⠔⠒⠤⠔⠒⠒⠒⠤⢤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡔⠉⠉⠑⠒⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠱⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃                
             ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⠢⠒⠉⠲⠤⣀⠀⠀⡠⠎⠀⠀⠀⠀⠀⠀⠉⠹⡀⣀⠀⠀⢠⠤⠒⠊⠉⢇⠀⠀⠈⠉⠒⠤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃                
   [°C] ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⠁⠣⠤⠃⠀⠀⠀⠀⠈⡆⠀⠀⠀⠀⠀⠉⠑⠢⢄⠀⠀⠀⠀⠀⠀⠀┃                
             ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⡄⠀⠀⠀⠀⠀⠀⠀⠀⠑⠤⡀⠀⠀⠀⠀┃                
             ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠑⢄⣀⡠⠊┃                
             ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠑⠢⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃                
             ┃⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣉⣑⣤⣀⣀⣀⣀⣀⣀⣀⣀┃                
             ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⢄⠀⠀⠀⠀⠀⠀┃                
             ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠱⡀⠀⠀⠀⠀┃                
        -2.6 ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠱⢄⣀⣀⠔┃                
             ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛                
             ⠀2024-01-03T13:00:00⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀2024-01-06T12:00:00⠀                
             ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀Time [days]⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀     

```

```julia
julia> plot_hourly_rain("Veldhoven", days = 3)
               ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀Veldhoven⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 
               ⠀Timezone: Europe/Amsterdam⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀[Weather data by Open-Meteo.com]⠀ 
               ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ 
             3 ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃ 
               ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃ 
               ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃ 
               ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃ 
               ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃ 
               ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⢣⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃ 
               ┃⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠀⡸⠸⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃ 
   Rain [mm] ┃⠀⠀⢠⢇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡇⡇⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃ 
               ┃⢀⡄⢸⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⢱⠇⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃ 
               ┃⢸⡇⢸⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠈⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃ 
               ┃⡎⡇⢸⠘⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⢇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃ 
               ┃⠇⢱⡜⠀⡇⠀⠀⠀⢠⢺⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⠀⡜⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃ 
               ┃⠀⢸⡇⠀⢣⠀⠀⡔⠁⠘⡄⠀⡎⢱⠀⠀⠀⠀⠀⠀⠀⠀⢸⠈⡆⠀⠀⠀⠀⠀⠀⠀⠀⢰⠁⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⢠⠃⢧⠃⠱⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃ 
               ┃⠀⢸⡇⠀⠸⡀⢰⠁⠀⠀⡇⡸⠀⠀⢇⡠⡀⠀⠀⠀⠀⠀⡎⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⢸⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀⠀⠀⠀⡸⠀⠈⠀⠀⠱⢄⡜⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃ 
             0 ┃⠀⠀⠇⠀⠀⠧⠎⠀⠀⠀⠈⠀⠀⠀⠈⠀⢣⣀⣀⣀⣀⣀⡇⠀⠸⣀⣀⣀⣀⣀⣀⣀⣀⠇⠀⠀⠀⠀⠘⣄⣀⣀⣀⣀⣀⣀⠔⠁⠀⠀⠀⠀⠀⠈⠀⠸⠊⢣⣀⣀⣀⣀⣀⣀⣠⠋⠉⠉⠙⣄⣀⣀⣀⣀⣀┃ 
               ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 
               ⠀2024-01-03T13:00:00⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀2024-01-06T12:00:00⠀ 
               ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀Time [days]⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ 

```

To see a boxplot distribution of historical monthly data for a given year, use one of the  
`plot_box_*` functions. For example, temperature can be visualized using `plot_box_temp`  
as shown below:

```julia
julia> plot_box_temp("Mumbai", year = "2023")
                            Mumbai: Air temp. monthly distribution for 2023                
              Timezone: Asia/Kolkata [Weather data by Open-Meteo.com]  
             ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ 
             ┃ ╷ ┌─────┬───────┐ ╷ ┃ 
     January ┃ ├────────────┤ │ ├─────────────────┤ ┃ 
             ┃ ╵ └─────┴───────┘ ╵ ┃ 
             ┃ ╷ ┌──────┬──────────┐ ╷ ┃ 
    February ┃ ├───────────┤ │ ├──────────────┤ ┃ 
             ┃ ╵ └──────┴──────────┘ ╵ ┃ 
             ┃ ╷ ┌─────┬──────┐ ╷ ┃ 
       March ┃ ├─────────┤ │ ├───────────────────┤ ┃ 
             ┃ ╵ └─────┴──────┘ ╵ ┃ 
             ┃ ╷ ┌────┬──────┐ ╷ ┃ 
       April ┃ ├──────────┤ │ ├──────────────┤ ┃ 
             ┃ ╵ └────┴──────┘ ╵ ┃ 
             ┃ ╷ ┌─┬─────┐ ╷ ┃ 
         May ┃ ├────────┤ │ ├───────┤ ┃ 
             ┃ ╵ └─┴─────┘ ╵ ┃ 
             ┃ ╷ ┌────┬───┐ ╷ ┃ 
        June ┃ ├─────┤ │ ├─────────┤ ┃ 
             ┃ ╵ └────┴───┘ ╵ ┃ 
             ┃ ╷ ┌┬─┐ ╷ ┃ 
        July ┃ ├──┤│ ├──────┤ ┃ 
             ┃ ╵ └┴─┘ ╵ ┃ 
             ┃ ╷ ┌─┬─┐ ╷ ┃ 
      August ┃ ├───┤ │ ├─────┤ ┃ 
             ┃ ╵ └─┴─┘ ╵ ┃ 
             ┃ ╷ ┌─┬─┐ ╷ ┃ 
   September ┃ ├────┤ │ ├────────────┤ ┃ 
             ┃ ╵ └─┴─┘ ╵ ┃ 
             ┃ ╷ ┌─────┬─────┐ ╷ ┃ 
     October ┃ ├──────────┤ │ ├──────────┤ ┃ 
             ┃ ╵ └─────┴─────┘ ╵ ┃ 
             ┃ ╷ ┌──────┬────────┐ ╷ ┃ 
    November ┃ ├────────┤ │ ├───────────┤ ┃ 
             ┃ ╵ └──────┴────────┘ ╵ ┃ 
             ┃ ╷ ┌───────┬───────┐ ╷ ┃ 
    December ┃ ├─────────┤ │ ├───────────┤ ┃ 
             ┃ ╵ └───────┴───────┘ ╵ ┃ 
             ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 
              10 25 40  
                                                  [°C]                                     

```

Historical weather data can now be saved to a SQLite database. Check the help text for  
`export_to_sqlite` function.

To compare monthly data over a given number of years, use one of the `compare_box_*`  
functions. For example, temperature distribution can be visualized using `compare_box_temp` as shown below:

```julia
julia> compare_box_temp("Tokyo", num_years = 5, month = "June")
                    Tokyo: Air temp. comparison for June over last 5 years            
         Timezone: Asia/Tokyo [Weather data by Open-Meteo.com]  
        ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ 
        ┃ ╷ ┌────┬─────┐ ╷ ┃ 
   2019 ┃ ├─────────┤ │ ├────────────────┤ ┃ 
        ┃ ╵ └────┴─────┘ ╵ ┃ 
        ┃ ╷ ┌─────┬─────┐ ╷ ┃ 
   2020 ┃ ├─────────┤ │ ├──────────────┤ ┃ 
        ┃ ╵ └─────┴─────┘ ╵ ┃ 
        ┃ ╷ ┌───┬─────┐ ╷ ┃ 
   2021 ┃ ├────────┤ │ ├─────────────┤ ┃ 
        ┃ ╵ └───┴─────┘ ╵ ┃ 
        ┃ ╷ ┌────────┬───────┐ ╷ ┃ 
   2022 ┃ ├─────────┤ │ ├──────────────────────────┤ ┃ 
        ┃ ╵ └────────┴───────┘ ╵ ┃ 
        ┃ ╷ ┌────┬──────┐ ╷ ┃ 
   2023 ┃ ├─────────────┤ │ ├─────────────────┤ ┃ 
        ┃ ╵ └────┴──────┘ ╵ ┃ 
        ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 
         10 25 40  
                                             [°C]                                     

```

---

<div class="post-metadata">

### Author: ![mihalybaci](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mihalybaci/32/13528_2.png) [@mihalybaci](https://discourse.julialang.org/u/mihalybaci)
#### Post date: [January 3, 2024, 12:39pm UTC](https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298/2 "2024-01-03T12:39:55Z")

</div>

This is a really neat package! I’m excited to try it out!

---

<div class="post-metadata">

### Author: ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)
#### Post date: [January 3, 2024, 12:48pm UTC](https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298/3 "2024-01-03T12:48:15Z")

</div>

How can I get a list of the cities that are covered? How can I add my own city (Den Haag)?

---

<div class="post-metadata">

### Author: ![aplavin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aplavin/32/222056_2.png) [@aplavin](https://discourse.julialang.org/u/aplavin)
#### Post date: [January 3, 2024, 1:20pm UTC](https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298/4 "2024-01-03T13:20:49Z")

</div>

Thanks, can be neat!

It is sometimes hard to choose the correct city though, if one doesn’t remember coordinates by heart (:

```julia
julia> show_daily("Cambridge")
[ Info: More than one match found, showing report for location in row 1.
[ Info: You can select another location by its row index.
15×4 DataFrame
 Row │ CITY TIMEZONE LATITUDE LONGITUDE  
     │ String? String31 Float64 Float64    
─────┼───────────────────────────────────────────────────
   1 │ Cambridge Australia/Hobart -42.8333 147.45
   2 │ Cambridge America/Toronto 43.3601 -80.3127
   3 │ Cambridge Europe/London 52.2 0.11667
   4 │ Cambridge America/Jamaica 18.3133 -77.9025
   5 │ Cambridge Pacific/Auckland -37.8782 175.44
   6 │ Cambridge America/New_York 38.5632 -76.0788
   7 │ Cambridge America/Chicago 41.8983 -93.5291
   8 │ Cambridge America/Chicago 41.3036 -90.1929
   9 │ Cambridge America/New_York 42.3751 -71.1056
  10 │ Cambridge America/New_York 45.0242 -69.4739
  11 │ Cambridge America/Chicago 45.5727 -93.2244
  12 │ Cambridge America/New_York 43.0281 -73.3812
  13 │ Cambridge America/New_York 40.0312 -81.5885
  14 │ Cambridge America/Chicago 43.0036 -89.0165
  15 │ Cambridge America/Chicago 40.282 -100.166

```

Maybe it’s better to show some more information?

Also, maybe the default choice should be “the most populous one”?

```julia
julia> show_daily("Boston")
[ Info: More than one match found, showing report for location in row 1.
[ Info: You can select another location by its row index.
8×4 DataFrame
 Row │ CITY TIMEZONE LATITUDE LONGITUDE 
     │ String? String31 Float64 Float64   
─────┼────────────────────────────────────────────────
   1 │ Boston Europe/London 52.9763 -0.02664
   2 │ Boston Europe/Dublin 53.0308 -8.93167
   3 │ Boston Asia/Manila 7.87111 126.364
   4 │ Boston America/New_York 30.7919 -83.7899
   5 │ Boston America/New_York 37.6093 -75.8427
   6 │ Boston America/New_York 42.3584 -71.0598
   7 │ Boston America/New_York 42.629 -78.7375
   8 │ Boston America/New_York 40.312 -79.8231

```

---

<div class="post-metadata">

### Author: ![sylvaticus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sylvaticus/32/203883_2.png) [@sylvaticus](https://discourse.julialang.org/u/sylvaticus)
#### Post date: [January 3, 2024, 2:36pm UTC](https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298/5 "2024-01-03T14:36:36Z")

</div>

hmmm… if I remember correctly there is a system for Julia packages to locally store configuration options… it could be used to store the chosen location so that one can then call the various functions without the zone attribute…

In any case, great package… thank you…

---

<div class="post-metadata">

### Author: ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)
#### Post date: [January 3, 2024, 3:02pm UTC](https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298/6 "2024-01-03T15:02:58Z")

</div>

> [@sylvaticus](#):
>
> if I remember correctly there is a system for Julia packages to locally store configuration options…

Preferences.jl

---

<div class="post-metadata">

### Author: ![tbeason](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tbeason/32/15898_2.png) [@tbeason](https://discourse.julialang.org/u/tbeason)
#### Post date: [January 3, 2024, 3:05pm UTC](https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298/7 "2024-01-03T15:05:35Z")

</div>

Very neat! Seems broken though… says it is 2.5C where I am when it is actually 36F 😉

---

<div class="post-metadata">

### Author: ![sylvaticus](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sylvaticus/32/203883_2.png) [@sylvaticus](https://discourse.julialang.org/u/sylvaticus)
#### Post date: [January 3, 2024, 3:16pm UTC](https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298/8 "2024-01-03T15:16:15Z")

</div>

Another user case for using `Preferences.jl` 😉

---

<div class="post-metadata">

### Author: ![joa-quim](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joa-quim/32/227_2.png) [@joa-quim](https://discourse.julialang.org/u/joa-quim)
#### Post date: [January 3, 2024, 3:25pm UTC](https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298/9 "2024-01-03T15:25:01Z")

</div>

> [@ufechner7](#):
>
> How can I get a list of the cities that are covered? How can I add my own city (Den Haag)?

I bit of a heavy dependency if only used to help this but GMT.jl has a `geocoder` function that will tell you the coordinates

```julia
using GMT

julia> geocoder("Den Hag")
Attribute table (Dict{String, String})
┌────────────┬──────────────┬────────────────┬────────────────┬────────────┬──────────┬────────────────────┬───────────┬──────────────┬───
│ lat │ country_code │ type │ ISO3166-2-lvl4 │ place_rank │ class │ importance │ lon │ state │ ⋯
├────────────┼──────────────┼────────────────┼────────────────┼────────────┼──────────┼────────────────────┼───────────┼──────────────┼───
│ 52.0799838 │ nl │ administrative │ NL-ZH │ 16 │ boundary │ 0.6773178318552627 │ 4.3113461 │ Zuid-Holland │ ⋯
└────────────┴──────────────┴────────────────┴────────────────┴────────────┴──────────┴────────────────────┴───────────┴──────────────┴───
                                                                                                                        10 columns omitted
BoundingBox: [4.3113461, 4.3113461, 52.0799838, 52.0799838]
Global BoundingBox: [4.1849984, 4.4224897, 52.0148484, 52.1350362]
PROJ: +proj=longlat +datum=WGS84 +units=m +no_defs

1×2 GMTdataset{Float64, 2}
 Row │ Lon Lat
─────┼────────────────
   1 │ 4.31135 52.08

```

---

<div class="post-metadata">

### Author: ![vnegi10](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vnegi10/32/205882_2.png) [@vnegi10](https://discourse.julialang.org/u/vnegi10)
#### Post date: [January 3, 2024, 4:33pm UTC](https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298/10 "2024-01-03T16:33:40Z")

</div>

Coordinates for all cities are loaded from a [CSV file](https://github.com/vnegi10/WeatherReport.jl/blob/main/database/cities500_lat_long.csv) into a DataFrame. ‘The Hague’ is actually part of the list, but due to an incorrect logic applied to correct for capitalization in the name, it gets changed to ‘The hague’, which as expected is not found.

I have made an issue [here](https://github.com/vnegi10/WeatherReport.jl/issues/76) and will fix it in the next release. Thanks for checking!

---

<div class="post-metadata">

### Author: ![vnegi10](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vnegi10/32/205882_2.png) [@vnegi10](https://discourse.julialang.org/u/vnegi10)
#### Post date: [January 3, 2024, 4:40pm UTC](https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298/11 "2024-01-03T16:40:08Z")

</div>

Perhaps looking at the timezone might help here? The cities database (population \> 500) that I am using does have multiple locations/coordinates with the same name, which could indeed make things confusing sometimes.

To select a certain row, you can simply use the index from the list shown.

```julia
julia> show_daily("Cambridge", 3)
[ Info: More than one match found, showing report for location in row 3.
[ Info: You can select another location by its row index.
15×4 DataFrame
 Row │ CITY TIMEZONE LATITUDE LONGITUDE  
     │ String? String31 Float64 Float64    
─────┼───────────────────────────────────────────────────
   1 │ Cambridge Australia/Hobart -42.8333 147.45
   2 │ Cambridge America/Toronto 43.3601 -80.3127
   3 │ Cambridge Europe/London 52.2 0.11667
   4 │ Cambridge America/Jamaica 18.3133 -77.9025
   5 │ Cambridge Pacific/Auckland -37.8782 175.44
   6 │ Cambridge America/New_York 38.5632 -76.0788
   7 │ Cambridge America/Chicago 41.8983 -93.5291
   8 │ Cambridge America/Chicago 41.3036 -90.1929
   9 │ Cambridge America/New_York 42.3751 -71.1056
  10 │ Cambridge America/New_York 45.0242 -69.4739
  11 │ Cambridge America/Chicago 45.5727 -93.2244
  12 │ Cambridge America/New_York 43.0281 -73.3812
  13 │ Cambridge America/New_York 40.0312 -81.5885
  14 │ Cambridge America/Chicago 43.0036 -89.0165
  15 │ Cambridge America/Chicago 40.282 -100.166
┌────────────┬────────┬────────┬────────────┬────────────┬───────────┬────────────────┬─────────────┬─────────────────────┐
│ Time │ Min. T │ Max. T │ App. min T │ App. max T │ Prec. sum │ Prec. duration │ Prec. prob. │ Condition │
│ [date] │ [°C] │ [°C] │ [°C] │ [°C] │ [mm] │ [hours] │ [%] │ [] │
├────────────┼────────┼────────┼────────────┼────────────┼───────────┼────────────────┼─────────────┼─────────────────────┤
│ 2024-01-03 │ 6.8 │ 10.0 │ 4.2 │ 6.8 │ 1.3 │ 5.0 │ 37 │ Slight rain showers │
│ 2024-01-04 │ 5.3 │ 8.1 │ 2.1 │ 5.9 │ 3.7 │ 5.0 │ 13 │ Slight rain │
│ 2024-01-05 │ 3.7 │ 6.6 │ 0.0 │ 3.2 │ 6.8 │ 6.0 │ 30 │ Slight rain │
│ 2024-01-06 │ 3.0 │ 5.4 │ 0.3 │ 2.3 │ 0.0 │ 0.0 │ 3 │ Overcast │
│ 2024-01-07 │ 0.1 │ 3.7 │ -3.5 │ 0.3 │ 0.0 │ 0.0 │ 3 │ Overcast │
│ 2024-01-08 │ -1.0 │ 2.2 │ -4.9 │ -2.0 │ 0.0 │ 0.0 │ 1 │ Overcast │
│ 2024-01-09 │ -0.9 │ 1.4 │ -4.9 │ -3.4 │ 0.0 │ 0.0 │ 1 │ Overcast │
└────────────┴────────┴────────┴────────────┴────────────┴───────────┴────────────────┴─────────────┴─────────────────────┘
Europe/London GMT
[Weather data by Open-Meteo.com]

```

Sorting according to population is a cool idea, but finding all the data could be tricky. I will look around.

---

<div class="post-metadata">

### Author: ![vnegi10](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vnegi10/32/205882_2.png) [@vnegi10](https://discourse.julialang.org/u/vnegi10)
#### Post date: [January 3, 2024, 4:41pm UTC](https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298/12 "2024-01-03T16:41:26Z")

</div>

hmm, interesting. I didn’t think about that before. Also, thank you for the kind words!

---

<div class="post-metadata">

### Author: ![aplavin](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aplavin/32/222056_2.png) [@aplavin](https://discourse.julialang.org/u/aplavin)
#### Post date: [January 3, 2024, 4:44pm UTC](https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298/13 "2024-01-03T16:44:22Z")

</div>

> [@vnegi10](#):
>
> Perhaps looking at the timezone might help here?

Sure, but there are several Cambridges in each of the NewYork and Chicago time zones (: It was quite a popular name to give to a town back then…

---

<div class="post-metadata">

### Author: ![vnegi10](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vnegi10/32/205882_2.png) [@vnegi10](https://discourse.julialang.org/u/vnegi10)
#### Post date: [January 3, 2024, 4:44pm UTC](https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298/14 "2024-01-03T16:44:31Z")

</div>

Please do, and thank you for the kind words!

---

<div class="post-metadata">

### Author: ![vnegi10](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vnegi10/32/205882_2.png) [@vnegi10](https://discourse.julialang.org/u/vnegi10)
#### Post date: [January 3, 2024, 4:49pm UTC](https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298/15 "2024-01-03T16:49:06Z")

</div>

Yeah, that’s an issue. I was initially thinking of using a different database where cities have a higher population, for example 10000. But then you end up missing a lot of locations around the world.

---

<div class="post-metadata">

### Author: ![vnegi10](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vnegi10/32/205882_2.png) [@vnegi10](https://discourse.julialang.org/u/vnegi10)
#### Post date: [January 3, 2024, 4:56pm UTC](https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298/16 "2024-01-03T16:56:02Z")

</div>

haha, I prefer to stick to the metric system. 😆

---

<div class="post-metadata">

### Author: ![vnegi10](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vnegi10/32/205882_2.png) [@vnegi10](https://discourse.julialang.org/u/vnegi10)
#### Post date: [January 4, 2024, 7:15am UTC](https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298/17 "2024-01-04T07:15:31Z")

</div>

‘The Hague’ is now correctly recognized in release `v0.19.2`. Since the database has names in English, ‘Den Haag’ is currently not supported.

```julia
julia> plot_hourly_temp("The Hague", days = 3)
             ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀The Hague: min 0.1 °C, max 9.4 °C (air temp)⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀                
             ⠀Timezone: Europe/Amsterdam⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀[Weather data by Open-Meteo.com]⠀                
             ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓                
         9.4 ┃⣀⣀⡠⠔⠉⠑⠒⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠤⢤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃ Air temperature
             ┃⠀⠀⠀⠀⠀⠀⠀⠀⠣⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠤⠒⠢⢄⠀⠀⠀⢀⠎⠀⠀⠀⠘⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃ Feels like     
             ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠢⠤⠒⠒⠒⠲⠤⠤⠊⠁⠀⠀⠀⠀⠓⠦⠔⠁⠀⣀⡠⠔⡄⠱⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃                
             ┃⠢⠤⣀⠤⠢⣀⠤⠤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠤⠤⠒⠁⠀⠀⢸⠀⠀⠙⠒⢄⣀⢀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃                
             ┃⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠢⢄⠤⠤⣀⠀⠀⠀⢠⠔⠉⠉⠑⠤⠔⠃⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠁⠀⠀⠀⠈⠒⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃                
             ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⢄⠔⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⠒⢤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃                
             ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣠⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⣄⠀⠀⠀⢀⣀⠤⠤⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃                
   [°C] ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠈⠲⡀⠀⠀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠁⠀⠀⠀⠀⠈⠢⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃                
             ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠋⠀⠀⠀⠉⠓⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠓⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃                
             ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠒⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠉⠉⠑⠢⠤⣀⡀┃                
             ┃⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠻⡉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉┃                
             ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠒⠤⠤⠤⠔⠒⠒⠒⢢⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃                
             ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠢⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀┃                
             ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠒⠤⠤⠒⠒⠒⠢⢄⠀⠀⠀⠀┃                
        -4.4 ┃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠒⠤⣀┃                
             ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛                
             ⠀2024-01-04T08:00:00⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀2024-01-07T07:00:00⠀                
             ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀Time [days]⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀                

```

In case someone makes an error in the capitalization, the name will be internally corrected.

```julia
julia> show_daily("The haGUe")
┌────────────┬────────┬────────┬────────────┬────────────┬───────────┬────────────────┬─────────────┬─────────────────────┐
│ Time │ Min. T │ Max. T │ App. min T │ App. max T │ Prec. sum │ Prec. duration │ Prec. prob. │ Condition │
│ [date] │ [°C] │ [°C] │ [°C] │ [°C] │ [mm] │ [hours] │ [%] │ [] │
├────────────┼────────┼────────┼────────────┼────────────┼───────────┼────────────────┼─────────────┼─────────────────────┤
│ 2024-01-04 │ 7.1 │ 9.4 │ 4.9 │ 6.2 │ 4.1 │ 13.0 │ 62 │ Slight rain showers │
│ 2024-01-05 │ 5.7 │ 8.9 │ 1.8 │ 7.2 │ 14.7 │ 17.0 │ 69 │ Slight rain showers │
│ 2024-01-06 │ 1.0 │ 5.9 │ -3.2 │ 2.2 │ 1.6 │ 8.0 │ 42 │ Slight rain │
│ 2024-01-07 │ -1.2 │ 1.1 │ -6.7 │ -2.9 │ 0.0 │ 0.0 │ 12 │ Overcast │
│ 2024-01-08 │ -3.2 │ -1.1 │ -8.9 │ -6.3 │ 0.0 │ 0.0 │ 1 │ Overcast │
│ 2024-01-09 │ -4.1 │ -1.2 │ -9.0 │ -6.2 │ 0.0 │ 0.0 │ 0 │ Mainly clear │
│ 2024-01-10 │ -4.8 │ -1.1 │ -9.6 │ -6.3 │ 0.0 │ 0.0 │ 0 │ Mainly clear │
└────────────┴────────┴────────┴────────────┴────────────┴───────────┴────────────────┴─────────────┴─────────────────────┘
Europe/Amsterdam CET
[Weather data by Open-Meteo.com]

```

---

<div class="post-metadata">

### Author: ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)
#### Post date: [January 4, 2024, 7:54am UTC](https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298/18 "2024-01-04T07:54:51Z")

</div>

Thanks for the quick fix!

---

<div class="post-metadata">

### Author: ![dlshew19](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dlshew19/32/38751_2.png) [@dlshew19](https://discourse.julialang.org/u/dlshew19)
#### Post date: [September 13, 2024, 9:54pm UTC](https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298/19 "2024-09-13T21:54:16Z")

</div>

Is it possible to save the data used to make the plots? For example can I get the data for plot\_hourly\_windspeed() as a dataframe? Sorry if this is simple I’ve been trying to figure it out for a while now.

---

<div class="post-metadata">

### Author: ![vnegi10](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vnegi10/32/205882_2.png) [@vnegi10](https://discourse.julialang.org/u/vnegi10)
#### Post date: [September 14, 2024, 9:18am UTC](https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298/20 "2024-09-14T09:18:08Z")

</div>

Hi, yes, it’s possible to export historical data as a sqlite database file. I made it this way so that the data can be easily ingested also by other languages. You can use the `SQLite.jl` package to read the database in case you decide to continue working in Julia.

Check out the help text:

```julia
help?> export_to_sqlite
search: export_to_sqlite

  Saves the hourly historical temperature, rain, snowfall, relative humidity, windspeed and solar data for a given city (between "startdate" and "enddate")
  to a SQLite database. Each of the weather variable is saved as a separate table. The database itself is saved to the "export" folder in the root of this
  repository.

  Arguments
  ≡≡≡≡≡≡≡≡≡

    • city::String : Valid city name, e.g. "Oslo", "Paris", "Amsterdam" etc.

    • i_row::Int64 : In case of more than one match for a given location, select the desired timezone by providing the row index from the printed
       DataFrame. Default is set to 1.

    • start_date::String : Starting day in ISO8601 date format, e.g. "2023-02-01"

    • end_date::String : Ending day in ISO8601 date format, e.g. "2023-02-25"

  Optional keywords
  ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡

    • lat::Float64 : Geographical WGS84 coordinate of the location (°S < 0, °N > 0)

    • long::Float64 : Geographical WGS84 coordinate of the location (°W < 0, °E > 0)

  Example
  ≡≡≡≡≡≡≡

  julia> export_to_sqlite("Veldhoven", start_date = "2022-01-01", end_date = "2022-01-31")

```

[Next page](https://discourse.julialang.org/t/ann-weatherreport-jl-a-simple-weather-app-for-the-julia-repl/108298.md?page=2)
