Changes in version 1.0.0 (2026-07-19) - Initial release. - magic_rectangle(p, q) constructs a magic rectangle (p, q of equal parity; De Los Reyes et al. 2009 for even orders, Chai-Das-Midha 2013 for odd orders) or a nearly magic rectangle (opposite parity; Chai-Singh-Stufken 2019) for every order for which one exists. - rectangle_type(p, q) classifies existence ("magic", "nearly magic", "none"). - verify_rectangle(M) checks the defining properties from first principles. - Exhaustive test suite over all orders up to 40 x 40.