PHPackages                             veronica\_caledon/residential-window-cleaning-2026 - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. veronica\_caledon/residential-window-cleaning-2026

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

veronica\_caledon/residential-window-cleaning-2026
==================================================

Thermal shock risk and WFP freeze-point calculator for cold-weather residential window cleaning in Northern Ontario

00Python

Since Apr 13Pushed 1mo agoCompare

[ Source](https://github.com/VeronicaCaledon/residential-window-cleaning-2026)[ Packagist](https://packagist.org/packages/veronica_caledon/residential-window-cleaning-2026)[ RSS](/packages/veronica-caledon-residential-window-cleaning-2026/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)DependenciesVersions (1)Used By (0)

Residential Window Cleaning 2026
================================

[](#residential-window-cleaning-2026)

**Thermal Shock Risk and WFP Freeze-Point Calculator for Cold-Weather Residential Window Cleaning**

This repository accompanies the Binx Professional Cleaning guide: **[Cold-Weather Residential Window Cleaning: Physics, Risk, and Practice for Northern Ontario](https://www.binx.ca/guides/residential-window-cleaning-2026.pdf)**

---

Overview
--------

[](#overview)

Cleaning residential windows in cold weather — particularly during the Northern Ontario spring transition when glass surfaces can remain well below freezing while air temperatures climb — carries real physical risk. The primary hazard is **thermal shock**: applying warm or room-temperature cleaning solution to cold glass creates a temperature differential that stresses the pane at its edges and existing micro-defects.

This project provides:

- **Thermal shock risk calculator** — five-variable assessment of glass surface temperature, delta-T, and risk band
- **WFP freeze feasibility calculator** — evaluate whether a water-fed pole cleaning solution will remain fluid at operating temperature
- **Reference datasets** — glass thermal tolerance thresholds and WFP solution freeze-point curves for 22 configurations each
- **Multi-language implementations** — Python (PyPI), JavaScript (npm), Rust (crates.io), Ruby (RubyGems), Elixir (Hex.pm), Java (Maven Central), PHP (Packagist)

---

Quick Start
-----------

[](#quick-start)

### Python

[](#python)

```
pip install residential-window-cleaning-2026
```

```
from residential_window_cleaning_2026 import (
    GlassType, assess_thermal_shock_risk
)

result = assess_thermal_shock_risk(
    glass_type=GlassType.DOUBLE_IGU_LOWE,
    ambient_temp_c=-8.0,
    wind_speed_kmh=15.0,
    sun_factor=0.0,       # north-facing, shade
    solution_temp_c=18.0,
)

print(result.risk_band.value)   # 'low'
print(result.advisory)
```

### CLI

[](#cli)

```
rwc-assess thermal-shock \
    --glass-type double_igu_lowe \
    --ambient-temp -8 \
    --wind-speed 15 \
    --sun-factor 0 \
    --solution-temp 18
```

### JavaScript

[](#javascript)

```
npm install @veronica_caledon/residential-window-cleaning-2026
```

```
const { assessThermalShockRisk } = require('@veronica_caledon/residential-window-cleaning-2026');

const result = assessThermalShockRisk({
  glassType: 'double_igu_lowe',
  ambientTempC: -8,
  windSpeedKmh: 15,
  sunFactor: 0,
  solutionTempC: 18,
});

console.log(result.riskBand); // 'low'
```

---

Glass Types Supported
---------------------

[](#glass-types-supported)

KeyDescription`single_annealed`Pre-1990 single-pane annealed glass`single_tempered`Single-pane tempered (shower doors, entry glass)`double_igu`Standard double insulated glass unit`double_igu_lowe`Double IGU with Low-E coating (post-2000 residential)`triple_igu`Triple-pane IGU`triple_igu_lowe`Triple-pane with Low-E — common in post-2010 Northern Ontario builds`laminated`Laminated safety glass (sidelites, skylights)`wired`Wired glass — lowest thermal shock tolerance---

Datasets
--------

[](#datasets)

Published on Hugging Face at `veronica_caledon/residential-window-cleaning-2026`:

- **`glass_temp_risk_thresholds`** — thermal conductivity, safe surface temperature minimums, and maximum delta-T by glass type (22 configurations)
- **`wfp_solution_freeze_curves`** — freeze point, viscosity, contact angle, and streak risk for 22 WFP cleaning solution formulations

---

Northern Ontario Context
------------------------

[](#northern-ontario-context)

North Bay and Sudbury experience freeze-thaw transition periods in March–April during which exterior glass surfaces commonly reach −10°C to −20°C overnight, while daytime air temperatures climb to +2°C to +8°C. Low-E coatings — standard in post-2000 Ontario residential construction — reduce heat transfer from indoors, keeping outer panes colder than ambient during morning hours.

The cleaning window for each day is narrow: too early and glass is too cold; too late and afternoon winds increase solution evaporation and streak risk. This calculator helps identify that window precisely.

---

Compliance References
---------------------

[](#compliance-references)

- **WSIB O. Reg. 213/91** — Construction Projects regulation governing ladder safety for residential exterior work
- **CSA Z259 series** — Fall protection equipment and procedures
- **Health Canada** — Propylene glycol and surfactant classification for residential cleaning product safety
- **ISO 11479 / ASTM C1036** — Flat glass specifications relevant to thermal performance ratings

---

About
-----

[](#about)

This calculator was developed to support field work by [Binx Professional Cleaning](https://www.binx.ca/commercial.php) in Northern Ontario.

Binx serves residential and commercial clients in North Bay, Sudbury, and surrounding communities. Window cleaning services: [binx.ca/residential-windows.php](https://www.binx.ca/residential-windows.php).

---

License
-------

[](#license)

MIT © Veronica Caledon

###  Health Score

19

—

LowBetter than 10% of packages

Maintenance59

Moderate activity, may be stable

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/4906b2440d5d74d02f88067d2c920595ab8e519c0bdb6899d6f22ea8cdbcf4d1?d=identicon)[veronicacaledon](/maintainers/veronicacaledon)

---

Top Contributors

[![VeronicaCaledon](https://avatars.githubusercontent.com/u/275324996?v=4)](https://github.com/VeronicaCaledon "VeronicaCaledon (3 commits)")

### Embed Badge

![Health badge](/badges/veronica-caledon-residential-window-cleaning-2026/health.svg)

```
[![Health](https://phpackages.com/badges/veronica-caledon-residential-window-cleaning-2026/health.svg)](https://phpackages.com/packages/veronica-caledon-residential-window-cleaning-2026)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
