PHPackages                             maximantonisin/spirit-client - 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. [HTTP &amp; Networking](/categories/http)
4. /
5. maximantonisin/spirit-client

ActiveLibrary[HTTP &amp; Networking](/categories/http)

maximantonisin/spirit-client
============================

Abstract Guzzle Client instance

v1.3.1-beta(3y ago)1828MITPHPPHP &gt;=7.2CI failing

Since Apr 8Pushed 3y ago2 watchersCompare

[ Source](https://github.com/antonisin/spirit-client)[ Packagist](https://packagist.org/packages/maximantonisin/spirit-client)[ RSS](/packages/maximantonisin-spirit-client/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (7)Dependencies (2)Versions (13)Used By (0)

Spirit Client (Guzzle abstract class)
=====================================

[](#spirit-client-guzzle-abstract-class)

Author
------

[](#author)

Maxim Antonisin

[Linkedin](https://www.linkedin.com/in/mantonishin/)

Description
-----------

[](#description)

@TODO Add description.

Requirements
------------

[](#requirements)

- PHP 7.2+
- guzzlehttp/guzzle vendor
- symfony/http-foundation

Using
-----

[](#using)

### Alone

[](#alone)

#### Client (Sync)

[](#client-sync)

```
require_once './vendor/autoload.php';

use \Symfony\Component\HttpFoundation\Request;

$client = new MaximAntonisin\Spirit\SpiritClient([
    'base_uri' => 'json.maximus.pw',
]);

$client->sendRequest('', Request::METHOD_GET, [
    /** Request options. */
]);

/** @var array $response */
/** Response will contain json_decode-ed as array. */
$response = $client->getContent();

```

#### Client Async

[](#client-async)

```
require_once './vendor/autoload.php';

use \Symfony\Component\HttpFoundation\Request;

$client = new MaximAntonisin\Spirit\SpiritAsyncClient([
    'base_uri' => 'json.maximus.pw',
]);

/** Request #1 */
$client->addRequest(Request::METHOD_POST, '', [
    /** Request options. */
]);

/** Request #2 */
$client->addRequest(Request::METHOD_POST, '', [
    /** Request options. */
]);
$client->sendAll();

/** @var array $responses */
/** Responses will contain json_decode-ed responses as array. */
$responses = $client->getContents();

```

### Class implementation (extend)

[](#class-implementation-extend)

#### Client (Sync)

[](#client-sync-1)

```
require_once './vendor/autoload.php';

use MaximAntonisin\Spirit\SpiritClient;
use \Symfony\Component\HttpFoundation\Request;

/**
 * ... Class description ...
 *
 * @author Maxim Antonisin
 *
 * @version 1.0.0
 */
class MyClass extends SpiritClient
{
    /**
     * {@inheridDoc}
     */
    protected $baseUrl = 'json.maximus.pw';

    /**
     * ... Method description ...
     */
    public function myMethod()
    {
        $this->sendRequest('', Request::METHOD_GET, [
            /** Request options. */
        ]);

        /** @var array $response */
        /** Response will contain json_decode-ed as array. */
        $response = $this->getContent();
    }
}

$instance = new MyClass();
$instance->myMethod();

```

#### Client Async

[](#client-async-1)

```
require_once './vendor/autoload.php';

use MaximAntonisin\Spirit\SpiritAsyncClient;
use \Symfony\Component\HttpFoundation\Request;

/**
 * ... Class description ...
 *
 * @author Maxim Antonisin
 *
 * @version 1.0.0
 */
class MyAsyncClass extends SpiritAsyncClient
{
    /**
     * {@inheridDoc}
     */
    protected $baseUrl = 'json.maximus.pw';

    /**
     * ... Method description ...
     */
    public function myMethod()
    {
        /** Request #1 */
        $this->addRequest(Request::METHOD_POST, '', [
            /** Request options. */
        ]);

        /** Request #2 */
        $this->addRequest(Request::METHOD_POST, '', [
            /** Request options. */
        ]);
        $this->sendAll();

        /** @var array $responses */
        /** Responses will contain json_decode-ed responses as array. */
        $responses = $this->getContents();
    }
}

$instance = new MyAsyncClass();
$instance->myMethod();

```

@TODO Add all requirements.

@TODO Add more information

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity44

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 ~150 days

Total

7

Last Release

1320d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1049b00c3e6a3332b17a39904753227adf2501753ea7c916f4fca7899b76e422?d=identicon)[antonisin](/maintainers/antonisin)

---

Top Contributors

[![antonisin](https://avatars.githubusercontent.com/u/9513679?v=4)](https://github.com/antonisin "antonisin (18 commits)")

### Embed Badge

![Health badge](/badges/maximantonisin-spirit-client/health.svg)

```
[![Health](https://phpackages.com/badges/maximantonisin-spirit-client/health.svg)](https://phpackages.com/packages/maximantonisin-spirit-client)
```

###  Alternatives

[spatie/crawler

Crawl all internal links found on a website

2.8k16.3M52](/packages/spatie-crawler)[illuminate/http

The Illuminate Http package.

11936.0M5.1k](/packages/illuminate-http)[api-platform/http-cache

API Platform HttpCache component

223.2M7](/packages/api-platform-http-cache)[muhammadhuzaifa/telescope-guzzle-watcher

Telescope Guzzle Watcher provide a custom watcher for intercepting http requests made via guzzlehttp/guzzle php library. The package uses the on\_stats request option for extracting the request/response data. The watcher intercept and log the request into the Laravel Telescope HTTP Client Watcher.

98239.8k1](/packages/muhammadhuzaifa-telescope-guzzle-watcher)[ory/hydra-client-php

Documentation for all of Ory Hydra's APIs.

1710.8k](/packages/ory-hydra-client-php)[meteocontrol/vcom-api-client

HTTP Client for meteocontrol's VCOM API - The VCOM API enables you to directly access your data on the meteocontrol platform.

175.7k1](/packages/meteocontrol-vcom-api-client)

PHPackages © 2026

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