PHPackages                             kmuenkel/conduit - 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. [Testing &amp; Quality](/categories/testing)
4. /
5. kmuenkel/conduit

ActiveLibrary[Testing &amp; Quality](/categories/testing)

kmuenkel/conduit
================

Easily produce Adapter classes and dummy-responses for testing them

v2.2.2(6y ago)03091MITPHPPHP &gt;=7.4

Since Nov 21Pushed 3y ago1 watchersCompare

[ Source](https://github.com/kmuenkel/conduit)[ Packagist](https://packagist.org/packages/kmuenkel/conduit)[ RSS](/packages/kmuenkel-conduit/feed)WikiDiscussions master Synced today

READMEChangelog (10)Dependencies (4)Versions (34)Used By (0)

This package allows for easy creation of API adapters. Extendable to include support for things like SOAP or FTP. Eloquent\\Model-like structure, i.e. one class per endpoint that doubles as a response Struct. And Mockery-like ability to cordon off external calls and send back dummy-responses for the sake of PhpUnit.

This borrows a lot of inspiration from Eloquent in how it's structured.

- "Endpoints" are as simple to spin up as Model classes. As the name suggests, one Endpoint class per external API endpoint you might want to communicate with.
- Similar to Model classes, these objects also serve as Structs for the response content, which has various normalizers that can parse HTML, XML, or JSON. Additional parsers can be added as needed, and be made Traversable if at all possible (similar to Collections).
- The "Adapter" class an Endpoint uses to convert its parameters has a compositional relationship with the Endpoint, largely to give ServiceProviders the opportunity to auto-inject some Middleware. Though most of the time, the Endpoint itself would supply that. (Like OAuth or SAML. These don't exist yet, but that's where you'd put them.) The Adapter can actually be leveraged independently of an Endpoint, similar to Models vs. Query-Builder.
- The request parameters are then send on to a Bridge, that would typically be a Facade for whatever mechanism ultimately sends the request off. (Like how Query-Builder uses DB Grammar classes.) Right now only a Guzzle (cURL) one exists, but by building a compositional relationship here dependent on the Interface rather than concrete class, we have the opportunity to add others, like SOAP or FTP.

###  Health Score

33

—

LowBetter than 74% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity74

Established project with proven stability

 Bus Factor1

Top contributor holds 97.3% 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 ~26 days

Recently: every ~0 days

Total

32

Last Release

2291d ago

Major Versions

v1.0.0 → v2.0.02020-01-29

PHP version history (5 changes)v1.0.0PHP &gt;=7.0.0

v2.0.10PHP &gt;=7.2

v2.0.17PHP &gt;=7.3

v2.0.20PHP &gt;=7.4

v2.0.7PHP &gt;=7.1.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/86619ba927c0055375588f0c21d6d0d89be6a74e4a2cb98558062c852ebe5c66?d=identicon)[kmuenkel](/maintainers/kmuenkel)

---

Top Contributors

[![kmuenkel](https://avatars.githubusercontent.com/u/17931045?v=4)](https://github.com/kmuenkel "kmuenkel (36 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (1 commits)")

---

Tags

adapterapiguzzlehttpintegrationlaravelphptestingtestingapilaravelgeneratoradapter

### Embed Badge

![Health badge](/badges/kmuenkel-conduit/health.svg)

```
[![Health](https://phpackages.com/badges/kmuenkel-conduit/health.svg)](https://phpackages.com/packages/kmuenkel-conduit)
```

PHPackages © 2026

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