PHPackages                             brightecapital/sqs - 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. [Queues &amp; Workers](/categories/queues)
4. /
5. brightecapital/sqs

AbandonedArchivedLibrary[Queues &amp; Workers](/categories/queues)

brightecapital/sqs
==================

AWS SQS Transport (fork and improve from enqueue/sqs)

1.0.3(6y ago)012.8k1MITPHPPHP ^7.1.3

Since Apr 28Pushed 6y agoCompare

[ Source](https://github.com/brighte-capital/sqs)[ Packagist](https://packagist.org/packages/brightecapital/sqs)[ Docs](https://github.com/brightecapital/)[ RSS](/packages/brightecapital-sqs/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependencies (6)Versions (55)Used By (0)

Brighte Sqs
===========

[](#brighte-sqs)

[![Software license](https://camo.githubusercontent.com/bbdd77cc9c23829c447dea1e51596b0137c58f2c62d19014ff13101e2157e5eb/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6e726b2f7072656469732e737667)](LICENSE)[![Version](https://camo.githubusercontent.com/db83c3bc3001abcc58ec956691aa9a5a5db8b3df55920c617bf2e792e32fa37d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f627269676874656361706974616c2f7371732e737667)](https://packagist.org/packages/brightecapital/sqs)[![Download](https://camo.githubusercontent.com/5c376d52b8bd206d8cef96a59ddd593f730ad711b1699774c727eaf3aa8e9a4e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f646d2f627269676874656361706974616c2f7371732e737667)](https://packagist.org/packages/brightecapital/sqs/stats)[![Build status](https://camo.githubusercontent.com/bb0a221bd353d8ab4e844001926dea09523370e1c47670d0ddd7f65fb7f5c361/68747470733a2f2f7472617669732d63692e636f6d2f627269676874652d6361706974616c2f7371732e7376673f6272616e63683d6d6173746572)](https://travis-ci.com/brighte-capital/sqs)[![Coverage](https://camo.githubusercontent.com/3775b0b37ce56b48d5c9638a8c02b4e45002147c522e160c7801b20304311424/68747470733a2f2f636f6465636f762e696f2f67682f627269676874652d6361706974616c2f7371732f6272616e63682f6d61737465722f67726170682f62616467652e737667)](https://codecov.io/gh/brighte-capital/sqs)

Description
===========

[](#description)

This project was forked from [enqueue/sqs](https://github.com/php-enqueue/sqs) and made the following improvements:

- Move all classes to src
- Rename Tests to tests
- Move examples to tests
- Change namespace to Brighte\\Sqs

SqsProducer-&gt;send():

```
public function send(Destination $destination, Message $message): void
    {
        InvalidDestinationException::assertDestinationInstanceOf($destination, SqsDestination::class);
        InvalidMessageException::assertMessageInstanceOf($message, SqsMessage::class);

        $body = $message->getBody();
        if (empty($body)) {
            throw new InvalidMessageException('The message body must be a non-empty string.');
        }

        $arguments = [
            '@region' => $destination->getRegion(),
            'MessageBody' => $body,
            'QueueUrl' => $this->context->getQueueUrl($destination),
        ];

        if (null !== $this->deliveryDelay) {
            $arguments['DelaySeconds'] = (int) $this->deliveryDelay / 1000;
        }

        if ($message->getDelaySeconds()) {
            $arguments['DelaySeconds'] = $message->getDelaySeconds();
        }

        if ($message->getMessageDeduplicationId()) {
            $arguments['MessageDeduplicationId'] = $message->getMessageDeduplicationId();
        }

        if ($message->getMessageGroupId()) {
            $arguments['MessageGroupId'] = $message->getMessageGroupId();
        }

        if ($message->getHeaders()) {
            $arguments['MessageAttributes']['Headers'] = [
                'DataType' => 'String',
                'StringValue' => json_encode([$message->getHeaders()]),
            ];
        }

        if ($message->getProperties()) {
            foreach ($message->getProperties() as $name => $value) {
                $arguments['MessageAttributes'][$name] = ['DataType' => 'String', 'StringValue' => $value];
            }
        }

        $result = $this->context->getSqsClient()->sendMessage($arguments);

        if (false == $result->hasKey('MessageId')) {
            throw new \RuntimeException('Message was not sent');
        }

        $message->setMessageId($result['MessageId']);
    }
```

SqsConsumer-&gt;covertMessage():

```
protected function convertMessage(array $sqsMessage): SqsMessage
    {
        $message = $this->context->createMessage();

        $message->setBody($sqsMessage['Body']);
        $message->setReceiptHandle($sqsMessage['ReceiptHandle']);

        if (isset($sqsMessage['Attributes'])) {
            $message->setAttributes($sqsMessage['Attributes']);

            if (isset($sqsMessage['Attributes']['MessageDeduplicationId'])) {
                $message->setMessageDeduplicationId($sqsMessage['Attributes']['MessageDeduplicationId']);
            }

            if (isset($sqsMessage['Attributes']['MessageGroupId'])) {
                $message->setMessageGroupId($sqsMessage['Attributes']['MessageGroupId']);
            }
        }

        if (isset($sqsMessage['Attributes']['ApproximateReceiveCount'])) {
            $message->setRedelivered(((int) $sqsMessage['Attributes']['ApproximateReceiveCount']) > 1);
        }

        if (isset($sqsMessage['MessageAttributes'])) {
            foreach ($sqsMessage['MessageAttributes'] as $name => $attribute) {
                if ($name == 'Headers') {
                    $headers = json_decode($attribute['StringValue'], true);
                    $message->setHeaders($headers);
                } else {
                    $message->setProperty($name, $attribute['StringValue']);
                }
            }
        }

        if (isset($sqsMessage['MessageId'])) {
            $message->setMessageId($sqsMessage['MessageId']);
        }

        return $message;
    }
```

###  Health Score

35

—

LowBetter than 77% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity72

Established project with proven stability

 Bus Factor1

Top contributor holds 65.8% 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 ~17 days

Recently: every ~29 days

Total

53

Last Release

2449d ago

Major Versions

0.9.12 → 1.0.02019-10-04

PHP version history (2 changes)0.3.6PHP &gt;=5.6

0.9.x-devPHP ^7.1.3

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/46544551?v=4)[Brighte Capital](/maintainers/brightecapital)[@brightecapital](https://github.com/brightecapital)

---

Top Contributors

[![makasim](https://avatars.githubusercontent.com/u/143206?v=4)](https://github.com/makasim "makasim (79 commits)")[![ASKozienko](https://avatars.githubusercontent.com/u/100460?v=4)](https://github.com/ASKozienko "ASKozienko (18 commits)")[![elazar](https://avatars.githubusercontent.com/u/15487?v=4)](https://github.com/elazar "elazar (6 commits)")[![beryllium](https://avatars.githubusercontent.com/u/602491?v=4)](https://github.com/beryllium "beryllium (5 commits)")[![cshum](https://avatars.githubusercontent.com/u/293790?v=4)](https://github.com/cshum "cshum (2 commits)")[![deguif](https://avatars.githubusercontent.com/u/993399?v=4)](https://github.com/deguif "deguif (2 commits)")[![Steveb-p](https://avatars.githubusercontent.com/u/3183926?v=4)](https://github.com/Steveb-p "Steveb-p (1 commits)")[![asilgalis](https://avatars.githubusercontent.com/u/3510588?v=4)](https://github.com/asilgalis "asilgalis (1 commits)")[![webmake](https://avatars.githubusercontent.com/u/5016464?v=4)](https://github.com/webmake "webmake (1 commits)")[![bendavies](https://avatars.githubusercontent.com/u/625392?v=4)](https://github.com/bendavies "bendavies (1 commits)")[![mbeccati](https://avatars.githubusercontent.com/u/282388?v=4)](https://github.com/mbeccati "mbeccati (1 commits)")[![Orkin](https://avatars.githubusercontent.com/u/1061903?v=4)](https://github.com/Orkin "Orkin (1 commits)")[![rpkamp](https://avatars.githubusercontent.com/u/1059790?v=4)](https://github.com/rpkamp "rpkamp (1 commits)")[![samnela](https://avatars.githubusercontent.com/u/1852108?v=4)](https://github.com/samnela "samnela (1 commits)")

---

Tags

awsclientsqsawsqueuemessagingsqs

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/brightecapital-sqs/health.svg)

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

###  Alternatives

[enqueue/sqs

Message Queue Amazon SQS Transport

376.5M17](/packages/enqueue-sqs)[shiftonelabs/laravel-sqs-fifo-queue

Adds a Laravel queue driver for Amazon SQS FIFO queues.

1556.5M4](/packages/shiftonelabs-laravel-sqs-fifo-queue)[joblocal/laravel-sqs-sns-subscription-queue

A simple Laravel service provider which adds a new queue connector to handle SNS subscription queues.

48444.9k](/packages/joblocal-laravel-sqs-sns-subscription-queue)[pod-point/laravel-aws-pubsub

A Laravel broadcasting driver and queue driver that broadcasts and listens to published events utilising AWS SNS, EventBridge and SQS.

1099.0k](/packages/pod-point-laravel-aws-pubsub)

PHPackages © 2026

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