# PHPStan vs Pylint

**Leader by vioscaleAI score:** Pylint

| Attribute | PHPStan | Pylint |
|---|---|---|
| **vioscaleAI score** | 58 (54% (medium)) | 65.6 (49% (low)) |
| activity.commits_last_30d | 100 | 100 |
| adoption.dependent_repos | 2 | 117,361 |
| adoption.github_stars | 14,128 | 5,738 |
| content.faq | `[{"answer":"PHPStan is a static analysis tool for PHP that scans codebases to find bugs before they reach production. It offers both a free open-source version and a paid Pro tier with a web UI and continuous background analysis. It is indexed under Code Quality Tools.","source":"https://phpstan.org/","question":"What is PHPStan?","confidence":0.6},{"answer":"PHPStan is open source, so it can be self-hosted and used at no licence cost. It is released under the MIT licence. Paid editions are also offered: PHPStan Pro, priced on request. Pricing changes often, so verify at source before relying on it.","source":"https://phpstan.org/","question":"Is PHPStan free to use?","confidence":0.6},{"answer":"PHPStan supports the web and a command-line interface. Platforms we have not confirmed are simply not listed here rather than ruled out.","source":"https://phpstan.org/","question":"What platforms does PHPStan support?","confidence":0.6},{"answer":"Yes. PHPStan can be deployed self-hosted, so it does not have to run on the vendor's infrastructure.","source":"https://phpstan.org/","question":"Can PHPStan be self-hosted?","confidence":0.6},{"answer":"We have confirmed 3 integrations for PHPStan, including Symfony, Laravel and Doctrine. This is what we could verify from public sources, so the vendor may support others we have not indexed.","source":"https://phpstan.org/","question":"What does PHPStan integrate with?","confidence":0.6},{"answer":"We have independently confirmed GDPR for PHPStan. Certifications we do not list are ones we have not been able to verify from public sources, which is not the same as PHPStan not holding them. Always confirm compliance directly before you rely on it.","source":"https://phpstan.org/merch-privacy-policy","question":"What security certifications does PHPStan have?","confidence":0.7},{"answer":"Yes. PHPStan is published under the MIT licence, a permissive licence that generally allows commercial use and modification. Licence terms can change between releases, so verify against the repository for the version you intend to use.","source":"https://github.com/phpstan/phpstan","question":"Is PHPStan open source?","confidence":0.95},{"answer":"PHPStan is available worldwide. The vendor is headquartered in the Czechia.","source":"https://phpstan.org/","question":"Where is PHPStan available?","confidence":0.75}]` | `[{"answer":"Pylint automatically scans Python source code to identify problems with coding standards compliance, detect runtime errors, and suggest refactoring improvements. It supports extensive customization through configuration files and plugins. It is indexed under Code Quality Tools.","source":"https://www.pylint.org/","question":"What is Pylint?","confidence":0.6},{"answer":"Pylint offers a free tier, so you can start without paying. Pricing changes often, so verify at source before relying on it.","source":"https://www.pylint.org/","question":"Is Pylint free?","confidence":0.6},{"answer":"Pylint supports Windows, macOS, Linux and a command-line interface. Platforms we have not confirmed are simply not listed here rather than ruled out.","source":"https://www.pylint.org/","question":"What platforms does Pylint support?","confidence":0.6},{"answer":"Yes. Pylint can be deployed self-hosted, so it does not have to run on the vendor's infrastructure.","source":"https://www.pylint.org/","question":"Can Pylint be self-hosted?","confidence":0.6},{"answer":"We have confirmed 10 integrations for Pylint, including Vim, Emacs, Eclipse, TextMate, PyDev, Spyder, Editra and Jenkins, plus 2 more. This is what we could verify from public sources, so the vendor may support others we have not indexed.","source":"https://www.pylint.org/","question":"What does Pylint integrate with?","confidence":0.6},{"answer":"Yes. Pylint is published under the GPL-2.0 licence, a copyleft licence, so check its terms before embedding it in a closed-source product. Licence terms can change between releases, so verify against the repository for the version you intend to use.","source":"https://github.com/pylint-dev/pylint","question":"Is Pylint open source?","confidence":0.95}]` |
| deployment.options | `{"cloud":true,"self_hosted":true}` | `{"self_hosted":true}` |
| description.long | PHPStan analyzes PHP code to detect bugs and errors before execution. It enhances code reliability by catching a wide range of issues early in development, similar to type checking in compiled languages. | Pylint analyzes Python code without running it to identify errors, enforce coding standards, detect problematic patterns, and recommend improvements through configurable checks. |
| features.capabilities | `{"autofix":false,"function":"static_analyzer","ci_gating":true,"deployment":"both","incremental":true,"open_source":"oss","config_model":"config_file","custom_rules":true,"impl_language":"PHP","pricing_model":"free","language_scope":"single_language","editor_integration":true}` | `{"autofix":true,"metrics":true,"function":"linter","ci_gating":true,"deployment":"cli_local","open_source":"oss","config_model":"config_file","custom_rules":true,"impl_language":"Python","pricing_model":"free","language_scope":"single_language","editor_integration":true}` |
| integrations.count | 3 | 10 |
| integrations.list | `[{"name":"Symfony"},{"name":"Laravel"},{"name":"Doctrine"}]` | `[{"name":"Vim"},{"name":"Emacs"},{"name":"Eclipse"},{"name":"TextMate"},{"name":"PyDev"},{"name":"Spyder"},{"name":"Editra"},{"name":"Jenkins"},{"name":"Hudson"},{"name":"Apycot"},{"name":"Azure DevOps","native":true,"category":"ci","direction":"outbound"},{"name":"GitLab CI","native":true,"category":"ci","direction":"outbound"},{"name":"GitHub Actions","native":true,"category":"ci","direction":"outbound"}]` |
| language.primary | PHP | Python |
| license.spdx | MIT | GPL-2.0 |
| market.availability | `{"hqCountry":"CZ","primaryMarkets":[],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` | - |
| platform.support | `{"cli":true,"web":true}` | `{"cli":true}` |
| pricing | `{"type":"hybrid","plans":[{"free":true,"name":"Open Source","summary":"Free","features":["Static code analysis","Bug detection","Type checking"],"components":[{"kind":"fixed","amount":0,"period":"month","currency":"EUR"}],"description":"Full static analysis tool","contactSales":false},{"free":false,"name":"Individual Pro","summary":"7 EUR/month","features":["Web UI for browsing errors","Continuous analysis (watch mode)","Editor integration"],"minSeats":1,"components":[{"kind":"fixed","amount":7,"period":"month","currency":"EUR"}],"description":"Web UI, continuous analysis, editor integration","contactSales":false},{"free":false,"name":"Team Pro","summary":"70 EUR/month (up to 25 members)","features":["Web UI for browsing errors","Continuous analysis (watch mode)","Editor integration"],"minSeats":2,"components":[{"kind":"fixed","amount":70,"period":"month","currency":"EUR"}],"description":"Web UI, continuous analysis, editor integration for up to 25 members","contactSales":false,"includedLimits":{"team_members":"up to 25"}}],"summary":"Free open-source, or 7 EUR/month (individual) / 70 EUR/month (team up to 25 members) for Pro features. 30-day free trial.","currency":"EUR","freeTier":true,"sourceUrl":"https://phpstan.org/","retrievedAt":"2026-10-13T13:55:49.311Z","freeTrialDays":30,"startingPrice":{"amount":7,"period":"month","currency":"EUR"},"billingPeriods":["month"]}` | `{"type":"free","summary":"Free and open source. Commercial support services available.","freeTier":true,"sourceUrl":"https://www.pylint.org/","retrievedAt":"2026-08-14T11:08:27.719Z"}` |
| pricing.free_tier | yes | yes |
| pricing.model | freemium | commercial |
| pricing.price_level | low | free |
| pricing.starting_price | `{"amount":7,"currency":"EUR"}` | - |
| pricing.transparent | yes | yes |
| release.cadence_days | 3 | 16 |
| release.history | `[{"url":"https://github.com/phpstan/phpstan/releases/tag/2.3.1","date":"2026-10-08T21:10:31Z","type":"stable","version":"2.3.1"},{"url":"https://github.com/phpstan/phpstan/releases/tag/2.3.0","date":"2026-10-06T06:33:58Z","type":"stable","version":"2.3.0"},{"url":"https://github.com/phpstan/phpstan/releases/tag/2.2.17","date":"2026-10-04T19:49:48Z","type":"stable","version":"2.2.17"},{"url":"https://github.com/phpstan/phpstan/releases/tag/2.2.16","date":"2026-09-25T09:33:15Z","type":"stable","version":"2.2.16"},{"url":"https://github.com/phpstan/phpstan/releases/tag/2.2.15","date":"2026-09-23T12:38:12Z","type":"stable","version":"2.2.15"},{"url":"https://github.com/phpstan/phpstan/releases/tag/2.2.14","date":"2026-09-12T21:41:33Z","type":"stable","version":"2.2.14"},{"url":"https://github.com/phpstan/phpstan/releases/tag/2.2.13","date":"2026-09-03T20:40:15Z","type":"stable","version":"2.2.13"},{"url":"https://github.com/phpstan/phpstan/releases/tag/2.2.12","date":"2026-08-31T19:12:49Z","type":"stable","version":"2.2.12"},{"url":"https://github.com/phpstan/phpstan/releases/tag/2.2.11","date":"2026-08-31T10:34:20Z","type":"stable","version":"2.2.11"},{"url":"https://github.com/phpstan/phpstan/releases/tag/2.2.10","date":"2026-08-30T12:47:33Z","type":"stable","version":"2.2.10"},{"url":"https://github.com/phpstan/phpstan/releases/tag/2.2.9","date":"2026-08-22T07:39:37Z","type":"stable","version":"2.2.9"},{"url":"https://github.com/phpstan/phpstan/releases/tag/2.2.8","date":"2026-08-04T22:23:06Z","type":"stable","version":"2.2.8"},{"url":"https://github.com/phpstan/phpstan/releases/tag/2.2.7","date":"2026-07-29T17:40:47Z","type":"stable","version":"2.2.7"},{"url":"https://github.com/phpstan/phpstan/releases/tag/1.12.34","date":"2026-07-28T10:05:36Z","type":"stable","version":"1.12.34"},{"url":"https://github.com/phpstan/phpstan/releases/tag/2.2.6","date":"2026-07-26T21:24:15Z","type":"stable","version":"2.2.6"},{"url":"https://github.com/phpstan/phpstan/releases/tag/2.2.5","date":"2026-07-05T06:33:25Z","type":"stable","version":"2.2.5"},{"url":"https://github.com/phpstan/phpstan/releases/tag/2.2.4","date":"2026-07-03T07:01:31Z","type":"stable","version":"2.2.4"},{"url":"https://github.com/phpstan/phpstan/releases/tag/2.2.3","date":"2026-06-30T21:16:38Z","type":"stable","version":"2.2.3"},{"url":"https://github.com/phpstan/phpstan/releases/tag/2.2.2","date":"2026-06-05T09:01:35Z","type":"stable","version":"2.2.2"},{"url":"https://github.com/phpstan/phpstan/releases/tag/2.2.1","date":"2026-05-28T14:45:45Z","type":"stable","version":"2.2.1"}]` | `[{"url":"https://github.com/pylint-dev/pylint/releases/tag/v4.1.3","date":"2026-10-11T07:41:22Z","type":"stable","version":"v4.1.3"},{"url":"https://github.com/pylint-dev/pylint/releases/tag/v4.1.2","date":"2026-10-02T22:13:57Z","type":"stable","version":"v4.1.2"},{"url":"https://github.com/pylint-dev/pylint/releases/tag/v4.1.1","date":"2026-09-29T21:09:11Z","type":"stable","version":"v4.1.1"},{"url":"https://github.com/pylint-dev/pylint/releases/tag/v4.1.0","date":"2026-09-29T20:00:00Z","type":"stable","version":"v4.1.0"},{"url":"https://github.com/pylint-dev/pylint/releases/tag/v4.0.10","date":"2026-09-29T15:47:29Z","type":"stable","version":"v4.0.10"},{"url":"https://github.com/pylint-dev/pylint/releases/tag/v4.0.9","date":"2026-09-23T15:25:58Z","type":"stable","version":"v4.0.9"},{"url":"https://github.com/pylint-dev/pylint/releases/tag/v4.0.8","date":"2026-08-29T12:21:15Z","type":"stable","version":"v4.0.8"},{"url":"https://github.com/pylint-dev/pylint/releases/tag/v4.0.7","date":"2026-08-09T19:12:32Z","type":"stable","version":"v4.0.7"},{"url":"https://github.com/pylint-dev/pylint/releases/tag/v4.0.6","date":"2026-06-14T14:42:38Z","type":"stable","version":"v4.0.6"},{"url":"https://github.com/pylint-dev/pylint/releases/tag/v4.0.5","date":"2026-02-20T09:06:45Z","type":"stable","version":"v4.0.5"},{"url":"https://github.com/pylint-dev/pylint/releases/tag/v4.0.4","date":"2025-11-30T13:28:26Z","type":"stable","version":"v4.0.4"},{"url":"https://github.com/pylint-dev/pylint/releases/tag/v4.0.3","date":"2025-11-13T15:53:59Z","type":"stable","version":"v4.0.3"},{"url":"https://github.com/pylint-dev/pylint/releases/tag/v4.0.2","date":"2025-10-20T13:01:44Z","type":"stable","version":"v4.0.2"},{"url":"https://github.com/pylint-dev/pylint/releases/tag/v4.0.1","date":"2025-10-15T05:40:09Z","type":"stable","version":"v4.0.1"},{"url":"https://github.com/pylint-dev/pylint/releases/tag/v4.0.0","date":"2025-10-12T15:16:43Z","type":"stable","version":"v4.0.0"},{"url":"https://github.com/pylint-dev/pylint/releases/tag/v3.3.9","date":"2025-10-05T18:37:27Z","type":"stable","version":"v3.3.9"},{"url":"https://github.com/pylint-dev/pylint/releases/tag/v3.3.8","date":"2025-08-09T09:12:00Z","type":"stable","version":"v3.3.8"},{"url":"https://github.com/pylint-dev/pylint/releases/tag/v3.3.7","date":"2025-05-04T17:07:12Z","type":"stable","version":"v3.3.7"},{"url":"https://github.com/pylint-dev/pylint/releases/tag/v3.3.6","date":"2025-03-20T11:24:54Z","type":"stable","version":"v3.3.6"},{"url":"https://github.com/pylint-dev/pylint/releases/tag/v3.3.5","date":"2025-03-09T06:47:06Z","type":"stable","version":"v3.3.5"}]` |
| security.gdpr | yes | - |
| security.scorecard | 5 | 8 |
| security.vulnerabilities | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=homebrew&package_name=phpstan&per_page=100","last_12m":0,"max_severity":null}` | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=pypi&package_name=pylint&per_page=100","last_12m":0,"max_severity":null}` |

## Capabilities (Code Quality Tools)

| Capability | PHPStan | Pylint |
|---|:--:|:--:|
| **Core** |  |  |
| Function | Static analyzer | Linter |
| Language scope | Single-language | Single-language |
| Implementation language | PHP | Python |
| **Capability** |  |  |
| Autofix | ✗ | ✓ |
| **Config** |  |  |
| Config model | Config file | Config file |
| **Extensibility** |  |  |
| Custom rules | ✓ | ✓ |
| **Deployment** |  |  |
| Deployment | Both | CLI-local |
| **Delivery** |  |  |
| Editor integration | ✓ | ✓ |
| CI / VCS gating | ✓ | ✓ |
| **Insight** |  |  |
| Code metrics | - | ✓ |
| **Performance** |  |  |
| Incremental / monorepo aware | ✓ | - |
| **Licensing** |  |  |
| Open-source | OSS | OSS |
| **Commercial** |  |  |
| Pricing model | Free | Free |

*Source: vioscaleAI. Generated 2026-10-16T19:03:34.909Z. "-" = undocumented, not absent.*
