PHPackages                             gcdtech/module-cyclops - 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. [API Development](/categories/api)
4. /
5. gcdtech/module-cyclops

ActiveLibrary[API Development](/categories/api)

gcdtech/module-cyclops
======================

A module for retrieving and sending data to Cyclops

1.1.9(2y ago)07.1k1Apache-2.0PHP

Since Mar 21Pushed 2y ago16 watchersCompare

[ Source](https://github.com/GCDTech/Module.Cyclops)[ Packagist](https://packagist.org/packages/gcdtech/module-cyclops)[ RSS](/packages/gcdtech-module-cyclops/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (10)Dependencies (3)Versions (24)Used By (0)

Module.Cyclops
==============

[](#modulecyclops)

Module for retrieving and sending data to cyclops

Commands
--------

[](#commands)

- `PushStateToCyclopsCommand.php` Abstract Custard Command for pushing the state of Cyclops Customers.
- `PushDeletedToCyclopsCommand.php` Deletes a list of Cyclops Customers.
- `PushStaleToCyclopsCommand.php` Updates a list of Cyclops Customers' brand opt ins that have failed before.
- `PullChangesFromCyclopsCommand.php` Retrieves a list of updates made to Cyclops Customers' brand opt ins, allowing us to update project specific members to the same status.

Entities
--------

[](#entities)

- `CustomerEntity.php` Used for most of our use cases, this combines a CyclopsIdentityEntity with their BrandOptIn value.
- `CyclopsIdentityEntity.php` How we identify a Cyclops Customer - made up of email, id, forename and surname.
- `CyclopsCustomerListEntity.php` Made up of an array of CustomerEntities, used in our "Push to Cyclops" use cases.

Exceptions
----------

[](#exceptions)

Cyclops API has a few exceptions it throws for specific end points. The ones we handle are:

- `ConflictException.php` Thrown if the parameters we send are invalid.
- `CustomerNotFoundException.php` Thrown if the customer we are updating or deleting is not found in Cyclops API.
- `CyclopsException.php` Base exception that all others extend.
- `UserForbiddenException.php` Thrown if the user we access Cyclops API as does not have read or write permissions.

Settings
--------

[](#settings)

The url, username and password we use to access the Cyclops API are set in `CyclopsSettings.php`

Use Cases
---------

[](#use-cases)

- `DeleteCustomerUseCase.php`
- `GetBrandOptInStatusChangesUseCase.php`
- `GetBrandOptInUseCase.php`
- `PullChangesFromCyclopsUseCase.php`
- `PushDeletedToCyclopsUseCase.php`
- `PushStaleToCyclopsUseCase.php`

###  Health Score

35

—

LowBetter than 79% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity73

Established project with proven stability

 Bus Factor1

Top contributor holds 82% 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 ~99 days

Recently: every ~434 days

Total

21

Last Release

982d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/8905301607df4f73893d5b665c97b959572bc9394a5ff3c9f5907de6531aad6d?d=identicon)[acuthbert](/maintainers/acuthbert)

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

---

Top Contributors

[![catherineGCD](https://avatars.githubusercontent.com/u/4903598?v=4)](https://github.com/catherineGCD "catherineGCD (73 commits)")[![samnotsowise](https://avatars.githubusercontent.com/u/2360744?v=4)](https://github.com/samnotsowise "samnotsowise (7 commits)")[![mballantinegcd](https://avatars.githubusercontent.com/u/91612807?v=4)](https://github.com/mballantinegcd "mballantinegcd (6 commits)")[![wmccoubrey](https://avatars.githubusercontent.com/u/28304035?v=4)](https://github.com/wmccoubrey "wmccoubrey (3 commits)")

###  Code Quality

TestsCodeception

### Embed Badge

![Health badge](/badges/gcdtech-module-cyclops/health.svg)

```
[![Health](https://phpackages.com/badges/gcdtech-module-cyclops/health.svg)](https://phpackages.com/packages/gcdtech-module-cyclops)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M480](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M272](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M187](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)[google/gax

Google API Core for PHP

263103.1M454](/packages/google-gax)

PHPackages © 2026

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