We were building our own python-click package because we needed features/bug fixes available as of version 7.0.0, but the most recent version available from Debian was in the 6.x range. "Click" is needed for building/testing and installing sonic-utilities. Now that we are building sonic-utilities as a wheel, with Click specified as a dependency in the setup.py file, setuptools will install a more recent version of Click in the sonic-slave-buster container when building the package, and pip will install a more recent version of Click in the host OS of SONiC when installing the sonic-utilities package. Also, we don't need to worry about installing the Python 2 or 3 version of the package, as the proper one will be installed as necessary.
49 lines
1.2 KiB
Python
49 lines
1.2 KiB
Python
from setuptools import setup
|
|
|
|
dependencies = [
|
|
'natsort==6.2.1', # 6.2.1 is the last version which supports Python 2
|
|
'pyyaml',
|
|
'swsssdk>=2.0.1',
|
|
]
|
|
|
|
high_performance_deps = [
|
|
'swsssdk[high_perf]>=2.0.1',
|
|
]
|
|
|
|
setup(
|
|
name='sonic-py-common',
|
|
version='1.0',
|
|
description='Common Python libraries for SONiC',
|
|
license='Apache 2.0',
|
|
author='SONiC Team',
|
|
author_email='linuxnetdev@microsoft.com',
|
|
url='https://github.com/Azure/SONiC',
|
|
maintainer='Joe LeVeque',
|
|
maintainer_email='jolevequ@microsoft.com',
|
|
install_requires=dependencies,
|
|
extras_require={
|
|
'high_perf': high_performance_deps,
|
|
},
|
|
packages=[
|
|
'sonic_py_common',
|
|
],
|
|
setup_requires= [
|
|
'pytest-runner',
|
|
'wheel'
|
|
],
|
|
tests_require=[
|
|
'pytest',
|
|
'mock==3.0.5' # For python 2. Version >=4.0.0 drops support for py2
|
|
],
|
|
classifiers=[
|
|
'Intended Audience :: Developers',
|
|
'Operating System :: Linux',
|
|
'Programming Language :: Python :: 2.7',
|
|
'Programming Language :: Python :: 3.5',
|
|
'Programming Language :: Python',
|
|
],
|
|
keywords='SONiC sonic PYTHON python COMMON common',
|
|
test_suite = 'setup.get_test_suite'
|
|
)
|
|
|