(a few years later...)
Hi Mark,
I've just started experimenting with something close to this. For now I'm just including far horizon shade, starting from this example [1]. I'm working in a branch of my model workflow repo [2].
For near-shade, I started experimenting with a no longer supported package called pyny3d, which should be able to calculate a simple area-weighted average shade loss on arbitrary polygons by solar azimuth/elevation, but I found what looks like a significant bug [3], so I'm not sure how much time I will keep spending on that path.
Rather than using SunEye-style "point" measurements, I'm more interested in a workflow for utility scale sites that uses something like geojson polygons to represent strings or whole inverter arrays and then a simplified 3d representation of treelines. Maybe extracting data from [4] or [5], but I haven't spent much time figuring out the tree data.
Will