PHPackages                             arshaviras/weather-widget - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. arshaviras/weather-widget

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

arshaviras/weather-widget
=========================

A weather widget for Filament

v1.5.0(2mo ago)42.3k↓36.4%4[1 issues](https://github.com/arshaviras/weather-widget/issues)MITPHPPHP ^8.2

Since Nov 4Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/arshaviras/weather-widget)[ Packagist](https://packagist.org/packages/arshaviras/weather-widget)[ Docs](https://github.com/arshaviras/weather-widget)[ RSS](/packages/arshaviras-weather-widget/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (6)Dependencies (20)Versions (8)Used By (0)

Weather Widget
==============

[](#weather-widget)

[![Weather Widget](https://github.com/arshaviras/weather-widget/raw/main/thumbnail.jpg)](https://github.com/arshaviras/weather-widget/raw/main/thumbnail.jpg)

A beautiful, configurable **weather widget** for your Filament dashboard.
Powered by the OpenWeatherMap API, fully translatable, and supports °C/°F, animated Weather Icons, and optional response caching.

Features
--------

[](#features)

- 🌤️ Displays current temperature, condition, hourly forecast and weather icons
- 🔁 Auto-refresh at a configurable interval
- ☁️ Supports both **metric** and **imperial** units (°C/°F)
- 🌍 Multi-language support
- 🧠 Optional caching (prevents exceeding API rate limits)
- ⚙️ Customizable location by `city`
- 🎨 Supports 3 icon styles: **Monochrome**, **Line**, and **Fill**
- 🔄 Supports **static and animated** icon variants

Requirements
------------

[](#requirements)

- PHP 8.2 or higher
- Laravel 11.x or 12.x
- Filament 4.x or 5.x

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require arshaviras/weather-widget
```

Setup
-----

[](#setup)

### 1. Register the Widget

[](#1-register-the-widget)

Add the widget to your Filament panel configuration:

```
use Arshaviras\WeatherWidget\Widgets\WeatherWidget;
use Filament\Panel;

public function panel(Panel $panel): Panel
{
    return $panel
        // ... other configuration
        ->widgets([
                //...
                WeatherWidget::class,
            ])
}
```

### 2. Configuration

[](#2-configuration)

Publish the config file:

```
php artisan vendor:publish --tag="weather-widget-config"
```

This is the contents of the published config file:

```
return [

    /**
     * API Key for Current Weather Data
     * You can get your API key from OpenWeatherMap:
     * https://openweathermap.org/price
     */
    'api_key' => env('OPENWEATHER_API_KEY', ''),

    /**
     * Default city for weather data
     */
    'city' => 'Yerevan',

    /**
     * Units for temperature and other measurements
     * Options: 'metric', 'imperial'
     * 'metric' - Celsius (°C), 'imperial' - Fahrenheit (°F)
     * Default is 'metric'
     */
    'units' => 'metric',

    /**
     * Refresh (Poll) interval in minutes
     * This determines how often the weather data will be refreshed.
     * This also factors into the cache duration.
     */
    'refresh_minutes' => 30,

    /**
     * Icon settings
     * You can customize the icon set and variant used in the widget.
     * 'icon_set' can be 'fill', 'line', or 'monochrome'.
     */
    'icon_set' => 'fill',

    /**
     * Icon variant
     * Options: 'static', 'animated' (only for fill/line icons)
     */
    'icon_variant' => 'animated',
];
```

### 3. Translations (Optional)

[](#3-translations-optional)

If you want to customize the translations, you can publish the translations file:

```
php artisan vendor:publish --tag="weather-widget-translations"
```

Usage
-----

[](#usage)

Once the widget is registered, a "Weather Widget" will automatically be added to your Filament Dashboard.

### Available Icon Sets

[](#available-icon-sets)

- `fill` – Filled icons
- `line` – Outlined icons
- `monochrome` – Black/White icons

#### 🎨 `fill` – Filled Icons

[](#-fill--filled-icons)

Light ModeDark Mode[![Fill Light](docs/images/fill-light.jpg)](docs/images/fill-light.jpg)[![Fill Dark](docs/images/fill-dark.jpg)](docs/images/fill-dark.jpg)#### ✏️ `line` – Outlined Icons

[](#️-line--outlined-icons)

Light ModeDark Mode[![Line Light](docs/images/line-light.jpg)](docs/images/line-light.jpg)[![Line Dark](docs/images/line-dark.jpg)](docs/images/line-dark.jpg)#### 🌓 `monochrome` – Black &amp; White Icons

[](#-monochrome--black--white-icons)

Light ModeDark Mode[![Monochrome Light](docs/images/monochrome-light.jpg)](docs/images/monochrome-light.jpg)[![Monochrome Dark](docs/images/monochrome-dark.jpg)](docs/images/monochrome-dark.jpg)### Available Icon Variants

[](#available-icon-variants)

Static and Animated (only for fill/line icons)

- `static` - Static Icons
- `animated` - Animated icons

Credits
-------

[](#credits)

Meteo Icons by [Bas Milius](https://bas.dev)

###  Health Score

47

—

FairBetter than 94% of packages

Maintenance81

Actively maintained with recent releases

Popularity29

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 84.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~21 days

Recently: every ~12 days

Total

7

Last Release

70d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/168186173?v=4)[Arshavir Aghajanyan](/maintainers/arshaviras)[@arshaviras](https://github.com/arshaviras)

---

Top Contributors

[![arshaviras](https://avatars.githubusercontent.com/u/168186173?v=4)](https://github.com/arshaviras "arshaviras (11 commits)")[![eelco2k](https://avatars.githubusercontent.com/u/878103?v=4)](https://github.com/eelco2k "eelco2k (1 commits)")[![theofanisv](https://avatars.githubusercontent.com/u/6011795?v=4)](https://github.com/theofanisv "theofanisv (1 commits)")

---

Tags

laravelfilamentfilament-pluginarshavirasweather-widget

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/arshaviras-weather-widget/health.svg)

```
[![Health](https://phpackages.com/badges/arshaviras-weather-widget/health.svg)](https://phpackages.com/packages/arshaviras-weather-widget)
```

###  Alternatives

[pboivin/filament-peek

Full-screen page preview modal for Filament

253319.6k12](/packages/pboivin-filament-peek)[croustibat/filament-jobs-monitor

Background Jobs monitoring like Horizon for all drivers for FilamentPHP

254255.2k6](/packages/croustibat-filament-jobs-monitor)[dotswan/filament-map-picker

Easily pick and retrieve geo-coordinates using a map-based interface in your Filament applications.

124139.3k2](/packages/dotswan-filament-map-picker)[creagia/filament-code-field

A Filamentphp input field to edit or view code data.

58289.3k3](/packages/creagia-filament-code-field)[swisnl/filament-backgrounds

Beautiful backgrounds for Filament auth pages

54149.2k6](/packages/swisnl-filament-backgrounds)[schmeits/filament-character-counter

This is a Filament character counter TextField and Textarea form field for Filament v4 and v5

33184.7k6](/packages/schmeits-filament-character-counter)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
