vimeo / psalm
A static analysis tool for finding errors in PHP applications
Installs: 55 642 924
Dependents: 7 088
Suggesters: 28
Security: 0
Stars: 5 587
Watchers: 62
Forks: 666
Open Issues: 1 830
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-update_dictionaries
- 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-12-15 08:19:43 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.