feat: Moving to pyproject.toml for most project configuration

Still have some build migration to do and other cleanup.
This commit is contained in:
Andrew Senetar 2024-05-11 03:22:13 -07:00
parent 3a97ba941a
commit 2714c2dc56
Signed by: arsenetar
GPG Key ID: C63300DCE48AB2F1
4 changed files with 71 additions and 62 deletions

View File

@ -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__"}

View File

@ -1,4 +0,0 @@
pytest>=7,<8
flake8
black
pyinstaller>=5.6,<6.0; sys_platform != 'linux'

View File

@ -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

View File

@ -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