Breezy Weather-inspired React components. Live data from Open-Meteo. 24 packages, zero API keys, LGPL-3.0.
18 interactive components covering every aspect of weather data. Hover any widget to view its source code.
Add individual widgets with the CLI, or install packages directly. Zero config required.
npx @xl-weather/cli add header-card forecastnpm install @xl-weather/react @xl-weather/header-card @xl-weather/forecastimport { WeatherProvider } from "@xl-weather/react"
import { HeaderCard } from "@xl-weather/header-card"
import { Forecast } from "@xl-weather/forecast"
const location = {
latitude: 41.8781,
longitude: -87.6298,
timezone: "America/Chicago",
}
export default function Weather() {
return (
<WeatherProvider location={location}>
<HeaderCard config={{ location_name: "Chicago", units: "imperial" }} />
<Forecast config={{ units: "imperial", days: 7, hours: 24 }} />
</WeatherProvider>
)
}@xl-weather/header-cardCurrent conditions with dynamic gradient background
@xl-weather/forecastUnified hourly + daily + weekly forecast with day-zoom and metric tabs
@xl-weather/hourly-trend24-hour temperature trend (deprecated — re-exports Forecast)
@xl-weather/daily-forecast7-day forecast (deprecated — re-exports Forecast)
@xl-weather/windWind speed, direction, and gusts
@xl-weather/precipitationDaytime precipitation amount
@xl-weather/air-qualityAQI circular gauge with zone coloring
@xl-weather/pollenGrass, tree, and weed pollen levels
@xl-weather/humidityHumidity gauge with comfort label and dew point
@xl-weather/uv-indexUV index gauge with WHO color zones
@xl-weather/visibilityVisibility distance and clarity label
@xl-weather/pressurePressure gauge with rising/falling trend
@xl-weather/gaugeUniversal circular gauge — CV/PV/SP ranges, zone coloring, conditional icons
@xl-weather/sun-arcHalf-dome sun arc with rise/set times and current altitude
@xl-weather/moon-arcHalf-dome moon arc with rise/set times and phase
@xl-weather/moon-phaseIlluminated moon disc with phase name and illumination percentage
@xl-weather/az-elAzimuth-elevation compass showing sun and moon positions
@xl-weather/golden-hour24h golden-hour timeline strip with countdown to next window
@xl-weather/planetsVisible planets above the horizon with azimuth and altitude
@xl-weather/altitude-timelineHero 24h altitude strip for sun/moon/planets with scrubber + twilight bands
@xl-weather/settingsSettings shell with section navigation
@xl-weather/reactReact context provider with caching and refresh
@xl-weather/typesShared TypeScript interfaces and enums
@xl-weather/themeSky gradients, weather icons, theme system, ForecastGrid
@xl-weather/clientOpen-Meteo REST client with normalization layer
@xl-weather/cliAdd widgets to your project with npx @xl-weather/cli
We track Breezy Weather releases for inspiration, but xl-weather is an independent React-first library — not a port.
Open-Meteo API ----+
|
NWS API ----------+----> CompositeProvider ----> WeatherProvider (React Context)
| | |
[Future sources] --+ normalization caching + refresh
+ fallback auto-retry on errorComing soon from KraftWare
Industrial event detection, classification, and response automation. Real-time sensor fusion meets edge AI.
Learn more