vimeo/psalm
A static analysis tool for finding errors in PHP applications
Maintainers
Statistics
Installs: 81β460β878
Dependents: 7β444
Suggesters: 27
Stars: 5β854
Open Issues: 2β064
Requires
- php: ~8.1.31 || ~8.2.27 || ~8.3.16 || ~8.4.3 || ~8.5.0
- composer-runtime-api: ^2
- ext-ctype: *
- ext-dom: *
- ext-json: *
- ext-libxml: *
- ext-mbstring: *
- ext-simplexml: *
- ext-tokenizer: *
- amphp/amp: ^3
- amphp/byte-stream: ^2
- amphp/parallel: ^2.3
- composer/semver: ^1.4 || ^2.0 || ^3.0
- composer/xdebug-handler: ^2.0 || ^3.0
- danog/advanced-json-rpc: ^3.1
- dnoegel/php-xdg-base-dir: ^0.1.1
- felixfbecker/language-server-protocol: ^1.5.3
- fidry/cpu-core-counter: ^0.4.1 || ^0.5.1 || ^1.0.0
- netresearch/jsonmapper: ^5.0
- nikic/php-parser: ^5.0.0
- psalm/psalm-plugin-api: 0.1.0
- sebastian/diff: ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0
- spatie/array-to-xml: ^2.17.0 || ^3.0
- symfony/console: ^6.0 || ^7.0 || ^8.0
- symfony/filesystem: ~6.3.12 || ~6.4.3 || ^7.0.3 || ^8.0
- symfony/polyfill-php84: ^1.31.0
Requires (Dev)
- ext-curl: *
- amphp/phpunit-util: ^3
- bamarni/composer-bin-plugin: ^1.4
- brianium/paratest: ^6.9
- danog/class-finder: ^0.4.8
- dg/bypass-finals: ^1.5
- mockery/mockery: ^1.5
- nunomaduro/mock-final-classes: ^1.1
- php-parallel-lint/php-parallel-lint: ^1.2
- phpstan/phpdoc-parser: ^1.6
- phpunit/phpunit: ^9.6
- psalm/plugin-mockery: ^1.1
- psalm/plugin-phpunit: ^0.20.1
- slevomat/coding-standard: ^8.4
- squizlabs/php_codesniffer: ^3.6
- symfony/process: ^6.0 || ^7.0 || ^8.0
Suggests
- ext-curl: In order to send data to shepherd
- ext-igbinary: ^2.0.5 is required, used to serialize caching data
Provides
- psalm/psalm: 7.0.0-beta19
Conflicts
None
Replaces
None
MIT 7e751c06a756fa64dc4c759c09fe4a173afcb433
- Matthew Brown
- Daniil Gentili <daniil.woop@daniil.it>
This package is auto-updated.
Last update: 2026-06-15 07:42:43 UTC
README
π Packagist
π Packagist
π Psalm coverage
π Psalm level
Psalm is a static analysis tool for finding errors in PHP applications.
Join the official Psalm news channel and the Psalm community!
Installation
To get started, check out the installation guide.
Live Demo
You can play around with Psalm on its website.
Documentation
Documentation is available on Psalmβs website, generated from the docs folder.
Support Psalm development
You can support Psalm development by requesting a support contract from Daniil Gentili, 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 Β» for info, pricing and contact information.
Interested in contributing?
Have a look at CONTRIBUTING.md.
Who made this
Built by Matt Brown (@muglug).
Maintained by Daniil Gentili (@danog).
Former maintainers: Orklah (@orklah) and Bruce Weirdan (@weirdan).
The engineering team at Vimeo have provided a lot encouragement, especially @nbeliard, @erunion and @nickyr.
