X-Git-Url: https://git.ayoreis.com/Adafruit_Blinka-hackapet.git/blobdiff_plain/09422b62c65b439c46f0f15178f541ea30e88423..ceb9335735eca4763f42b04e4772ff2922ca9518:/setup.py diff --git a/setup.py b/setup.py index 370f556..cb3549c 100755 --- a/setup.py +++ b/setup.py @@ -7,22 +7,8 @@ import io import os import sys -from shutil import rmtree -from setuptools import find_packages, setup, Command - -# Package meta-data. -NAME = 'Adafruit-Blinka' -DESCRIPTION = 'CircuitPython APIs for non-CircuitPython versions of Python such as CPython on Linux and MicroPython.' -URL = 'https://github.com/adafruit/Adafruit_Blinka' -EMAIL = 'python@adafruit.com' -AUTHOR = 'Adafruit Industries' -REQUIRES_PYTHON = '>=3.6.0' -VERSION = None - -# What packages are required for this module to be executed? -with open('requirements.txt') as f: - requirements = f.read().splitlines() +from setuptools import setup, find_packages here = os.path.abspath(os.path.dirname(__file__)) @@ -31,82 +17,31 @@ here = os.path.abspath(os.path.dirname(__file__)) with io.open(os.path.join(here, 'README.rst'), encoding='utf-8') as f: long_description = '\n' + f.read() -# Load the package's __version__.py module as a dictionary. -about = {} -if not VERSION: - # with open(os.path.join(here, NAME, '__version__.py')) as f: - with open(os.path.join(here, 'src', '__version__.py')) as f: - exec(f.read(), about) -else: - about['__version__'] = VERSION - - -class UploadCommand(Command): - """Support setup.py upload.""" - - description = 'Build and publish the package.' - user_options = [] - - @staticmethod - def status(s): - """Prints things in bold.""" - print('\033[1m{0}\033[0m'.format(s)) - - def initialize_options(self): - pass - - def finalize_options(self): - pass - - def run(self): - try: - self.status('Removing previous builds…') - rmtree(os.path.join(here, 'dist')) - except OSError: - pass - - self.status('Building Source and Wheel (universal) distribution…') - os.system('{0} setup.py sdist bdist_wheel --universal'.format(sys.executable)) - - self.status('Uploading the package to PyPi via Twine…') - os.system('twine upload dist/*') - - self.status('Pushing git tags…') - os.system('git tag v{0}'.format(about['__version__'])) - os.system('git push --tags') - - sys.exit() - - -# Where the magic happens: setup( - name=NAME, - version=about['__version__'], - description=DESCRIPTION, + name='Adafruit-Blinka', + use_scm_version=True, + setup_requires=["setuptools_scm"], + description='CircuitPython APIs for non-CircuitPython versions of Python such as CPython on Linux and MicroPython.', long_description=long_description, long_description_content_type='text/x-rst', - author=AUTHOR, - author_email=EMAIL, - python_requires=REQUIRES_PYTHON, - url=URL, + author='Adafruit Industries', + author_email='circuitpython@adafruit.com', + python_requires='>=3.4.0', + url='https://github.com/adafruit/Adafruit_Blinka', package_dir={'': 'src'}, - #packages=find_packages(exclude=('tests',)), - packages=[ - 'adafruit_blinka', - 'adafruit_blinka.agnostic', - 'adafruit_blinka.board', - 'adafruit_blinka.microcontroller', - 'adafruit_blinka.microcontroller.esp8266', - 'adafruit_blinka.microcontroller.stm32', - 'microcontroller' + packages=find_packages("src"), + # py_modules lists top-level single file packages to include. + # find_packages only finds packages in directories with __init__.py files. + py_modules=['bitbangio', 'board', 'busio', 'digitalio', 'micropython', 'pulseio', 'neopixel_write'], + package_data={'adafruit_blinka.microcontroller.bcm283x.pulseio': ['libgpiod_pulsein']}, + install_requires=[ + "Adafruit-PlatformDetect", + "Adafruit-PureIO", + "RPi.GPIO; platform_machine=='armv7l' or platform_machine=='armv6l'", + "rpi_ws281x>=4.0.0; platform_machine=='armv7l' or platform_machine=='armv6l'", + "spidev; sys_platform=='linux'", + "sysv_ipc; platform_system != 'Windows'" ], - # If your package is a single module, use this instead of 'packages': - py_modules=['bitbangio', 'board', 'busio', 'digitalio'], - # entry_points={ - # 'console_scripts': ['mycli=mymodule:cli'], - # }, - install_requires=requirements, - include_package_data=True, license='MIT', classifiers=[ # Trove classifiers @@ -114,11 +49,7 @@ setup( 'License :: OSI Approved :: MIT License', 'Programming Language :: Python', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: Implementation :: MicroPython', ], - # $ setup.py publish support. - cmdclass={ - 'upload': UploadCommand, - }, )