If the input can change behind your back yes. For /etc/os-release - an upgrade changes the cntents of that file and Pants won't know. For uname ditto. Strongly consider running those libraries as tools in a Process cache_scope=NEVER.
It may help to ignore Python and treat it as if it does not exist. Put another way - pretend you were writing this and all your support libraries were written in a jvm language. Then you'd need to shell out with Process. Do that here too.