PHPackages                             hmaus/branda - 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. hmaus/branda

AbandonedArchivedLibrary

hmaus/branda
============

API Description Mock Server

29211PHP

Since Oct 26Pushed 9y ago3 watchersCompare

[ Source](https://github.com/hendrikmaus/branda)[ Packagist](https://packagist.org/packages/hmaus/branda)[ RSS](/packages/hmaus-branda/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (1)Used By (1)

Branda
======

[](#branda)

An API description mock server.

[![Minimum PHP Version](https://camo.githubusercontent.com/5c3072425e67297c8ef63d17acd2c86a0d2ef324f19249f2280bd7de902f63a2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344253230372e302d3838393242462e737667)](https://php.net/)[![Build Status](https://camo.githubusercontent.com/362f951b32c872fe763a1b2e089e2c3dbb614304a0c9221ba2c30a41cfca228b/68747470733a2f2f7472617669732d63692e6f72672f68656e6472696b6d6175732f6272616e64612e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/hendrikmaus/branda)[![codecov](https://camo.githubusercontent.com/c2d47d487561a4175d76daa706539993ce477a0becd0b4bdc8512e1624e7b201/68747470733a2f2f636f6465636f762e696f2f67682f68656e6472696b6d6175732f6272616e64612f6272616e63682f6d61737465722f67726170682f62616467652e737667)](https://codecov.io/gh/hendrikmaus/branda)[![Code Climate](https://camo.githubusercontent.com/6f4c7e2445a49dd61926838ecbe4be0830026c6de1af1b33b5e7accd93530a97/68747470733a2f2f636f6465636c696d6174652e636f6d2f6769746875622f68656e6472696b6d6175732f6272616e64612f6261646765732f6770612e737667)](https://codeclimate.com/github/hendrikmaus/branda)

Note
----

[](#note)

Branda is currently **experimental**!
It only supports API Blueprint as we speak.

Installation And Usage
----------------------

[](#installation-and-usage)

### Docker

[](#docker)

If you are familiar with docker, it is by far the most comfortable way to use branda:

> Mac users: make sure that your files can be made available to docker. E.g.: with docker-machine-nfs, mount the respective folder or you `-v` won't work with docker

```
docker run -it --name "branda" --rm -p 8000:8000 \
  -v $(pwd):/appdata hendrikmaus/branda \
  mock 0.0.0.0 -f /appdata/your-service.apib
```

Let's get into the details of that command:

- `docker run -it --name "branda" --rm`

    - `-t` Allocate a pseudo-tty
    - `-i` Keep STDIN open even if not attached
    - `--name "branda"` Name of the container
    - `--rm` Cleanup when the container exits
- `-p 8000:8000`

    - Port mapping
    - branda will listen on port 8000 by default, but you can change it using an option
    - Note for Mac users: you will expose the port on the IP of your vm solution, e.g. docker-machine
- `-v $(pwd):/appdata hendrikmaus/branda \`

    - `-v` Mount current working directory into `/appdata` folder inside the container
    - `hendrikmaus/branda` is the image name (and tag)
- `mock 0.0.0.0 -f /appdata/your-service.apib`

    These are the actual arguments and options passed to branda. make sure to listen on the public interface. When passing your file into it, remember it sits inside of `/appdata` in the container and `/appdata` is equal to the structure of your current working directory

#### Stopping Branda

[](#stopping-branda)

`docker stop branda`

### Source

[](#source)

> **Pre-Requisites:**
> Installing branda from source means your machine must have PHP &gt;= 7 and Cpp tools to compile Drafter

The recommended way to install branda is by using composer.
Since there currently is a dependency on drafter, you have to add this to your `scripts` section in composer.json:

```
  "extra": {
    "drafter-installer-tag": "v3.1.3"
  },
  "scripts": {
    "install-drafter": "Hmaus\\Drafter\\Installer::installDrafter",
    "post-install-cmd": [
      "@install-drafter"
    ],
    "post-update-cmd": [
      "@install-drafter"
    ]
  }
```

Now you can require branda itself:

```
composer require hmaus/branda
```

> You have to require dev-master since there is no tag on the experimental version yet

Usage
-----

[](#usage)

The simplest example to fire up a mock server:

```
vendor/bin/branda mock --file "your-service.apib"
```

> When installing using composer, branda will install to your `bin` folder, `vendor/bin` by default

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity41

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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/ed0b339a154b415594b6480f1a0ee0ac45fd395033123ea484cfe78f29f13dae?d=identicon)[hendrikmaus](/maintainers/hendrikmaus)

---

Top Contributors

[![hendrikmaus](https://avatars.githubusercontent.com/u/188284?v=4)](https://github.com/hendrikmaus "hendrikmaus (31 commits)")

### Embed Badge

![Health badge](/badges/hmaus-branda/health.svg)

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

PHPackages © 2026

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