from setuptools import setup
from setuptools.dist import Distribution
from setuptools.command.install import install
import os
import version
SUMO_VERSION = version.get_pep440_version()
package_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
class InstallPlatlib(install):
def finalize_options(self):
install.finalize_options(self)
if self.distribution.has_ext_modules():
self.install_lib = self.install_platlib
class BinaryDistribution(Distribution):
"""Distribution which always forces a binary package with platform name"""
def has_ext_modules(self):
return True
setup(
name='libsumo',
version=SUMO_VERSION,
url='https://sumo.dlr.de/docs/Libsumo.html',
author='DLR and contributors',
author_email='[email protected]',
license='EPL-2.0',
description="The python version of the libsumo API to communicate with the traffic simulation Eclipse SUMO",
long_description=open(os.path.join(os.path.dirname(package_dir), 'README.md')).read(),
long_description_content_type='text/markdown',
classifiers=[
'Development Status :: 4 - Beta',
'Intended Audience :: Developers',
'Intended Audience :: Science/Research',
'Programming Language :: Python :: 3',
],
keywords='traffic simulation traci sumo',
packages=['libsumo'],
package_dir={'': package_dir},
package_data={'libsumo': ['*.pyd', '*.so', '*.dylib']},
install_requires=['traci>='+SUMO_VERSION, 'eclipse-sumo'],
cmdclass={'install': InstallPlatlib},
distclass=BinaryDistribution
)