1#!/usr/bin/env python
2
3from os import environ
4from os.path import abspath, dirname, join
5from setuptools import setup
6from sys import version_info, path as sys_path
7
8deps = []
9packages = [
10    "livestreamer",
11    "livestreamer.stream",
12    "livestreamer.plugin",
13    "livestreamer.plugin.api",
14    "livestreamer.plugins",
15    "livestreamer.packages",
16    "livestreamer.packages.flashmedia",
17    "livestreamer_cli",
18    "livestreamer_cli.packages",
19    "livestreamer_cli.utils"
20]
21
22if version_info[0] == 2:
23    # Require backport of concurrent.futures on Python 2
24    deps.append("futures")
25
26    # Require backport of argparse on Python 2.6
27    if version_info[1] == 6:
28        deps.append("argparse")
29
30# Require singledispatch on Python <3.4
31if version_info[0] == 2 or (version_info[0] == 3 and version_info[1] < 4):
32    deps.append("singledispatch")
33
34# requests 2.0 does not work correctly on Python <2.6.3
35if (version_info[0] == 2 and version_info[1] == 6 and version_info[2] < 3):
36    deps.append("requests>=1.0,<2.0")
37else:
38    deps.append("requests>=1.0,<3.0")
39
40# When we build an egg for the Win32 bootstrap we don't want dependency
41# information built into it.
42if environ.get("NO_DEPS"):
43    deps = []
44
45srcdir = join(dirname(abspath(__file__)), "src/")
46sys_path.insert(0, srcdir)
47
48setup(name="livestreamer",
49      version="1.12.2",
50      description="Livestreamer is command-line utility that extracts streams "
51                  "from various services and pipes them into a video player of "
52                  "choice.",
53      url="http://livestreamer.io/",
54      author="Christopher Rosell",
55      author_email="chrippa@tanuki.se",
56      license="Simplified BSD",
57      packages=packages,
58      package_dir={ "": "src" },
59      entry_points={
60          "console_scripts": ["livestreamer=livestreamer_cli.main:main"]
61      },
62      install_requires=deps,
63      test_suite="tests",
64      classifiers=["Development Status :: 5 - Production/Stable",
65                   "Environment :: Console",
66                   "Operating System :: POSIX",
67                   "Operating System :: Microsoft :: Windows",
68                   "Programming Language :: Python :: 2.6",
69                   "Programming Language :: Python :: 2.7",
70                   "Programming Language :: Python :: 3.3",
71                   "Programming Language :: Python :: 3.4",
72                   "Topic :: Internet :: WWW/HTTP",
73                   "Topic :: Multimedia :: Sound/Audio",
74                   "Topic :: Multimedia :: Video",
75                   "Topic :: Utilities"]
76)
77