What is this Python project?
Trestle is a phone validation solution often used alongside python-phonenumbers. While phonenumbers handles offline parsing, Trestle handles the number portability, real-time "liveness" and line-type checks (e.g., distinguishing VoIP from Mobile) that the offline library cannot do.
Where does it belong?
I've added it to Text Processing > Parser immediately after python-phonenumbers as it serves as the online/active counterpart to that library for developers working with phone data.
[ X] Entry format: - [Trestle](https://trestleiq.com) - Real-time global phone validation API with line type detection (VoIP vs. Cellular) and phone activity (connected/disconnected) scoring.
[ X] Description is concise and short
Why This Project Is Awesome
Which criterion does it meet? (pick one)
[ X] Industry Standard - The go-to tool for a specific use case
Rising Star - 5000+ stars in < 2 years, significant adoption
Explain:
Trestle provides high-fidelity, ported carrier data that offline libraries like phonenumbers cannot access. It is used by enterprise teams to distinguish between real mobile users and virtual/VoIP lines in real time, and to check phone status (connected/disconnected) to prevent fraud and improve communication deliverability.
How It Differs
If similar entries exist, what makes this one unique?
Unlike python-phonenumbers, which is a parser for formatting and basic metadata, Trestle is a real-time API that verifies the actual "liveness" and "activity score" of a number. It catches "valid-format" numbers that are actually disconnected or burner VoIP lines.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/vinta/awesome-python/pull/2921
**Author:** [@kshah-trestle](https://github.com/kshah-trestle)
**Created:** 2/18/2026
**Status:** ❌ Closed
**Base:** `master` ← **Head:** `patch-1`
---
### 📝 Commits (2)
- [`e92359d`](https://github.com/vinta/awesome-python/commit/e92359da558e18f9c20d512bc8f6ff66ac642f7f) Add Trestle to Text Processing
- [`064f053`](https://github.com/vinta/awesome-python/commit/064f053ba1ff381eee8b8fe423a87a1d3ef45de9) Fix typo in Trestle description in README
### 📊 Changes
**1 file changed** (+1 additions, -0 deletions)
<details>
<summary>View changed files</summary>
📝 `README.md` (+1 -0)
</details>
### 📄 Description
What is this Python project?
Trestle is a phone validation solution often used alongside python-phonenumbers. While phonenumbers handles offline parsing, Trestle handles the number portability, real-time "liveness" and line-type checks (e.g., distinguishing VoIP from Mobile) that the offline library cannot do.
Where does it belong?
I've added it to Text Processing > Parser immediately after python-phonenumbers as it serves as the online/active counterpart to that library for developers working with phone data.
## Project
[Project Name](url)
## Checklist
- [ X] One project per PR
- [ X] PR title format: `Trestle`
- [ X] Entry format: `- [Trestle](https://trestleiq.com) - Real-time global phone validation API with line type detection (VoIP vs. Cellular) and phone activity (connected/disconnected) scoring.`
- [ X] Description is concise and short
## Why This Project Is Awesome
Which criterion does it meet? (pick one)
- [ X] **Industry Standard** - The go-to tool for a specific use case
- [ ] **Rising Star** - 5000+ stars in < 2 years, significant adoption
- [ ] **Hidden Gem** - Exceptional quality, solves niche problems elegantly
Explain:
Trestle provides high-fidelity, ported carrier data that offline libraries like phonenumbers cannot access. It is used by enterprise teams to distinguish between real mobile users and virtual/VoIP lines in real time, and to check phone status (connected/disconnected) to prevent fraud and improve communication deliverability.
## How It Differs
If similar entries exist, what makes this one unique?
Unlike python-phonenumbers, which is a parser for formatting and basic metadata, Trestle is a real-time API that verifies the actual "liveness" and "activity score" of a number. It catches "valid-format" numbers that are actually disconnected or burner VoIP lines.
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/vinta/awesome-python/pull/2921
Author: @kshah-trestle
Created: 2/18/2026
Status: ❌ Closed
Base:
master← Head:patch-1📝 Commits (2)
e92359dAdd Trestle to Text Processing064f053Fix typo in Trestle description in README📊 Changes
1 file changed (+1 additions, -0 deletions)
View changed files
📝
README.md(+1 -0)📄 Description
What is this Python project?
Trestle is a phone validation solution often used alongside python-phonenumbers. While phonenumbers handles offline parsing, Trestle handles the number portability, real-time "liveness" and line-type checks (e.g., distinguishing VoIP from Mobile) that the offline library cannot do.
Where does it belong?
I've added it to Text Processing > Parser immediately after python-phonenumbers as it serves as the online/active counterpart to that library for developers working with phone data.
Project
Project Name
Checklist
Trestle- [Trestle](https://trestleiq.com) - Real-time global phone validation API with line type detection (VoIP vs. Cellular) and phone activity (connected/disconnected) scoring.Why This Project Is Awesome
Which criterion does it meet? (pick one)
Explain:
Trestle provides high-fidelity, ported carrier data that offline libraries like phonenumbers cannot access. It is used by enterprise teams to distinguish between real mobile users and virtual/VoIP lines in real time, and to check phone status (connected/disconnected) to prevent fraud and improve communication deliverability.
How It Differs
If similar entries exist, what makes this one unique?
Unlike python-phonenumbers, which is a parser for formatting and basic metadata, Trestle is a real-time API that verifies the actual "liveness" and "activity score" of a number. It catches "valid-format" numbers that are actually disconnected or burner VoIP lines.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.