diff --git a/.gitignore b/.gitignore index 0763dc9..55f127b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,95 +1,12 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -env/ -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -*.egg-info/ -.installed.cfg -*.egg - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*,cover -.hypothesis/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -target/ - -# IPython Notebook -.ipynb_checkpoints - -# pyenv -.python-version - -# celery beat schedule file -celerybeat-schedule - -# dotenv -.env - -# virtualenv -venv/ -ENV/ - -# Spyder project settings -.spyderproject - -# Rope project settings -.ropeproject - -# ReadTheDocs +*.mpy +.idea +__pycache__ _build - +*.pyc +.env build* bundles +*.DS_Store +.eggs +dist +**/*.egg-info \ No newline at end of file diff --git a/.pylintrc b/.pylintrc index 946d694..cb8d23d 100644 --- a/.pylintrc +++ b/.pylintrc @@ -155,7 +155,7 @@ ignored-classes=optparse.Values,thread._local,_thread._local # (useful for modules/projects where namespaces are manipulated during runtime # and thus existing member attributes cannot be deduced by static analysis. It # supports qualified module names, as well as Unix pattern matching. -ignored-modules= +ignored-modules=board # Show a hint with possible names when a member name was not found. The aspect # of finding the hint is based on edit distance. diff --git a/.travis.yml b/.travis.yml index 4e400dc..51aa40a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,32 +1,32 @@ -# 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: MY5EqGSyszPWYXv6fw9eZmNBu6cIfi2TVwlBDFNvrRSZS1vJJBiJXv/0sLUpJCryR3Hq5ZdE1D4ZhnSEyQs8YYvJHLDiCD2IiGv2PAwI2HZp5wN5TSg/b5cE/OKaCbUnQ7rP2/rMExcE287uhvSupVminZBJt6ar9G0J+B4UB2LoTCgCQW54ZoMDmLS8N4L9kUtqCPqIapF5qS2XqZI3MRxkHjJSy5VHgcqwB8IhYppT3ETBZbLM4u5peRC99VhSW1Kt84OWWXiRc8U/mmb6Ci4AfYUzkhFubnZCSmXR1WYzgDNd+K+mDgnH/kiRw1SMO8czWQhwmb094LSJPXFsiJhSinXdyUucmtWx/OeNrDspx4sG4nUFjrlBjds56Ei7jhFjIeEpnsuwcRMeBnCvX12NUo7E36lzaI7+mCl/pyt/3NqEOurbkQ2BMdjIdlyHidjVHWlC10+pdqiOJp+WBuC6eHVw/5wyK0723a+5WEJMemh+TqvxX75VQJhs5yJzKbkvvxs447ILODLIW2e4CedTTz0KY6W0uNEaVjlfOtEKcN1EJSZnFdFZ6vUXB4YiXipvMA4OWMHVn8UAJmWNas1uIT3UZtGNZHsT5cYxUuL7EJmcOaMkMgb6S+jOxDAht+IoVwsvB0qdNbq+O5nMt0Tkm31270bRBwPVTUnabgw= 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 simpleio.py - - ([[ ! -d "examples" ]] || pylint --disable=missing-docstring,invalid-name examples/*.py) - - circuitpython-build-bundles --filename_prefix adafruit-circuitpython-simpleio --library_location . - - cd docs && sphinx-build -E -W -b html . _build/html \ No newline at end of file +- pylint simpleio.py +- ([[ ! -d "examples" ]] || pylint --disable=missing-docstring,invalid-name examples/*.py) +- circuitpython-build-bundles --filename_prefix adafruit-circuitpython-simpleio --library_location + . +- cd docs && sphinx-build -E -W -b html . _build/html && cd .. diff --git a/docs/conf.py b/docs/conf.py index 6049c27..13b496a 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -15,7 +15,7 @@ 'sphinx.ext.viewcode', ] -autodoc_mock_imports = ["digitalio", "audioio", "pulseio"] +autodoc_mock_imports = ["pulseio"] intersphinx_mapping = {'python': ('https://docs.python.org/3.4', None),'CircuitPython': ('https://circuitpython.readthedocs.io/en/latest/', None)} diff --git a/requirements.txt b/requirements.txt index 8b13789..edf9394 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1 @@ - +Adafruit-Blinka diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..7568091 --- /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-simpleio', + + use_scm_version=True, + setup_requires=['setuptools_scm'], + + description='CircuitPython helper library to simplify hardware interactions.', + long_description=long_description, + long_description_content_type='text/x-rst', + + # The project's main homepage. + url='https://github.com/adafruit/Adafruit_CircuitPython_SimpleIO', + + # Author details + author='Adafruit Industries', + author_email='circuitpython@adafruit.com', + + install_requires=['Adafruit-Blinka'], + + # 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 simpleio servo map range bitwrite hardware micropython circuitpython', + + # You can just specify the packages manually here if your project is + # simple. Or you can use find_packages(). + py_modules=['simpleio'], +)