22from setuptools import setup
33
44UTM_VERSION = '0.9.1'
5+ BASE_URL = 'https://github.com/cms-l1-globaltrigger'
56
67def _version ():
78 """Returns major and minor interpreter version."""
8- return " {}{}" .format (sys .version_info [0 ], sys .version_info [1 ])
9+ return ' {}{}' .format (sys .version_info [0 ], sys .version_info [1 ])
910
1011def _platform ():
1112 """Returns platform signature for wheels."""
@@ -15,19 +16,46 @@ def _platform():
1516 return 'darwin'
1617 raise ValueError ("Platform not supported: {}" .format (sys .platform ))
1718
18- # Note: no more 'm' abiflag since Python 3.8.0
19- WHEEL_SIGNATURE = 'cp{0}-cp{0}{2}-{1}_x86_64' .format (_version (), _platform (), sys .abiflags )
19+ def _signature ():
20+ # Note: no more 'm' abiflag since Python 3.8
21+ return 'cp{0}-cp{0}{1}-{2}_x86_64' .format (_version (), sys .abiflags , _platform ())
22+
23+ def _wheel_name (name , version ):
24+ basename = name .replace ('-' , '_' )
25+ return '{0}-{1}-{2}.whl' .format (basename , version , _signature ())
26+
27+ def _require (name , version ):
28+ filename = _wheel_name (name , version )
29+ return '{0} @ {1}/{0}/releases/download/{2}/{3}' .format (name , BASE_URL , version , filename )
30+
31+ install_requires = []
32+
33+ try :
34+ from tmTable import __version__
35+ assert __version__ == UTM_VERSION
36+ except (ModuleNotFoundError , ImportError , AssertionError ):
37+ install_requires .append (_require ('tm-table' , UTM_VERSION ))
38+
39+ try :
40+ from tmGrammar import __version__
41+ assert __version__ == UTM_VERSION
42+ except (ModuleNotFoundError , ImportError , AssertionError ):
43+ install_requires .append (_require ('tm-grammar' , UTM_VERSION ))
44+
45+ try :
46+ from tmEventSetup import __version__
47+ assert __version__ == UTM_VERSION
48+ except (ModuleNotFoundError , ImportError , AssertionError ):
49+ install_requires .append (_require ('tm-eventsetup' , UTM_VERSION ))
50+
51+ print (install_requires )
2052
2153setup (
2254 name = 'tm-python' ,
2355 version = UTM_VERSION ,
2456 author = "Bernhard Arnold" ,
25572658 description = """Meta package providing Python bindings for tmTable, tmGrammar and tmEventSetup""" ,
27- install_requires = [
28- 'tm-table @ https://github.com/cms-l1-globaltrigger/tm-table/releases/download/{0}/tm_table-{0}-{1}.whl' .format (UTM_VERSION , WHEEL_SIGNATURE ),
29- 'tm-grammar @ https://github.com/cms-l1-globaltrigger/tm-grammar/releases/download/{0}/tm_grammar-{0}-{1}.whl' .format (UTM_VERSION , WHEEL_SIGNATURE ),
30- 'tm-eventsetup @ https://github.com/cms-l1-globaltrigger/tm-eventsetup/releases/download/{0}/tm_eventsetup-{0}-{1}.whl' .format (UTM_VERSION , WHEEL_SIGNATURE )
31- ],
59+ install_requires = install_requires ,
3260 license = "GPLv3"
3361)
0 commit comments