PHPackages                             batistackapp/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. batistackapp/weather-widget

ActiveLibrary

batistackapp/weather-widget
===========================

A weather widget for Filament

1.0.0(yesterday)014↑542.9%MITPHPPHP ^8.2

Since Apr 6Pushed yesterdayCompare

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

READMEChangelog (1)Dependencies (10)Versions (2)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

42

—

FairBetter than 89% of packages

Maintenance100

Actively maintained with recent releases

Popularity8

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 78.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

Unknown

Total

1

Last Release

1d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2837bbbc36d8550567dadcfe1eaf3170ba56aa68debfb65082043799d55c5eee?d=identicon)[vortechstudio](/maintainers/vortechstudio)

---

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)")[![vortechstudio](https://avatars.githubusercontent.com/u/155325740?v=4)](https://github.com/vortechstudio "vortechstudio (1 commits)")

---

Tags

laravelfilamentfilament-pluginarshavirasweather-widget

###  Code Quality

TestsPest

Code StyleLaravel Pint

### Embed Badge

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

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

###  Alternatives

[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[croustibat/filament-jobs-monitor

Background Jobs monitoring like Horizon for all drivers for FilamentPHP

254255.2k6](/packages/croustibat-filament-jobs-monitor)[pboivin/filament-peek

Full-screen page preview modal for Filament

253319.6k12](/packages/pboivin-filament-peek)[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)[guava/filament-modal-relation-managers

Allows you to embed relation managers inside filament modals.

7565.0k4](/packages/guava-filament-modal-relation-managers)[caresome/filament-neobrutalism-theme

A neobrutalism theme for FilamentPHP admin panels

303.2k](/packages/caresome-filament-neobrutalism-theme)

PHPackages © 2026

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