/ setup.py
setup.py
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 4 # Note: To use the 'upload' functionality of this file, you must: 5 # $ pip install twine 6 7 import io 8 import os 9 import sys 10 11 from setuptools import setup, find_packages 12 13 here = os.path.abspath(os.path.dirname(__file__)) 14 15 # Import the README and use it as the long-description. 16 # Note: this will only work if 'README.md' is present in your MANIFEST.in file! 17 with io.open(os.path.join(here, "README.rst"), encoding="utf-8") as f: 18 long_description = "\n" + f.read() 19 20 board_reqs = [] 21 if os.path.exists("/proc/device-tree/compatible"): 22 with open("/proc/device-tree/compatible", "rb") as f: 23 compat = f.read() 24 if b"nvidia,tegra" in compat: 25 board_reqs = ["Jetson.GPIO"] 26 if ( 27 b"brcm,bcm2835" in compat 28 or b"brcm,bcm2836" in compat 29 or b"brcm,bcm2837" in compat 30 or b"brcm,bcm2838" in compat 31 ): 32 board_reqs = ["RPi.GPIO", "rpi_ws281x>=4.0.0", "sysv_ipc"] 33 34 setup( 35 name="Adafruit-Blinka", 36 use_scm_version=True, 37 setup_requires=["setuptools_scm"], 38 description="CircuitPython APIs for non-CircuitPython versions of Python such as CPython on Linux and MicroPython.", 39 long_description=long_description, 40 long_description_content_type="text/x-rst", 41 author="Adafruit Industries", 42 author_email="circuitpython@adafruit.com", 43 python_requires=">=3.5.0", 44 url="https://github.com/adafruit/Adafruit_Blinka", 45 package_dir={"": "src"}, 46 packages=find_packages("src"), 47 # py_modules lists top-level single file packages to include. 48 # find_packages only finds packages in directories with __init__.py files. 49 py_modules=[ 50 "analogio", 51 "bitbangio", 52 "board", 53 "busio", 54 "digitalio", 55 "micropython", 56 "pulseio", 57 "neopixel_write", 58 ], 59 package_data={ 60 "adafruit_blinka.microcontroller.bcm283x.pulseio": ["libgpiod_pulsein"] 61 }, 62 install_requires=[ 63 "Adafruit-PlatformDetect>=2.18.1", 64 "Adafruit-PureIO>=1.1.7", 65 "pyftdi>=0.40.0", 66 ] 67 + board_reqs, 68 license="MIT", 69 classifiers=[ 70 # Trove classifiers 71 # Full list: https://pypi.python.org/pypi?%3Aaction=list_classifiers 72 "License :: OSI Approved :: MIT License", 73 "Programming Language :: Python", 74 "Programming Language :: Python :: 3", 75 "Programming Language :: Python :: 3.5", 76 "Programming Language :: Python :: Implementation :: MicroPython", 77 ], 78 )