requirements for repeatable install
[rainbowstream.git] / setup.py
... / ...
CommitLineData
1from setuptools import setup, find_packages
2import os
3import os.path
4import sys
5
6if sys.version[0] == "2":
7 from pipes import quote
8else:
9 from shlex import quote
10
11# Bumped version
12version = '1.5.2'
13
14# Require
15install_requires = [
16 "python-dateutil",
17 "arrow",
18 "requests",
19 "pyfiglet",
20 "twitter",
21 "Pillow",
22 "PySocks",
23 "pocket"
24]
25
26# Default user (considers non virtualenv method)
27user = os.environ.get('SUDO_USER', os.environ.get('USER', None))
28
29# Copy default config if not exists
30default = os.path.expanduser("~") + os.sep + '.rainbow_config.json'
31if not os.path.isfile(default):
32 cmd = 'cp rainbowstream/colorset/config ' + default
33 os.system(cmd)
34 if user:
35 cmd = 'chown ' + quote(user) + ' ' + default
36 os.system(cmd)
37 cmd = 'chmod 777 ' + default
38 os.system(cmd)
39
40# Setup
41setup(name='rainbowstream',
42 version=version,
43 description="A smart and nice Twitter client on terminal.",
44 long_description=open("./README.rst", "r").read(),
45 classifiers=[
46 "Development Status :: 5 - Production/Stable",
47 "Environment :: Console",
48 "Intended Audience :: End Users/Desktop",
49 "Natural Language :: English",
50 "Operating System :: OS Independent",
51 "Programming Language :: Python :: 2.7",
52 "Programming Language :: Python :: 3.2",
53 "Programming Language :: Python :: 3.3",
54 "Programming Language :: Python :: 3.4",
55 "Programming Language :: Python :: 3.5",
56 "Programming Language :: Python :: 3.6",
57 "Programming Language :: Python :: 3.7",
58 "Topic :: Internet :: WWW/HTTP :: Dynamic Content :: CGI Tools/Libraries",
59 "Topic :: Utilities",
60 "License :: OSI Approved :: MIT License",
61 ],
62 keywords='twitter, command-line tools, stream API',
63 author='Vu Nhat Minh',
64 author_email='nhatminh179@gmail.com',
65 url='http://www.rainbowstream.org/',
66 license='MIT License',
67 packages=find_packages(exclude=['ez_setup', 'examples', 'tests']),
68 include_package_data=True,
69 zip_safe=True,
70 install_requires=install_requires,
71 long_description_content_type='text/markdown',
72 entry_points="""
73 # -*- Entry points: -*-
74 [console_scripts]
75 rainbowstream=rainbowstream.rainbow:fly
76 """,
77 )