Files
python-gpiozero/setup.py
Dave Jones 8e0c6e243b Refactor low level implementation
This commit is a fairly major piece of work that abstracts all pin
operations (function, state, edge detection, PWM, etc.) into a base
"Pin" class which is then used by input/output/composite devices to
perform all required configuration.

The idea is to pave the way for I2C based IO extenders which can present
additional GPIO ports with similar capabilities to the Pi's "native"
GPIO ports. As a bonus it also abstracts away the reliance on the
RPi.GPIO library to allow alternative pin implementations (e.g. using
RPIO to take advantage of DMA based PWM), or even pure Python
implementations.
2016-02-08 14:54:18 +00:00

87 lines
2.4 KiB
Python

import os
import sys
from setuptools import setup, find_packages
"A simple interface to everyday GPIO components used with Raspberry Pi"
if sys.version_info[0] == 2:
if not sys.version_info >= (2, 7):
raise ValueError('This package requires Python 2.7 or above')
elif sys.version_info[0] == 3:
if not sys.version_info >= (3, 2):
raise ValueError('This package requires Python 3.2 or above')
else:
raise ValueError('Unrecognized major version of Python')
HERE = os.path.abspath(os.path.dirname(__file__))
# Workaround <http://www.eby-sarna.com/pipermail/peak/2010-May/003357.html>
try:
import multiprocessing
except ImportError:
pass
__project__ = 'gpiozero'
__version__ = '1.0.0'
__author__ = 'Ben Nuttall'
__author_email__ = 'ben@raspberrypi.org'
__url__ = 'https://github.com/RPi-Distro/python-gpiozero'
__platforms__ = 'ALL'
__classifiers__ = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Education",
"Intended Audience :: Developers",
"Topic :: Education",
"Topic :: System :: Hardware",
"License :: OSI Approved :: BSD License",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 3",
]
__keywords__ = [
'raspberrypi',
'gpio',
]
__requires__ = [
'spidev',
]
__extra_requires__ = {
}
__entry_points__ = {
}
def main():
import io
with io.open(os.path.join(HERE, 'README.rst'), 'r') as readme:
setup(
name = __project__,
version = __version__,
description = __doc__,
long_description = readme.read(),
classifiers = __classifiers__,
author = __author__,
author_email = __author_email__,
url = __url__,
license = [
c.rsplit('::', 1)[1].strip()
for c in __classifiers__
if c.startswith('License ::')
][0],
keywords = __keywords__,
packages = find_packages(),
include_package_data = True,
platforms = __platforms__,
install_requires = __requires__,
extras_require = __extra_requires__,
entry_points = __entry_points__,
)
if __name__ == '__main__':
main()