From da5edc6c85cd0c3db620daa8d01140e53a609b44 Mon Sep 17 00:00:00 2001 From: dylanljones Date: Fri, 20 Oct 2023 17:20:01 +0200 Subject: [PATCH] build: move metadata to pyproject.toml --- pyproject.toml | 104 +++++++++++++++++++++++++++++++++++++++++++++++++ setup.cfg | 91 ------------------------------------------- 2 files changed, 104 insertions(+), 91 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 1c83e91..6eabc3f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,4 +1,68 @@ +# -- Project metadata ------------------------------------------------------------------ + +[project] +name = "pyrekordbox" +description = "Inofficial Python package for interacting with the library of Pioneers Rekordbox DJ software." +readme = "README.md" +authors = [ + {name = "Dylan Jones", email = "dylanljones94@gmail.com"}, +] +license = {file = "LICENSE"} +dynamic = ["version"] +classifiers = [ + "Development Status :: 3 - Alpha", + "Intended Audience :: Developers", + "Intended Audience :: Information Technology", + "License :: OSI Approved :: MIT License", + "Natural Language :: English", + "Operating System :: MacOS", + "Operating System :: Microsoft :: Windows", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Topic :: Multimedia :: Sound/Audio", +] +requires-python = ">=3.7" +dependencies = [ + "bidict>=0.21.0", + "blowfish>=0.6.0", + "construct>=2.10.0", + "hypothesis>=6.0.0", + "numpy>=1.19.0", + "packaging", + "pytest>=6.2.0", + "psutil>=5.9.0", + "setuptools>=60.0.0", + "setuptools-scm[toml]>=4", + "sqlalchemy>=2.0.0", +] +packages = "find" +platforms = ["any"] +zip-safe = false +include-package-data = true + + +[project.optional-dependencies] +build = [ + "wheel>=0.37.0", +] +test = [ + "pytest-cov", + "wheel>=0.37.0", +] + + +[project.urls] +Source = "https://github.com/dylanljones/pyrekordbox" +Documentation = "https://pyrekordbox.readthedocs.io/en/stable/" +Tracker = "https://github.com/dylanljones/pyrekordbox/issues" + + # -- Build ----------------------------------------------------------------------------- [build-system] @@ -28,3 +92,43 @@ force-exclude = """ mysettings/structs.py )\ """ + + +# -- Linting --------------------------------------------------------------------------- + +[tool.pydocstyle] +add_ignore = [ + "D105", # ignore undocumented dunder methods like ``__str__` +] + + +# -- Coverage -------------------------------------------------------------------------- + +[tool.coverage.run] +branch = true +source = ["pyrekordbox"] + + +[tool.coverage.report] +exclude_lines = [ + "pragma: no cover", + + "def __repr__", + "def __str__", + + "@abstract", + "@property", + + "raise AssertionError", + "raise NotImplementedError", + + "if 0:", + "if __name__ == .__main__.:" +] +omit = [ + "pyrekordbox/utils.py", + "pyrekordbox/config.py", + "pyrekordbox/_version.py", + "pyrekordbox/__main__.py", +] +ignore_errors = true diff --git a/setup.cfg b/setup.cfg index f7d314f..c62df13 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,71 +1,8 @@ -[metadata] -name = pyrekordbox -description = Inofficial Python package for interacting with the library of Pioneers Rekordbox DJ software. -long_description = file: README.md -long_description_content_type = text/markdown -url = https://github.com/dylanljones/pyrekordbox -author = Dylan Jones -author_email = dylanljones94@gmail.com -license = MIT -license_file = LICENSE -classifiers = - Development Status :: 3 - Alpha - Intended Audience :: Developers - Intended Audience :: Information Technology - License :: OSI Approved :: MIT License - Natural Language :: English - Operating System :: MacOS - Operating System :: Microsoft :: Windows - Programming Language :: Python :: 3 - Programming Language :: Python :: 3 :: Only - Programming Language :: Python :: 3.7 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3.11 - Topic :: Multimedia :: Sound/Audio -project_urls = - Source = https://github.com/dylanljones/pyrekordbox - Documentation = https://pyrekordbox.readthedocs.io/en/stable/ - Tracker = https://github.com/dylanljones/pyrekordbox/issues - -[options] -packages = find: -install_requires = - bidict>=0.21.0 - blowfish>=0.6.0 - construct>=2.10.0 - hypothesis>=6.0.0 - numpy>=1.19.0 - packaging - pytest>=6.2.0 - psutil>=5.9.0 - setuptools>=60.0.0 - setuptools-scm[toml]>=4 - sqlalchemy>=2.0.0 -python_requires = >=3.7 -include_package_data = True -platforms = any -zip_safe = False - -[options.extras_require] -build = - wheel>=0.37.0 -test = - pytest-cov - wheel>=0.37.0 - -[aliases] -test = pytest - [build_sphinx] project = pyrekordbox source-dir = ./docs/source build-dir = ./docs/build -[pydocstyle] -add-ignore = D105 # ignore undocumented dunder methods like ``__str__` - [flake8] max-line-length = 88 ignore = D203 @@ -80,31 +17,3 @@ exclude = */structs.py, */_version.py, docs/* - -[coverage:run] -branch = False -source = pyrekordbox - -[coverage:report] -exclude_lines = - pragma: no cover - - def __repr__ - def __str__ - - @abstract - - @property - - raise AssertionError - raise NotImplementedError - - if 0: - if __name__ == .__main__.: - -ignore_errors = True -omit = - pyrekordbox/utils.py - pyrekordbox/config.py - pyrekordbox/_version.py - pyrekordbox/__main__.py