diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..e65c325 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,51 @@ +[build-system] +requires = ["setuptools", "setuptools-scm"] +build-backend = "setuptools.build_meta" + +[project] +name = "whipper" +authors = [ + {name = "The Whipper Team"}, +] +description = "A CD-DA ripper prioritising accuracy over speed" +requires-python = ">=3.6" +readme = "README.md" +license = {file = "LICENSE"} +classifiers = [ + "Environment :: Console", + "Intended Audience :: End Users/Desktop", + "Topic :: Multimedia :: Sound/Audio", + "Programming Language :: Python :: 3", + "License :: OSI Approved :: GNU General Public License v3", +] +dependencies = [ + "musicbrainzngs", + "mutagen", + "pycdio", + "PyGObject", + "ruamel.yaml", + "setuptools_scm", + "discid", +] +dynamic = ["version"] + +[project.urls] +Home = "https://github.com/whipper-team/whipper" + +[project.optional-dependencies] +cover_art = ["pillow"] +docs = ["docutils"] + +[project.scripts] +whipper = "whipper.command.main:main" + +# This is necessary, since whipper uses a flat-layout, but has as a 'src' +# directory and setuptools gets confused otherwise. +[tool.setuptools.packages.find] +namespaces = false + +[tool.setuptools.package-data] +"whipper" = ["**"] + +[tool.setuptools_scm] +# Empty, but needed to enable SCM diff --git a/setup.py b/setup.py index c6c2d7c..f3f50fe 100644 --- a/setup.py +++ b/setup.py @@ -1,34 +1,11 @@ -from setuptools import setup, find_packages, Extension +from setuptools import Extension, setup setup( - name="whipper", - use_scm_version=True, - description="a secure cd ripper preferring accuracy over speed", - author=['Thomas Vander Stichele', 'The Whipper Team'], - maintainer=['The Whipper Team'], - url='https://github.com/whipper-team/whipper', - license='GPL3', - python_requires='>=3.6', - packages=find_packages(), - setup_requires=['setuptools_scm'], ext_modules=[ - Extension('accuraterip', - libraries=['sndfile'], - sources=['src/accuraterip-checksum.c']) - ], - extras_require={ - 'cover_art': ["pillow"], - 'color_log': ["coloredlogs"] - }, - entry_points={ - 'console_scripts': [ - 'whipper = whipper.command.main:main' - ] - }, - data_files=[ - ('share/metainfo', ['com.github.whipper_team.Whipper.metainfo.xml']), - ], - scripts=[ - 'scripts/accuraterip-checksum', - ], + Extension( + name="accuraterip", + libraries=['sndfile'], + sources=["src/accuraterip-checksum.c"], + ), + ] )