vimeo / psalm
A static analysis tool for finding errors in PHP applications
Installs: 53 813 126
Dependents: 7 142
Suggesters: 28
Security: 0
Stars: 5 548
Watchers: 61
Forks: 661
Open Issues: 1 790
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-10-12 21:15:01 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.