PHPackages                             brookedot/weather-machine - 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. [API Development](/categories/api)
4. /
5. brookedot/weather-machine

ActiveLibrary[API Development](/categories/api)

brookedot/weather-machine
=========================

PHP wrapper for the Weather Machine API

v1.0.1(6mo ago)014AGPL-3.0PHPPHP ^8.2

Since Dec 15Pushed 6mo agoCompare

[ Source](https://github.com/BrookeDot/weather-machine-php)[ Packagist](https://packagist.org/packages/brookedot/weather-machine)[ Docs](https://github.com/BrookeDot/weather-machine-php)[ RSS](/packages/brookedot-weather-machine/feed)WikiDiscussions main Synced 3w ago

READMEChangelog (1)Dependencies (1)Versions (3)Used By (0)

Weather Machine PHP Client
==========================

[](#weather-machine-php-client)

A PHP wrapper for the [Weather Machine API](https://weathermachine.io/).

Uses Sympfony HTTP Client.

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

[](#installation)

```
composer require brookedot/weather-machine
```

Usage
-----

[](#usage)

```
use BrookeDot\WeatherMachine\WeatherMachine;

$weather = new WeatherMachine('your-api-key');

// Get hourly forecast
$hourly = $weather->location(47.608013, -122.335167)
    ->source('mock')
    ->units('si')
    ->hourly();

// Get current conditions
$current = $weather->location(47.608013, -122.335167)
    ->source('open_weather')
    ->currently();

// Get daily forecast
$daily = $weather->location(47.608013, -122.335167)
    ->source('open_weather')
    ->daily();
```

Available Methods
-----------------

[](#available-methods)

### Required

[](#required)

- `location(float $lat, float $lon)` - Set coordinates
- `source(string $source)` - Set weather data source (defaults to 'mock')

### Optional

[](#optional)

- `units(string $unit)` - Set units: us, si, ca, uk, m (default: us)
- `output(string $format)` - Set output format: base, full (default: base)

### Data Retrieval

[](#data-retrieval)

- `get()` - Get full response
- `currently()` - Get current conditions
- `hourly()` - Get hourly forecast
- `daily()` - Get daily forecast
- `minutely()` - Get minutely forecast
- `alerts()` - Get weather alerts

Available Sources
-----------------

[](#available-sources)

- accuweather
- aeris\_weather
- apple\_weather
- custom\_weather
- foreca
- mock
- open\_weather
- pirate\_weather
- the\_weather\_company
- tomorrow\_io
- visual\_crossing
- weatherbit

License
-------

[](#license)

AGPL V3 or later License - see LICENSE file for details.

###  Health Score

34

—

LowBetter than 75% of packages

Maintenance67

Regular maintenance activity

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~0 days

Total

2

Last Release

192d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1ac8ccba9f10cc308cb30d015b9329fbcfd7ee40ad77caaae86e3ab78ae86090?d=identicon)[brookedot](/maintainers/brookedot)

---

Top Contributors

[![BrookeDot](https://avatars.githubusercontent.com/u/150348?v=4)](https://github.com/BrookeDot "BrookeDot (5 commits)")

---

Tags

apiweatherforecastweather-machine-php

### Embed Badge

![Health badge](/badges/brookedot-weather-machine/health.svg)

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

###  Alternatives

[temporal/sdk

Temporal SDK

4102.7M22](/packages/temporal-sdk)[adinan-cenci/climatempo-api

Uma api para previsão de tempo escrita em PHP.

458.3k](/packages/adinan-cenci-climatempo-api)[rakibdevs/openweather-laravel-api

Laravel package to connect https://openweathermap.org/ to get customized weather data for any location on the globe immediately

7651.3k](/packages/rakibdevs-openweather-laravel-api)[rugaard/weatherkit

Integrate Apple WeatherKit API into your project

111.4k](/packages/rugaard-weatherkit)

PHPackages © 2026

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