this broke for no apparent reason. python packaging is terrible. so much enterprise-grade code for what really should be a very simple job.