forked from platypush/platypush
101 lines
3.8 KiB
Python
Executable file
101 lines
3.8 KiB
Python
Executable file
#!/usr/bin/env python
|
|
|
|
import errno
|
|
import os
|
|
from setuptools import setup, find_packages
|
|
|
|
def read(fname):
|
|
return open(os.path.join(os.path.dirname(__file__), fname)).read()
|
|
|
|
def pkg_files(dir):
|
|
paths = []
|
|
for (path, dirs, files) in os.walk(dir):
|
|
for file in files:
|
|
paths.append(os.path.join('..', path, file))
|
|
return paths
|
|
|
|
def create_etc_dir():
|
|
path = '/etc/platypush'
|
|
try:
|
|
os.makedirs(path)
|
|
except OSError as e:
|
|
if isinstance(e, PermissionError):
|
|
print('WARNING: Could not create /etc/platypush')
|
|
elif e.errno == errno.EEXIST and os.path.isdir(path):
|
|
pass
|
|
else:
|
|
raise
|
|
|
|
plugins = pkg_files('platypush/plugins')
|
|
backend = pkg_files('platypush/backend')
|
|
# create_etc_dir()
|
|
|
|
setup(
|
|
name = "platypush",
|
|
version = "0.9.3",
|
|
author = "Fabio Manganiello",
|
|
author_email = "info@fabiomanganiello.com",
|
|
description = ("Platypush service"),
|
|
license = "MIT",
|
|
python_requires = '>= 3',
|
|
keywords = "pushbullet notifications automation",
|
|
url = "https://github.com/BlackLight/platypush",
|
|
packages = find_packages(),
|
|
include_package_data = True,
|
|
entry_points = {
|
|
'console_scripts': [
|
|
'platypush=platypush:main',
|
|
'pusher=platypush.pusher:main',
|
|
'platydock=platypush.platydock:main',
|
|
],
|
|
},
|
|
scripts = ['bin/platyvenv'],
|
|
# data_files = [
|
|
# ('/etc/platypush', ['platypush/config.example.yaml'])
|
|
# ],
|
|
long_description = read('README.md'),
|
|
classifiers = [
|
|
"Topic :: Utilities",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Development Status :: 3 - Alpha",
|
|
],
|
|
install_requires = [
|
|
'pyyaml',
|
|
'redis',
|
|
'requests',
|
|
],
|
|
extras_require = {
|
|
'Support for Apache Kafka backend': ['kafka-python'],
|
|
'Support for Pushbullet backend': ['requests', 'websockets'],
|
|
'Support for HTTP backend': ['flask','websockets', 'python-dateutil'],
|
|
'Support for HTTP poll backend': ['frozendict'],
|
|
'Support for database plugin': ['sqlalchemy'],
|
|
'Support for RSS feeds': ['feedparser'],
|
|
'Support for PDF generation': ['weasyprint'],
|
|
'Support for Philips Hue plugin': ['phue'],
|
|
'Support for MPD/Mopidy music server plugin': ['python-mpd2'],
|
|
'Support for Belkin WeMo Switch plugin': ['ouimeaux'],
|
|
'Support for text2speech plugin': ['mplayer'],
|
|
'Support for OMXPlayer plugin': ['omxplayer'],
|
|
'Support for YouTube in the OMXPlayer plugin': ['youtube-dl'],
|
|
'Support for torrents download': ['python-libtorrent'],
|
|
'Support for Google Assistant': ['google-assistant-library'],
|
|
'Support for the Google APIs': ['google-api-python-client'],
|
|
'Support for most of the HTTP poll backends': ['python-dateutil'],
|
|
'Support for Last.FM scrobbler plugin': ['pylast'],
|
|
'Support for custom hotword detection': ['snowboy'],
|
|
'Support for real-time MIDI events': ['rtmidi'],
|
|
'Support for GPIO pins access': ['RPi.GPIO'],
|
|
'Support for MCP3008 analog-to-digital converter plugin': ['adafruit-mcp3008'],
|
|
'Support for smart cards detection': ['pyscard'],
|
|
'Support for ICal calendars': ['icalendar', 'python-dateutil'],
|
|
'Support for joystick backend': ['inputs'],
|
|
'Support for Kodi plugin': ['kodi-json'],
|
|
'Support for Plex plugin': ['plexapi'],
|
|
'Support for Chromecast plugin': ['pychromecast'],
|
|
'Support for sound devices': ['sounddevice', 'soundfile', 'numpy'],
|
|
# 'Support for Leap Motion backend': ['git+ssh://git@github.com:BlackLight/leap-sdk-python3.git'],
|
|
# 'Support for Flic buttons': ['git+https://@github.com/50ButtonsEach/fliclib-linux-hci.git']
|
|
},
|
|
)
|
|
|