# Ruff vs Trunk

**Leader by vioscaleAI score:** Ruff

| Attribute | Ruff | Trunk |
|---|---|---|
| **vioscaleAI score** | 72.5 (68% (medium)) | 52.6 (73% (medium)) |
| activity.commits_last_30d | 100 | - |
| adoption.dependent_repos | 5,870 | - |
| adoption.github_stars | 49,914 | - |
| adoption.package_downloads_weekly | 77,677,334 | - |
| content.faq | `[{"answer":"A fast Python linter built in Rust that consolidates multiple linting tools into a single interface. It supports over 500 rules, provides automated fixes for common issues, and runs significantly faster than traditional Python linters on even very large codebases. It is indexed under Code Quality Tools.","source":"https://astral.sh/ruff","question":"What is Ruff?","confidence":0.6},{"answer":"Ruff 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://astral.sh/ruff","question":"What platforms does Ruff support?","confidence":0.6},{"answer":"Yes. Ruff can be deployed self-hosted, so it does not have to run on the vendor's infrastructure.","source":"https://astral.sh/ruff","question":"Can Ruff be self-hosted?","confidence":0.6},{"answer":"We have confirmed 6 integrations for Ruff, including Flake8, isort, Autoflake, Pyflakes, pycodestyle and Pylint. This is what we could verify from public sources, so the vendor may support others we have not indexed.","source":"https://astral.sh/ruff","question":"What does Ruff integrate with?","confidence":0.6},{"answer":"We have independently confirmed GDPR for Ruff. Certifications we do not list are ones we have not been able to verify from public sources, which is not the same as Ruff not holding them. Always confirm compliance directly before you rely on it.","source":"https://astral.sh/legal/privacy","question":"What security certifications does Ruff have?","confidence":0.7},{"answer":"Yes. Ruff 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/astral-sh/ruff","question":"Is Ruff open source?","confidence":0.95},{"answer":"Ruff is available worldwide. Its primary market is the United States. The vendor is headquartered in the United States.","source":"https://astral.sh/ruff","question":"Where is Ruff available?","confidence":0.75}]` | `[{"answer":"A system that identifies flaky tests, automatically quarantines them while maintaining build health, and manages the PR merging process at scale with parallel test execution and integrated tool support. It is indexed under Code Quality Tools.","source":"https://www.trunk.io","question":"What is Trunk?","confidence":0.6},{"answer":"Trunk offers a free tier, so you can start without paying. Paid plans start at $0 per month. Prices are published openly on the vendor's own pricing page. Pricing changes often, so verify at source before relying on it.","source":"https://trunk.io/pricing","question":"Is Trunk free?","confidence":0.6},{"answer":"Trunk supports the web, Linux and a command-line interface. Platforms we have not confirmed are simply not listed here rather than ruled out.","source":"https://www.trunk.io","question":"What platforms does Trunk support?","confidence":0.6},{"answer":"We have only confirmed a cloud / SaaS deployment for Trunk, so it appears to be vendor-hosted. If a self-hosted option exists we have not found it documented publicly.","source":"https://www.trunk.io","question":"Can Trunk be self-hosted?","confidence":0.6},{"answer":"We have confirmed 13 integrations for Trunk, including GitHub, Slack, Linear, Jira, Google (OAuth/SSO), Microsoft (OAuth/SSO), Jenkins and CircleCI, plus 5 more. This is what we could verify from public sources, so the vendor may support others we have not indexed.","source":"https://www.trunk.io","question":"What does Trunk integrate with?","confidence":0.6},{"answer":"We have independently confirmed SOC 2 for Trunk. Certifications we do not list are ones we have not been able to verify from public sources, which is not the same as Trunk not holding them. Always confirm compliance directly before you rely on it.","source":"https://www.trunk.io","question":"What security certifications does Trunk have?","confidence":0.6},{"answer":"Trunk is available worldwide. Its primary market is the United States. The vendor is headquartered in the United States.","source":"https://trunk.io/pricing","question":"Where is Trunk available?","confidence":0.75}]` |
| deployment.options | `{"self_hosted":true}` | `{"cloud":true}` |
| description.long | A tool for analyzing and formatting Python code, designed to be fast and efficient through Rust implementation, with support across multiple platforms. | Trunk automatically detects and isolates unreliable tests that block deployments, while managing a merge queue system that coordinates related changes to run in parallel. This reduces infrastructure costs and accelerates software delivery by preventing test flakes from delaying code merges. |
| features.capabilities | `{"autofix":true,"function":"linter","deployment":"cli_local","incremental":true,"open_source":"oss","impl_language":"Rust","pricing_model":"free","language_scope":"single_language","editor_integration":true}` | `{"autofix":true,"metrics":true,"ci_gating":true,"deployment":"both","open_source":"closed","pricing_model":"per_contributor","language_scope":"multi_language"}` |
| integrations.count | 6 | 10 |
| integrations.list | `[{"name":"Flake8"},{"name":"isort"},{"name":"Autoflake"},{"name":"Pyflakes"},{"name":"pycodestyle"},{"name":"Pylint"},{"name":"Visual Studio Code","native":false,"category":"editor","direction":"outbound"}]` | `[{"name":"GitHub"},{"name":"Slack"},{"name":"Linear"},{"name":"Jira"},{"name":"Google (OAuth/SSO)"},{"name":"Microsoft (OAuth/SSO)"},{"name":"Jenkins"},{"name":"CircleCI"},{"name":"Travis CI"},{"name":"Microsoft Teams","native":true,"category":"chat","direction":"outbound"},{"name":"GitHub Issues","native":true,"category":"issue_tracking","direction":"outbound"},{"name":"Bazel","native":true,"category":"build_system","direction":"inbound"},{"name":"Nx","native":true,"category":"build_system","direction":"inbound"},{"name":"Gradle","native":true,"category":"build_system","direction":"inbound"},{"name":"Svix","native":true,"category":"webhooks","direction":"outbound"}]` |
| language.primary | Rust | - |
| license.spdx | MIT | - |
| market.availability | `{"hqCountry":"US","primaryMarkets":["US"],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` | `{"hqCountry":"US","primaryMarkets":["US"],"availabilityScope":"global","availableCountries":[],"notAvailableCountries":[]}` |
| platform.support | `{"cli":true,"mac":true,"linux":true,"windows":true}` | `{"cli":true,"web":true}` |
| pricing | - | `{"type":"subscription","plans":[{"free":true,"name":"Free","summary":"Free for up to 5 committers","features":["Flaky test detection and quarantining","PR comments with test summaries","GitHub integration","Slack notifications","CLI and VS Code usage","Data encryption in transit and at rest","US data residency","SOC 2 Type II compliance"],"minSeats":1,"commitment":"monthly","components":[{"kind":"fixed","amount":0,"period":"month","currency":"USD"}],"description":"Up to 5 committers with 1M test spans per committer/month","contactSales":false,"includedLimits":{"committers":"5","test_spans":"1M/month per committer"}},{"free":false,"name":"Team","summary":"$0/committer/month","features":["Everything in Free, plus:","Unlimited committers","Volume discounts on test spans","Merge queue with anti-flake protection","Intelligent PR batching (up to 100 PRs)","Parallel merge queues","Multi-CI provider support","Parallelism controls","Slack channel notifications and DMs","Admin tools and authentication controls","Onboarding support"],"commitment":"monthly","components":[{"kind":"fixed","amount":0,"period":"month","currency":"USD"}],"description":"Unlimited committers with advanced CI features and volume discounts","contactSales":false,"includedLimits":{"committers":"Unlimited","test_spans_per_committer":"1M/month"}},{"free":false,"name":"Enterprise","summary":"Custom pricing — contact sales","features":["Everything in Team, plus:","Single Sign-On (SSO) with custom providers","SAML support","On-premise deployment","Advanced admin and authentication controls","Slack Connect support channel","Dedicated support team","Custom billing and payment terms","Early access to new features","Feature prioritization","Custom integrations"],"description":"Custom features including SSO, on-premise deployment, dedicated support, and advanced admin controls","contactSales":true,"includedLimits":{"test_spans":"Volume discount available"}}],"summary":"Free tier available. Team and Enterprise plans available with volume-based discounts on test spans.","currency":"USD","freeTier":true,"sourceUrl":"https://trunk.io/pricing","retrievedAt":"2026-08-14T09:22:04.880Z","startingPrice":{"amount":0,"period":"month","currency":"USD"},"billingPeriods":["month"]}` |
| pricing.free_tier | - | yes |
| pricing.model | commercial | free |
| pricing.price_level | - | free |
| pricing.transparent | - | no |
| release.cadence_days | 7 | - |
| release.history | `[{"url":"https://github.com/astral-sh/ruff/releases/tag/0.16.10","date":"2026-10-01T18:04:27Z","type":"stable","version":"0.16.10"},{"url":"https://github.com/astral-sh/ruff/releases/tag/0.16.9","date":"2026-09-24T20:38:52Z","type":"stable","version":"0.16.9"},{"url":"https://github.com/astral-sh/ruff/releases/tag/0.16.8","date":"2026-09-16T15:56:22Z","type":"stable","version":"0.16.8"},{"url":"https://github.com/astral-sh/ruff/releases/tag/0.16.7","date":"2026-09-10T18:05:06Z","type":"stable","version":"0.16.7"},{"url":"https://github.com/astral-sh/ruff/releases/tag/0.16.6","date":"2026-09-03T17:20:13Z","type":"stable","version":"0.16.6"},{"url":"https://github.com/astral-sh/ruff/releases/tag/0.16.5","date":"2026-08-27T16:37:58Z","type":"stable","version":"0.16.5"},{"url":"https://github.com/astral-sh/ruff/releases/tag/0.16.4","date":"2026-08-20T17:44:56Z","type":"stable","version":"0.16.4"},{"url":"https://github.com/astral-sh/ruff/releases/tag/0.16.3","date":"2026-08-13T15:18:05Z","type":"stable","version":"0.16.3"},{"url":"https://github.com/astral-sh/ruff/releases/tag/0.16.2","date":"2026-08-07T13:31:55Z","type":"stable","version":"0.16.2"},{"url":"https://github.com/astral-sh/ruff/releases/tag/0.16.1","date":"2026-07-30T19:37:52Z","type":"stable","version":"0.16.1"},{"url":"https://github.com/astral-sh/ruff/releases/tag/0.16.0","date":"2026-07-23T19:12:22Z","type":"stable","version":"0.16.0"},{"url":"https://github.com/astral-sh/ruff/releases/tag/0.15.22","date":"2026-07-16T15:15:10Z","type":"stable","version":"0.15.22"},{"url":"https://github.com/astral-sh/ruff/releases/tag/0.15.21","date":"2026-07-09T20:02:30Z","type":"stable","version":"0.15.21"},{"url":"https://github.com/astral-sh/ruff/releases/tag/0.15.20","date":"2026-06-25T17:21:46Z","type":"stable","version":"0.15.20"},{"url":"https://github.com/astral-sh/ruff/releases/tag/0.15.19","date":"2026-06-24T01:11:40Z","type":"stable","version":"0.15.19"},{"url":"https://github.com/astral-sh/ruff/releases/tag/0.15.18","date":"2026-06-18T18:26:34Z","type":"stable","version":"0.15.18"},{"url":"https://github.com/astral-sh/ruff/releases/tag/0.15.17","date":"2026-06-11T17:57:00Z","type":"stable","version":"0.15.17"},{"url":"https://github.com/astral-sh/ruff/releases/tag/0.15.16","date":"2026-06-04T16:34:11Z","type":"stable","version":"0.15.16"},{"url":"https://github.com/astral-sh/ruff/releases/tag/0.15.15","date":"2026-05-28T14:18:02Z","type":"stable","version":"0.15.15"},{"url":"https://github.com/astral-sh/ruff/releases/tag/0.15.14","date":"2026-05-21T14:35:54Z","type":"stable","version":"0.15.14"}]` | - |
| reliability.status_page | - | yes |
| security.certifications | - | `[{"name":"SOC 2 Type I","level":"Type I","status":"active"},{"name":"SOC 2 Type II","level":"Type II","status":"active"}]` |
| security.gdpr | yes | yes |
| security.soc2 | - | yes |
| security.trust_center | - | https://trunk.io/security |
| security.vulnerabilities | `{"count":0,"source":"https://advisories.ecosyste.ms/api/v1/advisories?ecosystem=pypi&package_name=ruff&per_page=100","last_12m":0,"max_severity":null}` | - |

## Capabilities (Code Quality Tools)

| Capability | Ruff | Trunk |
|---|:--:|:--:|
| **Core** |  |  |
| Function | Linter | - |
| Language scope | Single-language | Multi-language |
| Implementation language | Rust | - |
| **Capability** |  |  |
| Autofix | ✓ | ✓ |
| **Config** |  |  |
| Config model | - | - |
| **Extensibility** |  |  |
| Custom rules | - | - |
| **Deployment** |  |  |
| Deployment | CLI-local | Both |
| **Delivery** |  |  |
| Editor integration | ✓ | - |
| CI / VCS gating | - | ✓ |
| **Insight** |  |  |
| Code metrics | - | ✓ |
| **Performance** |  |  |
| Incremental / monorepo aware | ✓ | - |
| **Licensing** |  |  |
| Open-source | OSS | Closed |
| **Commercial** |  |  |
| Pricing model | Free | Per-contributor |

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