From 1db9ebeac76a3227ee743c1f6a0fda3c7152efd4 Mon Sep 17 00:00:00 2001 From: Kattni Rembor Date: Tue, 7 Aug 2018 13:04:35 -0400 Subject: [PATCH 1/2] PyPi setup. --- .gitignore | 7 ++++- .travis.yml | 39 +++++++++++------------ docs/conf.py | 2 +- examples/rfm69_simpletest.py | 11 ++++--- requirements.txt | 3 +- setup.py | 60 ++++++++++++++++++++++++++++++++++++ 6 files changed, 95 insertions(+), 27 deletions(-) create mode 100644 setup.py diff --git a/.gitignore b/.gitignore index 6262b77..55f127b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,12 @@ +*.mpy +.idea __pycache__ _build *.pyc .env build* bundles -*.mpy +*.DS_Store +.eggs +dist +**/*.egg-info \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 2fb2e4f..905c1f2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,32 +1,33 @@ -# This is a common .travis.yml for generating library release zip files for -# CircuitPython library releases using circuitpython-build-tools. -# See https://github.com/adafruit/circuitpython-build-tools for detailed setup -# instructions. - dist: trusty sudo: false language: python python: - - "3.6" - +- '3.6' cache: - pip: true - + pip: true deploy: - provider: releases - api_key: $GITHUB_TOKEN +- provider: releases + api_key: "$GITHUB_TOKEN" file_glob: true - file: $TRAVIS_BUILD_DIR/bundles/* + file: "$TRAVIS_BUILD_DIR/bundles/*" skip_cleanup: true overwrite: true on: tags: true - +- provider: pypi + user: adafruit-travis + on: + tags: true + password: + secure: n1FdbvnLdosw0DtUb8h+6qZcCFScY4xzmSb5eE1RwROq8TxdEbPDUVVmZVbZzon4EhKO6NqRPTiMeVAl4d7T2YqCfDlvTwmWnqXaZS6QYoUrD1do4i+sGIvnXmJQNARARDLV+nPYp4DKYvvqSjnpcsu8GUAX91iTCOJPKrT8ls2NG1QvSrBXTJN0JBy7yGd3NBxRA7+qZCKemhcU/CJGcDnsZM81+jC73E6NmtGUEazWnPEXrTbVbzA907A6mu4vqGyLsXhvI9bdSzWqyIsm9ogfKYT5YNuOUoUjdQ1brfwvoS8ap+do4dOH1JzgMvfb9o2KIuHXIdIcMn/jumPfR4ySS9S8/mdnoVKh5zafp/WeQi5XFgfPv8PfmPQBkEh5TsQic7hBGS/36xCssKdi9vTtseBH3wde9KB9YMhDhagJFl9+P/9FAYjBuEn0yEkAZ5QA/nWyIjNqrbU6WSw9nxpjRy7f+XwFvbrI0w1ErgNE54eaL5SFCmrPWT0oA5puHcjtl5N2BEM8Abm6FyPrKEagDKSxclcBzM8kizgMddmbJ8Gn7waPuX3hzSt5rEv+h5d/3bP+uUfDOXTeydvEjP57vEE8l5fTm/QjcBaLY/jUhubRld3LUXW/VUglVpI5iOgjpN3xRq183iWsLCKpHnzxW+PYoqMmTBWqBKl6F2o= install: - - pip install pylint circuitpython-build-tools Sphinx sphinx-rtd-theme - +- pip install -r requirements.txt +- pip install pylint circuitpython-build-tools Sphinx sphinx-rtd-theme +- pip install --force-reinstall pylint==1.9.2 script: - - pylint adafruit_rfm69.py - - ([[ ! -d "examples" ]] || pylint --disable=missing-docstring,invalid-name,bad-whitespace,line-too-long examples/*.py) - - circuitpython-build-bundles --filename_prefix adafruit-circuitpython-rfm69 --library_location . - - cd docs && sphinx-build -E -W -b html . _build/html +- pylint adafruit_rfm69.py +- ([[ ! -d "examples" ]] || pylint --disable=missing-docstring,invalid-name,bad-whitespace,line-too-long + examples/*.py) +- circuitpython-build-bundles --filename_prefix adafruit-circuitpython-rfm69 --library_location + . +- cd docs && sphinx-build -E -W -b html . _build/html && cd .. diff --git a/docs/conf.py b/docs/conf.py index 24d2d16..1236cfd 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -18,7 +18,7 @@ # Uncomment the below if you use native CircuitPython modules such as # digitalio, micropython and busio. List the modules you use. Without it, the # autodoc module docs will fail to generate with a warning. -autodoc_mock_imports = ["adafruit_bus_device", "micropython"] +# autodoc_mock_imports = ["adafruit_bus_device", "micropython"] intersphinx_mapping = {'python': ('https://docs.python.org/3.4', None),'BusDevice': ('https://circuitpython.readthedocs.io/projects/busdevice/en/latest/', None),'CircuitPython': ('https://circuitpython.readthedocs.io/en/latest/', None)} diff --git a/examples/rfm69_simpletest.py b/examples/rfm69_simpletest.py index 98ff961..0163285 100644 --- a/examples/rfm69_simpletest.py +++ b/examples/rfm69_simpletest.py @@ -10,14 +10,15 @@ # Define radio parameters. -RADIO_FREQ_MHZ = 915.0 # Frequency of the radio in Mhz. Must match your - # module! Can be a value like 915.0, 433.0, etc. +RADIO_FREQ_MHZ = 915.0 # Frequency of the radio in Mhz. Must match your + # module! Can be a value like 915.0, 433.0, etc. # Define pins connected to the chip, use these if wiring up the breakout according to the guide: -CS = digitalio.DigitalInOut(board.D5) +CS = digitalio.DigitalInOut(board.D5) RESET = digitalio.DigitalInOut(board.D6) -# Or uncomment and instead use these if using a Feather M0 RFM69 board and the appropriate CircuitPython build: -#CS = digitalio.DigitalInOut(board.RFM69_CS) +# Or uncomment and instead use these if using a Feather M0 RFM69 board +# and the appropriate CircuitPython build: +#CS = digitalio.DigitalInOut(board.RFM69_CS) #RESET = digitalio.DigitalInOut(board.RFM69_RST) # Initialize SPI bus. diff --git a/requirements.txt b/requirements.txt index c47d35a..3031961 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ -adafruit-circuitpython-bus-device +Adafruit-Blinka +adafruit-circuitpython-busdevice diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..d4eefa8 --- /dev/null +++ b/setup.py @@ -0,0 +1,60 @@ +"""A setuptools based setup module. + +See: +https://packaging.python.org/en/latest/distributing.html +https://github.com/pypa/sampleproject +""" + +# Always prefer setuptools over distutils +from setuptools import setup, find_packages +# To use a consistent encoding +from codecs import open +from os import path + +here = path.abspath(path.dirname(__file__)) + +# Get the long description from the README file +with open(path.join(here, 'README.rst'), encoding='utf-8') as f: + long_description = f.read() + +setup( + name='adafruit-circuitpython-rfm69', + + use_scm_version=True, + setup_requires=['setuptools_scm'], + + description='CircuitPython library for RFM69 packet radio.', + long_description=long_description, + long_description_content_type='text/x-rst', + + # The project's main homepage. + url='https://github.com/adafruit/Adafruit_CircuitPython_RFM69', + + # Author details + author='Adafruit Industries', + author_email='circuitpython@adafruit.com', + + install_requires=['Adafruit-Blinka', 'adafruit-circuitpython-busdevice'], + + # Choose your license + license='MIT', + + # See https://pypi.python.org/pypi?%3Aaction=list_classifiers + classifiers=[ + 'Development Status :: 3 - Alpha', + 'Intended Audience :: Developers', + 'Topic :: Software Development :: Libraries', + 'Topic :: System :: Hardware', + 'License :: OSI Approved :: MIT License', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.4', + 'Programming Language :: Python :: 3.5', + ], + + # What does your project relate to? + keywords='adafruit rfm69 packet radio hardware micropython circuitpython', + + # You can just specify the packages manually here if your project is + # simple. Or you can use find_packages(). + py_modules=['adafruit_rfm69'], +) From d5185ebb30d3840e41e661acaa13587dd802c215 Mon Sep 17 00:00:00 2001 From: Kattni Rembor Date: Tue, 7 Aug 2018 13:12:37 -0400 Subject: [PATCH 2/2] linting. --- adafruit_rfm69.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/adafruit_rfm69.py b/adafruit_rfm69.py index 4c86d3a..073207b 100644 --- a/adafruit_rfm69.py +++ b/adafruit_rfm69.py @@ -346,6 +346,8 @@ def __init__(self, spi, cs, reset, frequency, *, sync_word=b'\x2D\xD4', # Set transmit power to 13 dBm, a safe value any module supports. self.tx_power = 13 + # pylint: disable=no-member + # Reconsider this disable when it can be tested. def _read_into(self, address, buf, length=None): # Read a number of bytes from the specified address into the provided # buffer. If length is not specified (the default) the entire buffer