cline/idempotency

Generate reproducible idempotency keys from any data format (JSON, XML, YAML, arrays, objects) regardless of key order

Maintainers

👁 faustbrian

Package info

github.com/faustbrian/idempotency

pkg:composer/cline/idempotency

Statistics

Installs: 6 087

Dependents: 1

Suggesters: 1

Stars: 0

Open Issues: 0

2.0.2 2026-03-18 16:45 UTC

Requires

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 040b6dc3196f6c2cdaf4b7acb68278fdcde1ac43

  • Brian Faust <brian.woop@cline.sh>

phphashidempotencykey-generationdata-normalization

This package is auto-updated.

Last update: 2026-06-18 17:26:11 UTC


README

👁 GitHub Workflow Status
👁 Latest Version on Packagist
👁 Software License
👁 Total Downloads

Idempotency

Generate reproducible idempotency keys from any data format (JSON, XML, YAML, arrays, objects) regardless of key order.

Requirements

Requires PHP 8.4+

Installation

composer require cline/idempotency

Quick Start

use Cline\Idempotency\IdempotencyKey;

// Generate a key from any data
$key = IdempotencyKey::create(['name' => 'John', 'age' => 30]);
echo $key->toString(); // "e4a7f8b3c2d1a9f6..."

// Key order doesn't matter - same data produces same key
$key1 = IdempotencyKey::create(['name' => 'John', 'age' => 30]);
$key2 = IdempotencyKey::create(['age' => 30, 'name' => 'John']);
$key1->equals($key2); // true

Documentation

Change log

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING and CODE_OF_CONDUCT for details.

Security

If you discover any security related issues, please use the GitHub security reporting form rather than the issue queue.

Credits

License

The MIT License. Please see License File for more information.