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

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(...).

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.1.1

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.1.1
File Size Uploaded Provenance Actions
emergency_plumbing_triage-0.1.1.tar.gz 8.9 kB Without provenance Details for emergency_plumbing_triage-0.1.1.tar.gz

Built distribution (wheel)

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

Total release size: 18.3 kB

Release files / emergency_plumbing_triage-0.1.1.tar.gz

Download URL emergency_plumbing_triage-0.1.1.tar.gz
Size 8.9 kB
Tags Source
SHA-256 checksum
How to use checksums
148bc72de35a4788ebce369ebe640fc584a12c4f5d0fed9c0805e78a24f74251
BLAKE2b-256 checksum
How to use checksums
73b0d2bfb815b714f3e3092acd366140754d3fc42f2e78af63e08dc66e2b0f97
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

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

Download URL emergency_plumbing_triage-0.1.1-py3-none-any.whl
Size 9.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ca8345feef5b02cc3946433d99c15a29e2e9e6e1a0212fdb4166c6f59bddc9ab
BLAKE2b-256 checksum
How to use checksums
a204670a52a1aaf12dcd9ee5d59a93e1a05690b62053f54a6c2d54b2ff759628
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Security for emergency-plumbing-triage 0.1.1

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