PyPI   PyPI version

The mockserver-client package provides a Python client for MockServer's control-plane REST API, with support for synchronous and asyncio usage, WebSocket response callbacks, and an on-demand binary launcher that starts MockServer without Java or Docker.

Install

pip install mockserver-client

Quick start

from mockserver import MockServerClient, HttpRequest, HttpResponse

client = MockServerClient("localhost", 1080)

# Create an expectation
client.when(
    HttpRequest.request("/api/users").with_method("GET")
).respond(
    HttpResponse.response('{"users": []}', status_code=200)
)

# Verify the request was received
client.verify(
    HttpRequest.request("/api/users").with_method("GET")
)

# Reset
client.reset()
client.close()

Async usage

import asyncio
from mockserver import AsyncMockServerClient, HttpRequest, HttpResponse

async def main():
    async with AsyncMockServerClient("localhost", 1080) as client:
        await client.when(
            HttpRequest.request("/api/data")
        ).respond(
            HttpResponse.response('{"key": "value"}')
        )

asyncio.run(main())

Launch MockServer from Python

The package includes a binary launcher — no Java installation or Docker required:

from mockserver.launcher import start

with start(port=1080) as server:
    print(f"MockServer running on port {server.port}")
    # ... use MockServer ...

See Running MockServer — client library launcher for full launcher options (version pinning, cache directory, air-gapped networks).

For the full Python client API, see MockServer clients.