vimeo / psalm
A static analysis tool for finding errors in PHP applications
Installs: 54 155 138
Dependents: 7 134
Suggesters: 28
Security: 0
Stars: 5 566
Watchers: 62
Forks: 660
Open Issues: 1 810
Type:project
Requires
- php: ^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0
- composer-runtime-api: ^2
- ext-ctype: *
- ext-dom: *
- ext-json: *
- ext-libxml: *
- ext-mbstring: *
- ext-simplexml: *
- ext-tokenizer: *
- amphp/amp: ^2.4.2
- amphp/byte-stream: ^1.5
- composer/semver: ^1.4 || ^2.0 || ^3.0
- composer/xdebug-handler: ^2.0 || ^3.0
- dnoegel/php-xdg-base-dir: ^0.1.1
- felixfbecker/advanced-json-rpc: ^3.1
- felixfbecker/language-server-protocol: ^1.5.2
- fidry/cpu-core-counter: ^0.4.1 || ^0.5.1 || ^1.0.0
- netresearch/jsonmapper: ^1.0 || ^2.0 || ^3.0 || ^4.0
- nikic/php-parser: ^4.17
- sebastian/diff: ^4.0 || ^5.0 || ^6.0
- spatie/array-to-xml: ^2.17.0 || ^3.0
- symfony/console: ^4.1.6 || ^5.0 || ^6.0 || ^7.0
- symfony/filesystem: ^5.4 || ^6.0 || ^7.0
Requires (Dev)
- ext-curl: *
- amphp/phpunit-util: ^2.0
- bamarni/composer-bin-plugin: ^1.4
- brianium/paratest: ^6.9
- 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.18
- slevomat/coding-standard: ^8.4
- squizlabs/php_codesniffer: ^3.6
- symfony/process: ^4.4 || ^5.0 || ^6.0 || ^7.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: 5.26.1
Conflicts
- nikic/php-parser: 4.17.0
- 6.x-dev
- dev-master / 6.x-dev
- 5.x-dev
- 5.26.1
- 5.26.0
- 5.25.0
- 5.24.0
- 5.23.x-dev
- 5.23.1
- 5.23.0
- 5.22.x-dev
- 5.22.2
- 5.22.1
- 5.22.0
- 5.21.x-dev
- 5.21.1
- 5.21.0
- 5.20.0
- 5.19.1
- 5.19.0
- 5.18.0
- 5.17.0
- 5.16.0
- 5.15.0
- 5.14.1
- 5.14.0
- 5.13.1
- 5.13.0
- 5.12.0
- 5.11.0
- 5.10.0
- 5.9.0
- 5.8.0
- 5.7.x-dev
- 5.7.7
- 5.7.6
- 5.7.5
- 5.7.4
- 5.7.3
- 5.7.2
- 5.7.1
- 5.7.0
- 5.6.0
- 5.5.0
- 5.4.0
- 5.3.0
- 5.2.0
- 5.1.0
- 5.0.0
- 5.0.0-rc1
- 5.0.0-beta1
- 5.0.0-alpha1
- 4.x-dev
- 4.30.0
- 4.29.0
- 4.28.0
- 4.27.0
- 4.26.0
- v4.25.0
- 4.24.0
- 4.23.0
- 4.22.0
- 4.21.0
- 4.20.0
- 4.19.0
- 4.18.x-dev
- 4.18.1
- 4.18
- 4.17.0
- 4.16.1
- 4.16.0
- v4.15.0
- v4.14.0
- 4.13.x-dev
- 4.13.1
- 4.13.0
- 4.12.0
- 4.11.2
- 4.11.1
- 4.11.0
- 4.10.0
- 4.9.3
- 4.9.2
- 4.9.1
- 4.9.0
- 4.8.1
- 4.8.0
- 4.7.3
- 4.7.2
- 4.7.1
- 4.7.0
- 4.6.4
- 4.6.3
- 4.6.2
- 4.6.1
- 4.6.0
- 4.5.2
- 4.5.1
- 4.5.0
- 4.4.1
- 4.4.0
- 4.3.2
- 4.3.1
- 4.3.0
- 4.2.1
- 4.2.0
- 4.1.1
- 4.1.0
- 4.0.1
- 4.0.0
- 4.0.0-beta3
- 4.0.0-beta1
- 3.x-dev
- 3.18.2
- 3.18.0
- 3.17.2
- 3.17.1
- 3.17.0
- 3.16
- 3.15
- 3.14.2
- 3.14.1
- 3.14.0
- 3.13.1
- 3.13.0
- 3.12.2
- 3.12.1
- 3.12.0
- 3.11.7
- 3.11.6
- 3.11.5
- 3.11.4
- 3.11.3
- 3.11.2
- 3.11.1
- 3.11.0
- 3.10.1
- 3.10.0
- 3.9.5
- 3.9.4
- 3.9.3
- 3.9.2
- 3.9.1
- 3.9.0
- 3.8.5
- 3.8.4
- 3.8.3
- 3.8.2
- 3.8.1
- 3.8.0
- 3.7.2
- 3.7.1
- 3.7.0
- 3.6.6
- 3.6.5
- 3.6.4
- 3.6.3
- 3.6.2
- 3.6.1
- 3.6.0
- 3.5.3
- 3.5.2
- 3.5.1
- 3.5.0
- 3.4.12
- 3.4.11
- 3.4.10
- 3.4.9
- 3.4.8
- 3.4.7
- 3.4.6
- 3.4.5
- 3.4.4
- 3.4.3
- 3.4.2
- 3.4.1
- 3.4.0
- 3.3.2
- 3.3.1
- 3.3.0
- 3.2.12
- 3.2.11
- 3.2.10
- 3.2.9
- 3.2.8
- 3.2.7
- 3.2.6
- 3.2.5
- 3.2.4
- 3.2.3
- 3.2.2
- 3.2
- 3.1.3
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.17
- 3.0.16
- 3.0.15
- 3.0.14
- 3.0.13
- 3.0.12
- 3.0.11
- 3.0.10
- 3.0.9
- 3.0.8
- 3.0.7
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.x-dev
- 2.0.17
- 2.0.16
- 2.0.15
- 2.0.14
- 2.0.13
- 2.0.12
- 2.0.11
- 2.0.10
- 2.0.9
- 2.0.8
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.x-dev
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.3.93
- 0.3.92
- 0.3.91
- 0.3.90
- 0.3.89
- 0.3.88
- 0.3.87
- 0.3.86
- 0.3.85
- 0.3.84
- 0.3.83
- 0.3.82
- 0.3.81
- 0.3.80
- 0.3.79
- 0.3.78
- 0.3.77
- 0.3.76
- 0.3.75
- 0.3.73
- 0.3.72
- 0.3.71
- 0.3.70
- 0.3.69
- 0.3.68
- 0.3.67
- 0.3.66
- 0.3.65
- 0.3.64
- 0.3.63
- 0.3.62
- 0.3.61
- 0.3.60
- 0.3.59
- 0.3.58
- 0.3.57
- 0.3.56
- 0.3.55
- 0.3.54
- 0.3.53
- 0.3.52
- 0.3.51
- 0.3.50
- 0.3.49
- 0.3.48
- 0.3.47
- 0.3.46
- 0.3.45
- 0.3.44
- 0.3.43
- 0.3.41
- 0.3.40
- 0.3.39
- 0.3.38
- 0.3.37
- 0.3.36
- 0.3.35
- 0.3.34
- 0.3.33
- 0.3.32
- 0.3.31
- 0.3.30
- 0.3.29
- 0.3.28
- 0.3.27
- 0.3.26
- 0.3.25
- 0.3.24
- 0.3.23
- 0.3.22
- 0.3.21
- 0.3.20
- 0.3.19
- 0.3.18.1
- 0.3.18
- 0.3.17.2
- 0.3.17
- 0.3.16
- 0.3.15
- 0.3.14
- 0.3.13
- 0.3.12
- 0.3.11
- 0.3.10.1
- 0.3.9
- 0.3.8
- 0.3.7
- 0.3.6.0
- 0.3.5.0
- 0.3.4.4
- 0.3.4.3
- 0.3.4.2
- 0.3.4.1
- 0.3.4.0
- 0.3.3
- 0.3.2
- 0.3.2-alpha
- 0.3.1
- 0.3.1-alpha
- 0.3.0
- 0.3.0-alpha
- 0.2.66
- 0.2.65
- 0.2.64
- 0.2.63
- 0.2.62
- 0.2.60
- 0.2.59
- 0.2.58
- 0.2.57
- 0.2.56
- 0.2.55
- 0.2.54
- 0.2.53
- 0.2.52
- 0.2.51
- 0.2.50
- 0.2.49
- 0.2.48
- 0.2.47
- 0.2.46
- 0.2.45
- 0.2.44
- 0.2.43
- 0.2.42
- 0.2.41
- 0.2.40
- 0.2.39
- 0.2.38
- 0.2.37
- 0.2.36
- 0.2.35
- 0.2.34
- 0.2.33
- 0.2.32
- 0.2.31
- 0.2.30
- 0.2.29
- 0.2.28
- 0.2.27
- 0.2.26
- 0.2.25
- 0.2.24
- 0.2.23
- 0.2.22
- 0.2.21
- 0.2.20
- 0.2.19
- 0.2.18.2
- 0.2.18.1
- 0.2.18
- 0.2.17.1
- 0.2.17
- 0.2.16.1
- 0.2.16
- 0.2.15.1
- 0.2.15
- 0.2.14
- 0.2.13.1
- 0.2.13
- 0.2.12
- 0.2.11
- 0.2.10.0
- 0.2.9.0
- 0.2.8.3
- 0.2.8.2
- 0.2.8.1
- 0.2.7.2
- 0.2.7.1
- 0.2.7
- 0.2.6
- 0.2.5
- 0.2.4
- 0.2.3
- 0.2.2
- 0.2.1
- 0.2.0
- 0.1.4
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1
- dev-docs-alternative-install-methods
- dev-fix_psalm_type
- dev-improve_randomizer
- dev-custom_default_template
- dev-assert_nullsafe
- dev-upgrade_literal_arrays
- dev-orklah-composer-bump
- dev-interface-string-support
This package is auto-updated.
Last update: 2024-11-10 18:23:00 UTC
README
Psalm is a static analysis tool for finding errors in PHP applications.
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.
Interested in contributing?
Have a look at CONTRIBUTING.md.
Who made this
Built by Matt Brown (@muglug).
Maintained by Orklah (@orklah), Daniil Gentili (@danog), and Bruce Weirdan (@weirdan).
The engineering team at Vimeo have provided a lot encouragement, especially @nbeliard, @erunion and @nickyr.