# guzzle/promises

Promises/A+ library for PHP with synchronous support

Repository: https://github.com/guzzle/promises
Canonical: https://ross.abutalabs.com/products/promises
Language: PHP
License: MIT
License Family: permissive
Last push: 2026-08-24T10:00:45+00:00

## Health v2 (maintenance only)
Score: 99/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 99, longevity 100
- inputs: {"age_days": 4207, "days_push": 9, "days_rel": 9, "gap_med": 12, "n_releases_24m": 14}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 7717, forks 128 (observed 2026-08-28T04:10:02.567641+00:00)

## What it is
A Promises/A+ implementation for PHP that supports promise chaining, synchronous waiting, cancellation, and promise groups. It is the promise library used by Guzzle for asynchronous HTTP operations and can be used standalone for promise composition.

## Use cases
- handle asynchronous HTTP requests with Guzzle's requestAsync
- chain async operations with then() handlers in PHP
- wait for async results synchronously with wait()
- compose and manage groups of promises
- cancel pending asynchronous operations

## When to choose
- you use Guzzle and need to work with its PromiseInterface results
- you need Promises/A+ semantics in PHP without a full async framework
- you want promise composition with the option of synchronous waiting

## When to avoid
- you need true parallel async I/O with an event loop (consider ReactPHP or Swoole)
- your project uses a different promise library with incompatible interfaces

## Facets
- artifact type: library
- maturity: stable
- function: concurrency, http-client
- domain: developer-tools, web-development, backend
- platform: php
- tags: promises, async, promise-chaining, guzzle

## Member repositories
- guzzle/promises (main) score 99

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:02.567641+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:35:19.178089+00:00, confidence not recorded.
  - readme: https://github.com/guzzle/promises (fetched 2026-08-28T04:10:02.567641+00:00, sha a3cd564a0beb)
- Data as of 2026-08-30T08:39:29.467469+00:00.
