PHPackages                             puhkn/differ - 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. puhkn/differ

ActiveProject

puhkn/differ
============

a program that detects the difference between two data structures

03PHP

Since Apr 25Pushed 4y ago1 watchersCompare

[ Source](https://github.com/KonstantinNP/php-project-lvl2)[ Packagist](https://packagist.org/packages/puhkn/differ)[ RSS](/packages/puhkn-differ/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependenciesVersions (1)Used By (0)

### Hexlet tests and linter status:

[](#hexlet-tests-and-linter-status)

[![Actions Status](https://github.com/KonstantinNP/php-project-lvl2/workflows/hexlet-check/badge.svg)](https://github.com/KonstantinNP/php-project-lvl2/actions)[![Maintainability](https://camo.githubusercontent.com/96f49bcc87e4b9b55e58b117d122a9ac145ce9824ad129354900f33ccbb18c83/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f62623136383766383833383463363732666262322f6d61696e7461696e6162696c697479)](https://codeclimate.com/github/KonstantinNP/php-project-lvl2/maintainability)[![Test Coverage](https://camo.githubusercontent.com/82f841352794310d3213d48535e3820a6f8e7b3661cb26d901adce89a3623da6/68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f62623136383766383833383463363732666262322f746573745f636f766572616765)](https://codeclimate.com/github/KonstantinNP/php-project-lvl2/test_coverage)[![PHP CI](https://github.com/KonstantinNP/php-project-lvl2/actions/workflows/workflow.yml/badge.svg)](https://github.com/KonstantinNP/php-project-lvl2/actions/workflows/workflow.yml)

### Demonstration diff for json and yaml files

[](#demonstration-diff-for-json-and-yaml-files)

[![asciicast](https://camo.githubusercontent.com/9eda66b485f827e517b85c144d62be31f4ec1f7f2d93e4d6c3e2769484c152c0/68747470733a2f2f61736369696e656d612e6f72672f612f6739624667626d6b544f39583770314f6f67344b354e6930712e737667)](https://asciinema.org/a/g9bFgbmkTO9X7p1Oog4K5Ni0q)

[![asciicast](https://camo.githubusercontent.com/ede24a55829c7e7725a930eeeef2fbee81235b86946e990988dfc1e79598bc90/68747470733a2f2f61736369696e656d612e6f72672f612f5a6548395361704746356b73344278763637436f4c355736702e737667)](https://asciinema.org/a/ZeH9SapGF5ks4Bxv67CoL5W6p)

### Demonstration recursive comparison

[](#demonstration-recursive-comparison)

[![asciicast](https://camo.githubusercontent.com/32aa02780028a07c57ce219d74a2fdd384b3709549976cded996729cf454b659/68747470733a2f2f61736369696e656d612e6f72672f612f6938666b306f464844594249514f39443738726f755870414b2e737667)](https://asciinema.org/a/i8fk0oFHDYBIQO9D78rouXpAK)

### Demonstration recursive comparison for stylish and plain formats

[](#demonstration-recursive-comparison-for-stylish-and-plain-formats)

[![asciicast](https://camo.githubusercontent.com/e3e76504401c2d88b4374a4859ef030045e15626de385b4fd1e0b7c8759060c6/68747470733a2f2f61736369696e656d612e6f72672f612f6677797a546c6c7a74776a6577435a656d6c644e39327652772e737667)](https://asciinema.org/a/fwyzTllztwjewCZemldN92vRw)

### Demonstration recursive comparison for json format

[](#demonstration-recursive-comparison-for-json-format)

[![asciicast](https://camo.githubusercontent.com/5fadfb93861c5921451dd9d742c84627944eb4efb2c97674d96a1e930745ed45/68747470733a2f2f61736369696e656d612e6f72672f612f734d594d76476b56504a485033583353434c3845546a3756332e737667)](https://asciinema.org/a/sMYMvGkVPJHP3X3SCL8ETj7V3)

###  Health Score

15

—

LowBetter than 3% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity26

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% 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/35077ed138def56c5d4d5f5656db18c57398b38273dd911e8f47ee227bcebbf9?d=identicon)[puhkn](/maintainers/puhkn)

---

Top Contributors

[![KonstantinNP](https://avatars.githubusercontent.com/u/69122707?v=4)](https://github.com/KonstantinNP "KonstantinNP (16 commits)")

### Embed Badge

![Health badge](/badges/puhkn-differ/health.svg)

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

PHPackages © 2026

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