1#!/usr/bin/env python3
2
3import os
4import setuptools
5
6from syncplay import projectURL, version as syncplay_version
7
8def read(fname):
9    with open(fname, 'r') as f:
10        return f.read()
11
12if os.getenv('SNAPCRAFT_PART_BUILD', None) is not None:
13    installRequirements = ["pyasn1"] + read('requirements.txt').splitlines()
14else:
15    installRequirements = read('requirements.txt').splitlines() +\
16                          read('requirements_gui.txt').splitlines()
17
18setuptools.setup(
19    name="syncplay",
20    version=syncplay_version,
21    author="Syncplay",
22    author_email="dev@syncplay.pl",
23    description=' '.join([
24        'Client/server to synchronize media playback',
25        'on mpv/VLC/MPC-HC/MPC-BE on many computers'
26    ]),
27    long_description=read('README.md'),
28    long_description_content_type="text/markdown",
29    url=projectURL,
30    download_url=projectURL + 'download/',
31    packages=setuptools.find_packages(),
32    install_requires=installRequirements,
33    python_requires=">=3.4",
34    entry_points={
35        'console_scripts': [
36            'syncplay-server = syncplay.ep_server:main',
37        ],
38        'gui_scripts': [
39            'syncplay = syncplay.ep_client:main',
40        ]
41    },
42    include_package_data=True,
43    classifiers=[
44        "Development Status :: 5 - Production/Stable",
45        "Environment :: MacOS X :: Cocoa",
46        "Environment :: Win32 (MS Windows)",
47        "Environment :: X11 Applications :: Qt",
48        "Framework :: Twisted",
49        "Intended Audience :: End Users/Desktop",
50        "License :: OSI Approved :: Apache Software License",
51        "Operating System :: MacOS :: MacOS X",
52        "Operating System :: Microsoft :: Windows",
53        "Operating System :: POSIX :: Linux",
54        "Natural Language :: English",
55        "Natural Language :: German",
56        "Natural Language :: Italian",
57        "Natural Language :: Russian",
58        "Natural Language :: Spanish",
59        "Programming Language :: Python :: 3",
60        "Programming Language :: Python :: 3.4",
61        "Programming Language :: Python :: 3.5",
62        "Programming Language :: Python :: 3.6",
63        "Programming Language :: Python :: 3.7",
64        "Topic :: Internet",
65        "Topic :: Multimedia :: Video"
66    ],
67)
68