The regression
def refund(order, payment):
payment.refund(order.total)
order.status = "refunded"
return order
1 check, 1 broken. Refunded orders cannot be refunded again.
Perch lets a team add English method requirements without paying a developer seat fee. Check an agent’s edit, repair a finding and rerun the same selected rule; unchanged cached answers are free.
perch check reads working files; perch scan reads Git HEAD. Relevant source is sent to TypeSafe’s hosted models. The MIT CLI does not run model inference offline.
A saved requirement makes a recurring mistake checkable. In this Perch capture from September 20, 2026, the same rule flags a missing guard and passes after the guard is restored.
def refund(order, payment):
payment.refund(order.total)
order.status = "refunded"
return order
1 check, 1 broken. Refunded orders cannot be refunded again.
def refund(order, payment):
if order.status == "refunded":
return order
payment.refund(order.total)
order.status = "refunded"
return order
1 check, nothing to report.
Source: public order-service checkout.py at the linked commit. The captured standalone file is refund.py. Perch command output and timestamp. This saved-rule demonstration does not measure DeepSource's detection rate.
Perch turns project behavior into focused checks that agents can run before committing. Use these differences to choose the review workflow and billing model your team needs.
| Capability | Perch | DeepSource |
|---|---|---|
| Billing | 10¢ per 1,000 fresh rule checks. Cached checks free. No seat fees. | Team: $24/active contributor/month billed annually, or $30 monthly.Vendor documentation ↗ |
| Before commit | perch check reads the files on disk, including uncommitted edits. | CLI queries hosted analysis results; offline analyzer execution was not verified.Vendor documentation ↗ |
| Custom requirements | English ensure rules in perch.yaml: project, file or method scope. No paid custom-rule tier. | .deepsource.toml selects analyzers, exclusions and settings.Vendor documentation ↗ |
| Coverage | Each parsed non-test application method in the selected scan scope is read, with caller and callee context. No method-count cap. | Automated analysis, formatting and AI-assisted fixes.Vendor documentation ↗ |
| Open source | MIT-licensed CLI. Hosted model analysis is a paid service. | Commercial hosted analysis.Vendor documentation ↗ |
For five Team contributors, DeepSource's annual plan has a $120 monthly equivalent. Perch's 100-mid-sized-PR estimate is $50. Give the coding agent a direct local behavior check, with project requirements saved in the repository and unchanged checks reused from cache.
DeepSource: CLI queries hosted analysis results; offline analyzer execution was not verified. DeepSource workflow documentation.
Perch reads the current working file with perch check. For a known requirement, select its rule name and method instead of requesting another broad review. A local CLI describes where the command runs; Perch sends relevant source to hosted TypeSafe models for analysis.
DeepSource: .deepsource.toml selects analyzers, exclusions and settings. DeepSource rule documentation.
Perch stores English ensure rules in perch.yaml or .perch/rules/. Project, file and method scopes determine what is checked. Run the named check after an edit and after the repair; a rule finding can fail the command and a CI gate. Perch rules · Working-file checks.
Compare DeepSource's billing unit and Perch's usage estimate
DeepSource: Commercial hosted analysis. DeepSource product or license source.
Perch’s CLI is MIT-licensed; hosted model inference is a separate paid service included in its published check rate. It does not run the model offline. Unchanged requests can reuse cached answers for free. Fresh judgments can vary, and a passing requirement check does not prove application correctness. Perch MIT license.
DeepSource combines automated analysis and AI-assisted fixes. A CLI that retrieves hosted analysis results is different from an offline analyzer or a verified working-tree review command.
Perch and DeepSource: pricing, allowances and workload calculator
npm install -g @lakeday/perchperch rules add refund-once \
--where refund.py --each method \
--ensure "Refunded orders cannot be refunded again."The captured rule checks the requirement shown above. Rule syntax and selectors
perch check refund.py::refund --rules refund-onceRun the check after an edit and after the fix. Working-tree check documentation
Use perch scan for repository code at Git HEAD and changed-code CI checks for pull requests. New model judgments can vary. Repeatability comes from cached answers for unchanged requests; a pass does not prove application correctness.
Choose Perch when you want an MIT CLI, English behavior rules and usage pricing that stays independent of team size. Give your coding agent a saved check it can run after every relevant edit.
Install PerchPublished by Perch. Vendor facts were reviewed on 2026-10-14; plans and allowances can change. Vendor marks belong to their owners.