PHPackages                             qroques/resilient-data - 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. qroques/resilient-data

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

qroques/resilient-data
======================

A package to make data resilient

v0.8.0(1y ago)014[4 PRs](https://github.com/qroques/resilientData/pulls)MITPHPPHP &gt;=8.3

Since Jun 15Pushed 1y ago1 watchersCompare

[ Source](https://github.com/qroques/resilientData)[ Packagist](https://packagist.org/packages/qroques/resilient-data)[ RSS](/packages/qroques-resilient-data/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (4)Versions (14)Used By (0)

Resilient Data
==============

[](#resilient-data)

Warning

This project is a work in progress. The code is not yet fully functional.

Overview
--------

[](#overview)

Resilient Data is a library that provides classes to work with data in a resilient way. Tipically, a data is splitted into multiple parts, and each part can be stored in different locations. This library provides classes to work with this kind of data and recover the inital data even if some parts are missing.

Example
-------

[](#example)

You have 4 associates, and you want to split a secret into 4 parts, so that each associate has one part. You want the secret to be recoverable if at least 3 associates are present. This means that if you lose one associate, you can still recover the secret. To do so, this library will split the secret into multiple parts (chunks) and distribute them to the associates. To ensure redundancy, each chunk will be duplicated and distributed to two associates.

ChunkAssociate 1Associate 2Associate 3Associate 4AXXBXXCXXDXXEXXFXXUsage
-----

[](#usage)

### Installation

[](#installation)

#### Composer

[](#composer)

```
composer require qroques/resilient-data
```

Note

This library requires PHP 8.3 or later but does not require any other dependency.

### Splitting data

[](#splitting-data)

```
$resilientData = new Qroques\ResilientData\ResilientData(file_get_contents(__DIR__.'/data/lorem.txt'));
// We want to split the data into 5 parts, and we want to be able to recover the data even with 2 parts missing
$splittingConfiguration = new Qroques\ResilientData\SplittingConfiguration(5, 2);
$splitter = new Qroques\ResilientData\Splitter();

$fragments = $splitter->split($resilientData, $splittingConfiguration);
```

Warning

Chunk of data are not encrypted. This mean that parts of the data can still be readable from the fragments.

### Recovering data

[](#recovering-data)

```
$assembler = new Qroques\ResilientData\Assembler();
$resilientData = $splitter->assemble($fragments);
```

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance33

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 80% 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 ~2 days

Total

8

Last Release

729d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/22145593?v=4)[Quentin Roques](/maintainers/qroques)[@qroques](https://github.com/qroques)

---

Top Contributors

[![qroques](https://avatars.githubusercontent.com/u/22145593?v=4)](https://github.com/qroques "qroques (12 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (3 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/qroques-resilient-data/health.svg)

```
[![Health](https://phpackages.com/badges/qroques-resilient-data/health.svg)](https://phpackages.com/packages/qroques-resilient-data)
```

###  Alternatives

[andychukse/laravel-pricing-plans

A package provide pricing plans for Laravel.

112.7k](/packages/andychukse-laravel-pricing-plans)

PHPackages © 2026

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