PHPackages                             matteocacciola/grinning-cat-php-sdk - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. matteocacciola/grinning-cat-php-sdk

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

matteocacciola/grinning-cat-php-sdk
===================================

Grinning Cat PHP Sdk

00PHP

Since Mar 7Pushed 2mo agoCompare

[ Source](https://github.com/matteocacciola/grinning-cat-php-sdk)[ Packagist](https://packagist.org/packages/matteocacciola/grinning-cat-php-sdk)[ RSS](/packages/matteocacciola-grinning-cat-php-sdk/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

GrinningCat PHP SDK
===================

[](#grinningcat-php-sdk)

---

**Grinning Cat PHP SDK** is a library to help the implementation of [Grinning Cat](https://github.com/matteocacciola/grinning-cat-core) on a PHP Project

- [Installation](#installation)
- [Usage](#usage)

Installation
------------

[](#installation)

To install GrinningCat PHP SDK you can run this command:

```
composer require matteocacciola/grinning-cat-php-sdk
```

Usage
-----

[](#usage)

Initialization and usage:

```
use DataMat\GrinningCat\GrinningCatClient;
use DataMat\GrinningCat\Clients\HttpClient;
use DataMat\GrinningCat\Clients\WSClient;

$grinningCatClient = new GrinningCatClient(
    new WSClient('grinning_cat_core', 1865, null),
    new HttpClient('grinning_cat_core', 1865, null)
);
```

Send a message to the websocket:

```
$notificationClosure = function (string $message) {
    // handle websocket notification, like chat token stream
}

// result is the result of the message
$result = $grinningCatClient->message()->sendWebsocketMessage(
    new Message("Hello world!", 'user', []),  // message body
    $notificationClosure // websocket notification closure handle
);
```

Load data to the rabbit hole:

```
//file
$promise = $grinningCatClient->rabbitHole()->postFile($uploadedFile->getPathname());
$promise->wait();

//url
$promise = $grinningCatClient->rabbitHole()->postWeb($url);
$promise->wait();
```

Memory management utilities:

```
$grinningCatClient->memory()->getMemoryCollections(); // get number of vectors in the working memory
$grinningCatClient->memory()->getMemoryRecall("HELLO"); // recall memories by text

//delete memory points by metadata, like this example delete by source
$grinningCatClient->memory()->deleteMemoryPointsByMetadata(Collection.Declarative, ["source" => $url]);
```

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance58

Moderate activity, may be stable

Popularity0

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

 Bus Factor1

Top contributor holds 68.6% 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/e5d38d38c353d06c9f3f3468d1ea12e157c774b1eba61859e2ea2904e8a4d18d?d=identicon)[matteo.cacciola](/maintainers/matteo.cacciola)

---

Top Contributors

[![matteocacciola](https://avatars.githubusercontent.com/u/28953594?v=4)](https://github.com/matteocacciola "matteocacciola (116 commits)")[![AlboCode](https://avatars.githubusercontent.com/u/25480941?v=4)](https://github.com/AlboCode "AlboCode (51 commits)")[![giovannialbero1992](https://avatars.githubusercontent.com/u/11536977?v=4)](https://github.com/giovannialbero1992 "giovannialbero1992 (1 commits)")[![valentimarco](https://avatars.githubusercontent.com/u/26926690?v=4)](https://github.com/valentimarco "valentimarco (1 commits)")

### Embed Badge

![Health badge](/badges/matteocacciola-grinning-cat-php-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/matteocacciola-grinning-cat-php-sdk/health.svg)](https://phpackages.com/packages/matteocacciola-grinning-cat-php-sdk)
```

###  Alternatives

[madeyourday/contao-rocksolid-custom-elements

Create your own, nestable content elements using a modular system. End the WYSIWYG chaos with your own content elements.

50341.9k12](/packages/madeyourday-contao-rocksolid-custom-elements)[yireo/magento2-replace-bundled

Replace bundled third party packages from Magento

45335.0k1](/packages/yireo-magento2-replace-bundled)

PHPackages © 2026

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