Skip to main content

emergency-plumbing-triage

Zero-dependency Python helpers for 24/7 home-service dispatch: issue triage, first-5-minute checklists, after-hours cost estimates (2026 US benchmarks), US ZIP/phone validation, and a tiny CLI.

Field-tested against a real-world emergency plumbing dispatch workflow — burst pipes, sewage backup, gas risk, and no-water calls — so the defaults match how live 24/7 shops actually triage at 2 a.m.

  • Live dispatch operation: 24hourplumberusa — 24/7 call flow and first-5-minute checklist
  • Service catalog reference: plumbing services — full repair, replacement, and installation list
  • Emergency guide: emergency plumbing costs, shut-off steps, and what counts as an emergency vs. morning job
  • Live coverage map: service coverage — 4,942 cities & towns across 50 states with live ETAs

Install

pip install emergency-plumbing-triage

Quick use

from emergency_plumbing_triage import classify_issue, get_checklist, estimate_cost

result = classify_issue("burst pipe with active flow I cannot stop")
print(result["level"])   # EMERGENCY
print(result["reason"])
print(get_checklist())   # first-5-minute steps

print(estimate_cost("overnight", hours=2.0))
# {'window': 'overnight', 'dispatch': (150, 350), 'hourly': (125, 400), 'total_low': 400, 'total_high': 1150}

Validate a dispatch request:

from emergency_plumbing_triage import validate_dispatch_request

validate_dispatch_request(zip_code="90210", phone="(888) 217-6399", psi=55)

CLI

python -m emergency_plumbing_triage --issue "sewage backing into tub" --window overnight --hours 2
python -m emergency_plumbing_triage --issue "slow drip in bucket, valve holds" --checklist

API

  • classify_issue(text) -> {level, reason, checklist} — EMERGENCY (active flow, sewage indoors, gas smell, no water), SAME_DAY, or ROUTINE.
  • get_checklist() -> [str] — shut main clockwise, kill power risk, drain pressure, contain + clear, document + call.
  • estimate_cost(window, hours) — windows: business, evening, overnight (also weekend), holiday. 2026 US benchmarks.
  • is_valid_zip(code), normalize_phone(us_phone), is_normal_pressure(psi), validate_dispatch_request(...).
  • get_service_coverage(), get_coverage_examples() — nationwide footprint from the live service coverage hub (4,942 cities, 50 states).

Live coverage examples

Dispatch windows vary by market — the service coverage hub lists every state page with its largest cities, and each city page breaks out emergency plumber, drain cleaning, and water heater repair with local costs and response notes:

  • Texas — Houston · San Antonio · Dallas
  • California — Los Angeles · San Diego · San Jose
  • Florida — Jacksonville · Miami · Tampa
  • New York — New York · Buffalo · Yonkers
from emergency_plumbing_triage import get_service_coverage

print(get_service_coverage())
# {'cities': 4942, 'states': 50, 'url': 'https://24hourplumberusa.com/locations', 'examples': [...]}

See the field guides that informed the defaults: 24hourplumberusa, plumbing services, and emergency plumbing.

Why this exists

Small dispatch teams and indie hackers keep re-implementing the same keyword triage + fee-table math. This packages the boring part so a side-project IVR, SMS bot, orinternal dashboard can triage consistently.

Built from public plumbing services and emergency plumbing triage notes; no affiliation required to use the code (MIT).

Metadata

Release files for emergency-plumbing-triage 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for emergency-plumbing-triage 0.2.0
File Size Uploaded Provenance Actions
emergency_plumbing_triage-0.2.0.tar.gz 11.0 kB Without provenance Details for emergency_plumbing_triage-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for emergency-plumbing-triage 0.2.0
File Interpreter ABI Platform Actions
emergency_plumbing_triage-0.2.0-py3-none-any.whl Python 3 none any Details for emergency_plumbing_triage-0.2.0-py3-none-any.whl

Total release size: 21.8 kB

Release files / emergency_plumbing_triage-0.2.0.tar.gz

Download URL emergency_plumbing_triage-0.2.0.tar.gz
Size 11.0 kB
Tags Source
SHA-256 checksum
How to use checksums
55562784d3745bafe70621d7a015f73fe283c3e944ff5fefb5cdd8c311b6edc1
BLAKE2b-256 checksum
How to use checksums
b6b3b59cbcc85c1c3aa18d249b5bcd03cba223ca4f9a9b426a2f74856ce11e30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / emergency_plumbing_triage-0.2.0-py3-none-any.whl

Download URL emergency_plumbing_triage-0.2.0-py3-none-any.whl
Size 10.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
043ae4efd2e4ae3b0a561ae3e05b41fefab5d20fe3734725c13874c0cb5b8f51
BLAKE2b-256 checksum
How to use checksums
afa4ff90d43d4b060053fbdcaf9d6acecc49cfcad9127b3dd9628e38504fd6f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Security for emergency-plumbing-triage 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page