80 lines
2.7 KiB
Python
80 lines
2.7 KiB
Python
from pathlib import Path
|
|
|
|
from setuptools import find_packages, setup
|
|
|
|
here = Path(__file__).parent.resolve()
|
|
|
|
with open(here.joinpath("README.rst"), encoding="utf-8") as f:
|
|
long_description = f.read()
|
|
|
|
# Find the version
|
|
with open(here.joinpath("sublime_music", "__init__.py")) as f:
|
|
for line in f:
|
|
if line.startswith("__version__"):
|
|
version = eval(line.split()[-1])
|
|
break
|
|
|
|
package_data_dirs = [
|
|
here.joinpath("sublime_music", "adapters", "icons"),
|
|
here.joinpath("sublime_music", "adapters", "images"),
|
|
here.joinpath("sublime_music", "adapters", "subsonic", "icons"),
|
|
here.joinpath("sublime_music", "dbus", "mpris_specs"),
|
|
here.joinpath("sublime_music", "ui", "icons"),
|
|
here.joinpath("sublime_music", "ui", "images"),
|
|
]
|
|
package_data_files = []
|
|
for data_dir in package_data_dirs:
|
|
for file in data_dir.iterdir():
|
|
package_data_files.append(str(file))
|
|
|
|
setup(
|
|
name="sublime_music",
|
|
version=version,
|
|
url="https://gitlab.com/sublime-music/sublime-music",
|
|
description="A native GTK *sonic client.",
|
|
long_description=long_description,
|
|
author="Sumner Evans",
|
|
author_email="inquiries@sumnerevans.com",
|
|
license="GPL3",
|
|
classifiers=[
|
|
# 3 - Alpha
|
|
# 4 - Beta
|
|
# 5 - Production/Stable
|
|
"Development Status :: 3 - Alpha",
|
|
# Indicate who your project is intended for
|
|
"Intended Audience :: End Users/Desktop",
|
|
"Operating System :: POSIX",
|
|
"License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
|
|
# Specify the Python versions you support here. In particular, ensure
|
|
# that you indicate whether you support Python 2, Python 3 or both.
|
|
"Programming Language :: Python :: 3.8",
|
|
],
|
|
keywords="airsonic subsonic libresonic gonic music",
|
|
packages=find_packages(exclude=["tests"]),
|
|
package_data={"sublime_music": ["ui/app_styles.css", *package_data_files]},
|
|
install_requires=[
|
|
"bleach",
|
|
"dataclasses-json",
|
|
"deepdiff",
|
|
"fuzzywuzzy",
|
|
'osxmmkeys ; sys_platform=="darwin"',
|
|
"peewee",
|
|
"PyGObject",
|
|
"python-dateutil",
|
|
"python-Levenshtein",
|
|
"python-mpv",
|
|
"requests",
|
|
"semver",
|
|
],
|
|
extras_require={
|
|
"keyring": ["keyring"],
|
|
"chromecast": ["pychromecast"],
|
|
"server": ["bottle"],
|
|
},
|
|
# To provide executable scripts, use entry points in preference to the
|
|
# "scripts" keyword. Entry points provide cross-platform support and
|
|
# allow pip to create the appropriate form of executable for the target
|
|
# platform.
|
|
entry_points={"console_scripts": ["sublime-music=sublime_music.__main__:main"]},
|
|
)
|