From 55e1233ca50b9c768bd76d7037965a4fb99f25fe Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Tue, 2 Apr 2024 23:53:01 +0200 Subject: [PATCH 1/4] Move package config to pyproject.toml --- .flake8 | 4 ++++ pyproject.toml | 42 +++++++++++++++++++++++++++++++++++++++ setup.cfg | 53 -------------------------------------------------- 3 files changed, 46 insertions(+), 53 deletions(-) create mode 100644 .flake8 delete mode 100644 setup.cfg diff --git a/.flake8 b/.flake8 new file mode 100644 index 00000000..adf39902 --- /dev/null +++ b/.flake8 @@ -0,0 +1,4 @@ +[flake8] +ignore = E133,E221,E226,E228,E241,W503 +max-line-length = 99 +exclude = docs/* diff --git a/pyproject.toml b/pyproject.toml index fed528d4..afc36155 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,45 @@ [build-system] requires = ["setuptools"] build-backend = "setuptools.build_meta" + +[project] +name = "novelWriter" +authors = [ + {name = "Veronica Berglyd Olsen", email = "code@vkbo.net"}, +] +description = "A markdown-like text editor for planning and writing novels" +readme = {file = "setup/description_pypi.md", content-type = "text/markdown"} +requires-python = ">=3.8" +license = {text = "GNU General Public License v3"} +classifiers = [ + "Programming Language :: Python :: 3 :: Only", + "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", + "Programming Language :: Python :: Implementation :: CPython", + "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", + "Development Status :: 5 - Production/Stable", + "Operating System :: OS Independent", + "Intended Audience :: End Users/Desktop", + "Natural Language :: English", + "Topic :: Text Editors", +] +dynamic = ["version", "dependencies"] + +[tool.setuptools.dynamic] +version = {attr = "novelwriter.__version__"} +dependencies = {file = ["requirements.txt"]} + +[project.urls] +Homepage = "https://novelwriter.io" +Documentation = "https://docs.novelwriter.io" +Repository = "https://github.com/vkbo/novelWriter" +Issues = "https://github.com/vkbo/novelWriter/issues" + +[tool.setuptools.packages.find] +include = ["novelwriter*"] + +[project.gui-scripts] +novelwriter = "novelwriter:main" diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 103e9bfc..00000000 --- a/setup.cfg +++ /dev/null @@ -1,53 +0,0 @@ -[metadata] -name = novelWriter -version = attr: novelwriter.__version__ -author = Veronica Berglyd Olsen -author_email = code@vkbo.net -description = A markdown-like text editor for planning and writing novels -url = https://novelwriter.io -long_description = file: setup/description_pypi.md -long_description_content_type = text/markdown -license_files = LICENSE.md -license = GNU General Public License v3 -classifiers = - Programming Language :: Python :: 3 :: Only - 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 - Programming Language :: Python :: Implementation :: CPython - License :: OSI Approved :: GNU General Public License v3 (GPLv3) - Development Status :: 5 - Production/Stable - Operating System :: OS Independent - Intended Audience :: End Users/Desktop - Natural Language :: English - Topic :: Text Editors -project_urls = - Bug Tracker = https://github.com/vkbo/novelWriter/issues - Documentation = https://docs.novelwriter.io - Source Code = https://github.com/vkbo/novelWriter - -[options] -zip_safe = False -python_requires = >=3.8 -include_package_data = True -packages = find_namespace: -install_requires = - pyqt5>=5.10 - pyenchant>=3.0.0 - -[options.packages.find] -include = novelwriter* - -[options.entry_points] -gui_scripts = - novelwriter = novelwriter:main - -[bdist_wheel] -universal = 0 - -[flake8] -ignore = E133,E221,E226,E228,E241,W503 -max-line-length = 99 -exclude = docs/* From 751d0ed85786b09ced4b6cd86db43e0b3b43a6ae Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Tue, 2 Apr 2024 23:53:19 +0200 Subject: [PATCH 2/4] Drop empty init files --- novelwriter/core/__init__.py | 3 --- novelwriter/dialogs/__init__.py | 3 --- novelwriter/extensions/__init__.py | 3 --- novelwriter/gui/__init__.py | 3 --- novelwriter/text/__init__.py | 3 --- novelwriter/tools/__init__.py | 3 --- 6 files changed, 18 deletions(-) delete mode 100644 novelwriter/core/__init__.py delete mode 100644 novelwriter/dialogs/__init__.py delete mode 100644 novelwriter/extensions/__init__.py delete mode 100644 novelwriter/gui/__init__.py delete mode 100644 novelwriter/text/__init__.py delete mode 100644 novelwriter/tools/__init__.py diff --git a/novelwriter/core/__init__.py b/novelwriter/core/__init__.py deleted file mode 100644 index 4d11a469..00000000 --- a/novelwriter/core/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -""" -novelWriter – Core Init File -""" diff --git a/novelwriter/dialogs/__init__.py b/novelwriter/dialogs/__init__.py deleted file mode 100644 index 832643f4..00000000 --- a/novelwriter/dialogs/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -""" -novelWriter – Dialogs Init File -""" diff --git a/novelwriter/extensions/__init__.py b/novelwriter/extensions/__init__.py deleted file mode 100644 index 6e4c5a4e..00000000 --- a/novelwriter/extensions/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -""" -novelWriter – Custom Layouts and Widgets -""" diff --git a/novelwriter/gui/__init__.py b/novelwriter/gui/__init__.py deleted file mode 100644 index 8c88b4d3..00000000 --- a/novelwriter/gui/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -""" -novelWriter – GUI Init File -""" diff --git a/novelwriter/text/__init__.py b/novelwriter/text/__init__.py deleted file mode 100644 index 69bc7fa4..00000000 --- a/novelwriter/text/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -""" -novelWriter – Text Analysis Tools -""" diff --git a/novelwriter/tools/__init__.py b/novelwriter/tools/__init__.py deleted file mode 100644 index 9b89f220..00000000 --- a/novelwriter/tools/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -""" -novelWriter – Tools Init File -""" From 760b2dbf0c5cd2a1538b1191cf6c7c3a6f357eb8 Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Wed, 3 Apr 2024 00:01:53 +0200 Subject: [PATCH 3/4] Remove references to setup.cfg --- pkgutils.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/pkgutils.py b/pkgutils.py index 641a867a..2144000a 100755 --- a/pkgutils.py +++ b/pkgutils.py @@ -610,7 +610,6 @@ def makeMinimalPackage(targetOS: int) -> None: "CHANGELOG.md", "requirements.txt", "pkgutils.py", - "setup.cfg", "pyproject.toml", ] @@ -779,11 +778,11 @@ def makeDebianPackage(signKey: str | None = None, sourceBuild: bool = False, )) print("Wrote: setup.py") - setupCfg = readFile("setup.cfg").replace( - "file: setup/description_pypi.md", "file: data/description_short.txt" + setupCfg = readFile("pyproject.toml").replace( + "setup/description_pypi.md", "data/description_short.txt" ) - writeFile(f"{outDir}/setup.cfg", setupCfg) - print("Wrote: setup.cfg") + writeFile(f"{outDir}/pyproject.toml", setupCfg) + print("Wrote: pyproject.toml") # Copy/Write Debian Files # ======================= @@ -1051,11 +1050,11 @@ def makeAppImage(sysArgs: list[str]) -> list[str]: )) print("Wrote: setup.py") - setupCfg = readFile("setup.cfg").replace( - "file: setup/description_pypi.md", "file: data/description_short.txt" + setupCfg = readFile("pyproject.toml").replace( + "setup/description_pypi.md", "data/description_short.txt" ) - writeFile(f"{outDir}/setup.cfg", setupCfg) - print("Wrote: setup.cfg") + writeFile(f"{outDir}/pyproject.toml", setupCfg) + print("Wrote: pyproject.toml") # Write Metadata # ============== From 7fb771eba4e948613d4cb540bf5278b51cbdc66f Mon Sep 17 00:00:00 2001 From: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com> Date: Wed, 3 Apr 2024 00:14:46 +0200 Subject: [PATCH 4/4] Put dependencies directly in project config --- pyproject.toml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index afc36155..b6d40d9d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,6 @@ authors = [ ] description = "A markdown-like text editor for planning and writing novels" readme = {file = "setup/description_pypi.md", content-type = "text/markdown"} -requires-python = ">=3.8" license = {text = "GNU General Public License v3"} classifiers = [ "Programming Language :: Python :: 3 :: Only", @@ -26,11 +25,15 @@ classifiers = [ "Natural Language :: English", "Topic :: Text Editors", ] -dynamic = ["version", "dependencies"] +requires-python = ">=3.8" +dependencies = [ + "pyqt5>=5.10", + "pyenchant>=3.0.0", +] +dynamic = ["version"] [tool.setuptools.dynamic] version = {attr = "novelwriter.__version__"} -dependencies = {file = ["requirements.txt"]} [project.urls] Homepage = "https://novelwriter.io"