Environment markers figure into this.
Environment markers are described in several places, including PEP 508. We'd need to figure out an appropriate marker that would differentiate the roborio platform, allow linux, but also work when downloading via pip. I think it might be doable by specifying Linux + CPU type, but maybe we can make it simpler?
Python 3.8.1 (default, Dec 30 2019, 05:47:38)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os,sys,platform
>>> os.name
'posix'
>>> sys.platform
'linux'
>>> platform.machine()
'armv7l'
>>> platform.python_implementation()
'CPython'
>>> platform.release()
'4.14.87-rt49-cg-7.0.0f0-xilinx-zynq-189'
>>> platform.system()
'Linux'
>>> platform.version()
'#1 SMP PREEMPT RT Fri Mar 15 19:11:24 UTC 2019'
>>> '.'.join(platform.python_version_tuple()[:2])
'3.8'
>>> platform.python_version()
'3.8.1'
>>> sys.implementation.name
'cpython'
>>> sys.implementation.version
sys.version_info(major=3, minor=8, micro=1, releaselevel='final', serial=0)
Python 3.7.3 (default, Apr 3 2019, 05:39:12)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os,sys,platform
>>> os.name
'posix'
>>> sys.platform
'linux'
>>> platform.machine()
'armv7l'
>>> platform.python_implementation()
'CPython'
>>> platform.release()
'4.19.75-v7l+'
>>> platform.system()
'Linux'
>>> platform.version()
'#1270 SMP Tue Sep 24 18:51:41 BST 2019'
>>> '.'.join(platform.python_version_tuple()[:2])
'3.7'
>>> platform.python_version
<function python_version at 0xb65b16a8>
>>> platform.python_version()
'3.7.3'
>>> sys.implementation.name
'cpython'
>>> sys.implementation.version
sys.version_info(major=3, minor=7, micro=3, releaselevel='final', serial=0)