The proportion parameter on box sizers determines how the left-over space is divided up between the items being managed by the sizer. In other words, items will first get the space they require determined by their BestSize or MinSize, if possible, and then anything remaining is divided between the items based on the proportions.
In your test case the left panel has a BestSize of (1,1) because there is nothing on the panel. The panel on the right has a BestSize of (1682, 70), because of its sizer and the grid it contains. (You can easily this and much more layout-related info using the Widget Inspection Tool.
https://wiki.wxpython.org/Widget_Inspection_Tool) So, since the left panel is telling the sizer that it only needs one pixel, and the right panel wants more than is available in the frame, then the sizer gives everything minus one to the right panel, and since there is nothing left over then nothing is divided up proportionally.
Since the MinSIze takes precedence with the sizers then one way to make your test case work the way you want is to set the MinSize of both panels to (1,1). That way they both will get 1 pixel width based on their MinSize, and then everything else will be divided between the 2 panels using the sizer item proportion values.
--
Robin