From 2714c2dc56ad70b53d71b201c6f6636dc9ef94b5 Mon Sep 17 00:00:00 2001 From: Andrew Senetar Date: Sat, 11 May 2024 03:22:13 -0700 Subject: [PATCH] feat: Moving to pyproject.toml for most project configuration Still have some build migration to do and other cleanup. --- pyproject.toml | 72 +++++++++++++++++++++++++++++++++++++++++- requirements-extra.txt | 4 --- requirements.txt | 9 ------ setup.cfg | 48 ---------------------------- 4 files changed, 71 insertions(+), 62 deletions(-) delete mode 100644 requirements-extra.txt delete mode 100644 requirements.txt delete mode 100644 setup.cfg diff --git a/pyproject.toml b/pyproject.toml index a19877f9..1b9fa681 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,9 +1,79 @@ [build-system] -requires = ["setuptools"] +requires = ["setuptools >= 61.0.0"] build-backend = "setuptools.build_meta" + +[project] +name = "dupeGuru" +description = "dupeGuru is a tool to find duplicate files on your computer." +authors = [ + {name = "Andrew Senetar", email = "arsenetar@voltaicideas.net"} +] +readme = "README.md" +requires-python = ">=3.7, <3.13" +keywords = ["deduplication"] +license = {text = "GPLv3"} +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: End Users/Desktop", + "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", + "Operating System :: MacOS :: MacOS X", + "Operating System :: Microsoft :: Windows", + "Operating System :: POSIX", + "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", + "Programming Language :: Python :: 3.12", + "Topic :: Desktop Environment :: File Managers", +] + +dynamic = ["version"] + +dependencies = [ + "distro>=1.8.0,<2.0.0", + "mutagen>=1.46.0,<2.0.0", + "polib>=1.1.0,<2.0.0", + "PyQt5 >=5.15.0,<6.0; sys_platform != 'linux'", + "pywin32>=304; sys_platform == 'win32'", + "semantic-version>=2.0.0,<3.0.0", + "Send2Trash>=1.8.2,<2.0.0", + "xxhash>=3.0.0,<4.0.0", +] + +[project.optional-dependencies] +dev = [ + "pytest>=7,<8", + "flake8", + "black", +] +build = [ + "dupeGuru[dev]", + "sphinx>=5.3.0,<8.0.0", + "pyinstaller>=5.6,<6.0; sys_platform != 'linux'" +] + +[project.urls] +Homepage = "https://dupeguru.voltaicideas.net/" +Documentation = "https://dupeguru.voltaicideas.net/help/en/" +Repository = "https://github.com/arsenetar/dupeguru/" +Issues = "https://github.com/arsenetar/dupeguru/issues" +Releases = "https://github.com/arsenetar/dupeguru/releases" + +[project.gui-scripts] +dupeguru = "dupeguru.__main__:main" + [tool.black] line-length = 120 + [tool.isort] # make it compatible with black profile = "black" skip_gitignore = true + +[tool.setuptools.packages.find] +include = ["core", "hscommon", "qt"] + +[tool.setuptools.dynamic] +version = {attr = "core.__version__"} diff --git a/requirements-extra.txt b/requirements-extra.txt deleted file mode 100644 index d22806fd..00000000 --- a/requirements-extra.txt +++ /dev/null @@ -1,4 +0,0 @@ -pytest>=7,<8 -flake8 -black -pyinstaller>=5.6,<6.0; sys_platform != 'linux' diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 9618b5b1..00000000 --- a/requirements.txt +++ /dev/null @@ -1,9 +0,0 @@ -distro>=1.8.0,<2.0.0 -mutagen>=1.46.0,<2.0.0 -polib>=1.1.0,<2.0.0 -PyQt5 >=5.15.0,<6.0; sys_platform != 'linux' -pywin32>=304; sys_platform == 'win32' -semantic-version>=2.0.0,<3.0.0 -Send2Trash>=1.8.2,<2.0.0 -sphinx>=5.3.0,<8.0.0 -xxhash>=3.0.0,<4.0.0 diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index bc12410b..00000000 --- a/setup.cfg +++ /dev/null @@ -1,48 +0,0 @@ -[metadata] -name = dupeGuru -version = attr: core.__version__ -url = https://github.com/arsenetar/dupeguru -project_urls = - Bug Reports = https://github.com/arsenetar/dupeguru/issues -author = Andrew Senetar -author_email = arsenetar@voltaicideas.net -license = GPLv3 -license_files = license -description = dupeGuru is a tool to find duplicate files on your computer. -long_description = file:README.md -long_description_content_type = text/markdown -classifiers = - Development Status :: 5 - Production/Stable - Intended Audience :: End Users/Desktop - License :: OSI Approved :: GNU General Public License v3 (GPLv3) - Operating System :: MacOS :: MacOS X - Operating System :: Microsoft :: Windows - Operating System :: POSIX - Programming Language :: Python :: 3.7 - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 - Programming Language :: Python :: 3.10 - Programming Language :: Python :: 3 :: Only - Topic :: Desktop Environment :: File Managers - -[options] -packages = find: -python_requires = >=3.7 -install_requires = - Send2Trash>=1.8.2,<2.0.0 - mutagen>=1.46.0,<2.0.0 - distro>=1.8.0,<2.0.0 - PyQt5 >=5.15.0,<6.0; sys_platform != 'linux' - pywin32>=228; sys_platform == 'win32' - semantic-version>=2.0.0,<3.0.0 - xxhash>=3.0.0,<4.0.0 -setup_requires = - sphinx>=3.0.0 - polib>=1.1.0 -tests_require = - pytest >=6,<7 -include_package_data = true - -[options.entry_points] -console_scripts = - dupeguru = run.py