""" Panda CAN Controller Dongle ~~~~~ Setup ````` $ pip install . # or python setup.py install """ import codecs import os import re from setuptools import setup here = os.path.abspath(os.path.dirname(__file__)) def read(*parts): """Taken from pypa pip setup.py: intentionally *not* adding an encoding option to open, See: https://github.com/pypa/virtualenv/issues/201#issuecomment-3145690 """ return codecs.open(os.path.join(here, *parts), 'r').read() def find_version(*file_paths): version_file = read(*file_paths) version_match = re.search(r"^__version__ = ['\"]([^'\"]*)['\"]", version_file, re.M) if version_match: return version_match.group(1) raise RuntimeError("Unable to find version string.") setup( name='pandacan', version=find_version("python", "__init__.py"), url='https://github.com/commaai/panda', author='comma.ai', author_email='', packages=[ 'panda', ], package_dir={'panda': 'python'}, platforms='any', license='MIT', install_requires=[ 'libusb1', ], extras_require = { 'dev': [ "scons", "pycryptodome >= 3.9.8", "cffi", "flaky", "pytest", "pytest-mock", "pytest-xdist", "pytest-timeout", "pytest-randomly", "parameterized", "pre-commit", "numpy", "ruff", "spidev", "setuptools", # for setup.py ], }, ext_modules=[], description="Code powering the comma.ai panda", long_description='See https://github.com/commaai/panda', classifiers=[ 'Development Status :: 2 - Pre-Alpha', "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: System :: Hardware", ], )