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 reference: emergency plumbing dispatch guide and first-5-minute checklist
  • Related reading: 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 guide that informed the defaults: 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 emergency plumbing triage notes; no affiliation required to use the code (MIT).

Metadata

Release files for emergency-plumbing-triage 0.1.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.1.0
File Size Uploaded Provenance Actions
emergency_plumbing_triage-0.1.0.tar.gz 8.7 kB Without provenance Details for emergency_plumbing_triage-0.1.0.tar.gz

Built distribution (wheel)

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

Total release size: 17.9 kB

Release files / emergency_plumbing_triage-0.1.0.tar.gz

Download URL emergency_plumbing_triage-0.1.0.tar.gz
Size 8.7 kB
Tags Source
SHA-256 checksum
How to use checksums
760f9fa9e533a0a20a52136933f8aed496a3f60f7be4ed18923cf73d56f95421
BLAKE2b-256 checksum
How to use checksums
b35309286414127074e7954640bef8758ed7cf47f14409f4c252d9edccf6a9b3
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.0-py3-none-any.whl

Download URL emergency_plumbing_triage-0.1.0-py3-none-any.whl
Size 9.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e57a1c84475d62883ff8ed46a534f276c484ad2b2aed10658af44f766cc11168
BLAKE2b-256 checksum
How to use checksums
0e21919a143f1594f598b5b99fed276ca8b529f38d6f84e0c6cf4516beeaa0b1
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.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