From 51c8c47910b34db3e612dc1ba30d98697bc0a2c7 Mon Sep 17 00:00:00 2001 From: Kattni Rembor Date: Sat, 22 Dec 2018 15:34:05 -0600 Subject: [PATCH 1/2] PyPI setup. --- .gitignore | 6 ++++++ .travis.yml | 41 ++++++++++++++++++------------------ README.rst | 25 ++++++++++++++++++++++ setup.py | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 111 insertions(+), 21 deletions(-) create mode 100644 setup.py diff --git a/.gitignore b/.gitignore index 0dd8629..55f127b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,12 @@ +*.mpy +.idea __pycache__ _build *.pyc .env build* bundles +*.DS_Store +.eggs +dist +**/*.egg-info \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 5af4676..89251ac 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,33 +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: xenial 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: UEqrs03jDTWy8VWUw65x7bADLEL02swd1527YhC3bA21Gl6npUPjcAK2CHqUsai2vimBaTF4MlpmlNGyHnpmgz5EUm5dB5r6aZuqBdGkPqnA5bUo0mWGjGWKdvyLeupZT0At9/Fs9sCuvAHoZGhYZXv+P+zhSoQK879oP9RgbibFP1rmJx4V/vhb2VwHUK/3clQfDkyybmtqruYRJJDQo7pZZulYFJeedJ+IajDXWOmg3he8rteWJ3dYTk3cxM1niutyQc67iK0R2gVJe9ya4iLRJF0NyvSVmMQyfv2fFjte+Jo6r3pUalSvZ/Bc2PMJq/c/dEon8pPS6qGBkh3VD07U3IMUBLt07CwIAATqVplgB+o7YjaETysehhj2nc/XJA9zIBwAL2umINoW5Cridp1rFPU2U0ooVez+QTjn8+TS8N6+1VfMfwyHTgCSUs9z4yIkv+lRbr8epqSJHlQQQpFc3zsONaYHVwuiOFryLGyb/PEOz2oRkh3LnTsDJRPPhvm5+EYQzeFd8NF/McLMymSrCI0AbKCI01F7ZKlDaeR7du7yFgzOht+ifrDdCAyfi1eQ9w/YhuRl9/3PtiDozUbHumbb51HiNtvJMxxfCID5xa4PXJpCHEE8qa7IdGVW/t4kbtvLLU18zm19Yrwt6j2dEiPGdIdM4+dgCLOjYSk= install: - - pip install -r requirements.txt - - pip install circuitpython-build-tools Sphinx sphinx-rtd-theme - - pip install --force-reinstall pylint==1.9.2 - +- pip install -r requirements.txt +- pip install circuitpython-build-tools Sphinx sphinx-rtd-theme +- pip install --force-reinstall pylint==1.9.2 script: - - pylint adafruit_framebuf.py - - ([[ ! -d "examples" ]] || pylint --disable=missing-docstring,invalid-name,bad-whitespace examples/*.py) - - circuitpython-build-bundles --filename_prefix adafruit-circuitpython-framebuf --library_location . - - cd docs && sphinx-build -E -W -b html . _build/html && cd .. +- pylint adafruit_framebuf.py +- ([[ ! -d "examples" ]] || pylint --disable=missing-docstring,invalid-name,bad-whitespace + examples/*.py) +- circuitpython-build-bundles --filename_prefix adafruit-circuitpython-framebuf --library_location + . +- cd docs && sphinx-build -E -W -b html . _build/html && cd .. diff --git a/README.rst b/README.rst index d01417e..12fd736 100644 --- a/README.rst +++ b/README.rst @@ -25,6 +25,31 @@ Please ensure all dependencies are available on the CircuitPython filesystem. This is easily achieved by downloading `the Adafruit library and driver bundle `_. +Installing from PyPI +-------------------- + +On supported GNU/Linux systems like the Raspberry Pi, you can install the driver locally `from +PyPI `_. To install for current user: + +.. code-block:: shell + + pip3 install adafruit-circuitpython-framebuf + +To install system-wide (this may be required in some cases): + +.. code-block:: shell + + sudo pip3 install adafruit-circuitpython-framebuf + +To install in a virtual environment in your current project: + +.. code-block:: shell + + mkdir project-name && cd project-name + python3 -m venv .env + source .env/bin/activate + pip3 install adafruit-circuitpython-framebuf + Usage Example ============= diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..cb33bcb --- /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-framebuf', + + use_scm_version=True, + setup_requires=['setuptools_scm'], + + description='CircuitPython library .', + long_description=long_description, + long_description_content_type='text/x-rst', + + # The project's main homepage. + url='https://github.com/adafruit/Adafruit_CircuitPython_framebuf', + + # 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 display framebuf framebuffer software 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_framebuf'], +) \ No newline at end of file From a592e6198a47f658f59d8d2c02bcb5b8c5ed866f Mon Sep 17 00:00:00 2001 From: Kattni Rembor Date: Sat, 22 Dec 2018 15:35:51 -0600 Subject: [PATCH 2/2] Finish setup.py --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index cb33bcb..c5b2dfc 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ use_scm_version=True, setup_requires=['setuptools_scm'], - description='CircuitPython library .', + description='CircuitPython frambuf module, based on the Python frambuf module.', long_description=long_description, long_description_content_type='text/x-rst',