PHPackages                             vimeo/psalm - 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. [Testing &amp; Quality](/categories/testing)
4. /
5. vimeo/psalm

ActiveProject[Testing &amp; Quality](/categories/testing)

vimeo/psalm
===========

A static analysis tool for finding errors in PHP applications

6.16.1(2mo ago)5.8k77.5M—5.7%698[1.9k issues](https://github.com/vimeo/psalm/issues)[135 PRs](https://github.com/vimeo/psalm/pulls)20MITPHPPHP ~8.1.31 || ~8.2.27 || ~8.3.16 || ~8.4.3 || ~8.5.0CI passing

Since Nov 21Pushed 3d ago53 watchersCompare

[ Source](https://github.com/vimeo/psalm)[ Packagist](https://packagist.org/packages/vimeo/psalm)[ RSS](/packages/vimeo-psalm/feed)WikiDiscussions 6.x Synced 1mo ago

READMEChangelog (10)Dependencies (64)Versions (519)Used By (20)

Psalm
=====

[](#psalm)

[![Packagist](https://camo.githubusercontent.com/ae7cfedaa3fa4a20e1489de5bf35db2ad0cccbf22da188048586dbeb7cc154c8/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f76696d656f2f7073616c6d2e737667)](https://packagist.org/packages/vimeo/psalm)[![Packagist](https://camo.githubusercontent.com/70854dc4269d04de2e28ee42e0d04e1687ced7a61034e9938a4d08473e2634b6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f76696d656f2f7073616c6d2e737667)](https://packagist.org/packages/vimeo/psalm)[![Psalm coverage](https://camo.githubusercontent.com/162e3178b78189e239c52f24eb2d55ae339ead069eb12b45124330c7cae2f198/68747470733a2f2f73686570686572642e6465762f6769746875622f76696d656f2f7073616c6d2f636f7665726167652e7376673f)](https://shepherd.dev/github/vimeo/psalm)[![Psalm level](https://camo.githubusercontent.com/05c25009648b3dbb41246860da81105f71ef6eefbbdb3623254eae8db777e013/68747470733a2f2f73686570686572642e6465762f6769746875622f76696d656f2f7073616c6d2f6c6576656c2e7376673f)](https://psalm.dev/)

Psalm is a static analysis tool for finding errors in PHP applications.

[Join the official Psalm news channel](https://t.me/psalmphp) and the [Psalm community](https://t.me/psalmphp_community)!

Installation
------------

[](#installation)

To get started, check out the [installation guide](docs/running_psalm/installation.md).

Live Demo
---------

[](#live-demo)

You can play around with Psalm [on its website](https://psalm.dev/).

Documentation
-------------

[](#documentation)

Documentation is available on [Psalm’s website](https://psalm.dev/docs), generated from the [docs](https://github.com/vimeo/psalm/blob/master/docs) folder.

Support Psalm development
-------------------------

[](#support-psalm-development)

You can support Psalm development by requesting a support contract from [Daniil Gentili](https://daniil.it), the only active maintainer of Psalm.

Support contracts can cover full integration of Psalm into existing codebases, support for Psalm issues and development of additional Psalm features.

See [here »](https://daniil.it) for info, pricing and contact information.

Interested in contributing?
---------------------------

[](#interested-in-contributing)

Have a look at [CONTRIBUTING.md](CONTRIBUTING.md).

Who made this
-------------

[](#who-made-this)

Built by Matt Brown ([@muglug](https://github.com/muglug)).

Maintained by Daniil Gentili ([@danog](https://github.com/danog)).

Former maintainers: Orklah ([@orklah](https://github.com/orklah)) and Bruce Weirdan ([@weirdan](https://github.com/weirdan)).

The engineering team at [Vimeo](https://github.com/vimeo) have provided a lot encouragement, especially [@nbeliard](https://github.com/nbeliard), [@erunion](https://github.com/erunion) and [@nickyr](https://github.com/nickyr).

###  Health Score

87

—

ExcellentBetter than 100% of packages

Maintenance88

Actively maintained with recent releases

Popularity83

Widely adopted with strong download metrics

Community70

Healthy contributor diversity

Maturity100

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 53.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 ~7 days

Total

494

Last Release

53d ago

Major Versions

6.14.0 → 7.0.0-beta122025-12-08

6.14.1 → 7.0.0-beta132025-12-10

6.14.3 → 7.0.0-beta142025-12-23

6.15.1 → 7.0.0-beta152026-02-19

6.16.0 → 7.0.0-beta172026-03-17

PHP version history (18 changes)0.1PHP &gt;=5.4

0.3.0PHP &gt;=5.5

0.3.15PHP ^5.5 || ^7.0

0.2.17PHP ^5.4 || ^7.0

0.3.40PHP ^5.6 || ^7.0

2.0.0PHP ^7.0

1.1.5PHP ^5.6||^7.0

3.3.0PHP ^7.1

3.5.2PHP ^7.1.3

3.8.4PHP ^7.1.3|^8

4.0.0-beta1PHP ^7.3|^8

4.1.0PHP ^7.1|^8

5.0.0-alpha1PHP ^7.4 || ~8.0.0 || ~8.1.0

5.0.0PHP ^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0

5.14.0PHP ^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0

6.0.0PHP ~8.1.17 || ~8.2.4 || ~8.3.0 || ~8.4.0

6.5.1PHP ~8.1.31 || ~8.2.27 || ~8.3.16 || ~8.4.3

6.14.0PHP ~8.1.31 || ~8.2.27 || ~8.3.16 || ~8.4.3 || ~8.5.0

### Community

Maintainers

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

![](https://www.gravatar.com/avatar/37a992956f2ceb043547091360fe71dacdd2b227d5450e7022b2a53660ba4e44?d=identicon)[muglug](/maintainers/muglug)

![](https://www.gravatar.com/avatar/819d5d9fe8f78d00cc5dd7972cbb9e4f049c9bff7186e0e401f3191b3f137885?d=identicon)[weirdan](/maintainers/weirdan)

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

---

Top Contributors

[![muglug](https://avatars.githubusercontent.com/u/2292638?v=4)](https://github.com/muglug "muglug (7438 commits)")[![orklah](https://avatars.githubusercontent.com/u/9605520?v=4)](https://github.com/orklah "orklah (1926 commits)")[![weirdan](https://avatars.githubusercontent.com/u/57403?v=4)](https://github.com/weirdan "weirdan (1418 commits)")[![danog](https://avatars.githubusercontent.com/u/7339644?v=4)](https://github.com/danog "danog (1218 commits)")[![kkmuffme](https://avatars.githubusercontent.com/u/11071985?v=4)](https://github.com/kkmuffme "kkmuffme (304 commits)")[![AndrolGenhald](https://avatars.githubusercontent.com/u/7794502?v=4)](https://github.com/AndrolGenhald "AndrolGenhald (154 commits)")[![alies-dev](https://avatars.githubusercontent.com/u/5278175?v=4)](https://github.com/alies-dev "alies-dev (127 commits)")[![tm1000](https://avatars.githubusercontent.com/u/564256?v=4)](https://github.com/tm1000 "tm1000 (117 commits)")[![boesing](https://avatars.githubusercontent.com/u/2189546?v=4)](https://github.com/boesing "boesing (100 commits)")[![robchett](https://avatars.githubusercontent.com/u/5231691?v=4)](https://github.com/robchett "robchett (97 commits)")[![klimick](https://avatars.githubusercontent.com/u/34217190?v=4)](https://github.com/klimick "klimick (94 commits)")[![TysonAndre](https://avatars.githubusercontent.com/u/1904430?v=4)](https://github.com/TysonAndre "TysonAndre (85 commits)")[![bdsl](https://avatars.githubusercontent.com/u/159481?v=4)](https://github.com/bdsl "bdsl (77 commits)")[![VincentLanglet](https://avatars.githubusercontent.com/u/9052536?v=4)](https://github.com/VincentLanglet "VincentLanglet (74 commits)")[![othercorey](https://avatars.githubusercontent.com/u/24221186?v=4)](https://github.com/othercorey "othercorey (59 commits)")[![SignpostMarv](https://avatars.githubusercontent.com/u/304403?v=4)](https://github.com/SignpostMarv "SignpostMarv (51 commits)")[![Ocramius](https://avatars.githubusercontent.com/u/154256?v=4)](https://github.com/Ocramius "Ocramius (44 commits)")[![bugreportuser](https://avatars.githubusercontent.com/u/37939393?v=4)](https://github.com/bugreportuser "bugreportuser (44 commits)")[![issidorov](https://avatars.githubusercontent.com/u/25592330?v=4)](https://github.com/issidorov "issidorov (43 commits)")[![fluffycondor](https://avatars.githubusercontent.com/u/62219548?v=4)](https://github.com/fluffycondor "fluffycondor (42 commits)")

---

Tags

hacktoberfestphpsecurity-analysisstatic-analysistaint-analysistype-inferencephpstatic analysiscodeinspection

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/vimeo-psalm/health.svg)

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

###  Alternatives

[phan/phan

A static analyzer for PHP

5.6k11.2M1.1k](/packages/phan-phan)[infection/infection

Infection is a Mutation Testing framework for PHP. The mutation adequacy score can be used to measure the effectiveness of a test set in terms of its ability to detect faults.

2.2k26.2M1.8k](/packages/infection-infection)[behat/behat

Scenario-oriented BDD framework for PHP

4.0k96.8M2.0k](/packages/behat-behat)[friendsofphp/php-cs-fixer

A tool to automatically fix PHP code style

13.5k234.7M20.6k](/packages/friendsofphp-php-cs-fixer)[drupal/core

Drupal is an open source content management platform powering millions of websites and applications.

19562.3M1.3k](/packages/drupal-core)[maglnet/composer-require-checker

CLI tool to analyze composer dependencies and verify that no unknown symbols are used in the sources of a package

99810.9M671](/packages/maglnet-composer-require-checker)

PHPackages © 2026

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