* setup.py.in, pyproject.toml: Move long description from setup.py.in to
pyproject.toml file and add a content-type specification
--
This fixes a warning about the missing content-type key raised by
`python -m twine check --strict`.
Signed-off-by: Lucas Hoffmann <[email protected]>
---
pyproject.toml | 31 ++++++++++++++++++++++++++++---
setup.py.in | 23 -----------------------
2 files changed, 28 insertions(+), 26 deletions(-)
diff --git a/pyproject.toml b/pyproject.toml
index a86f6c6..495c099 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,9 +1,8 @@
[project]
name = "gpg"
-# These are set in the setup.py file. The field "readme" is called
-# "long_description" over there.
-dynamic = ["version", "readme"]
+# The version is written into the setup.py file by configure.
+dynamic = ["version"]
# Note: description appears as Summary in egg-info file.
description = "Python bindings to the GPGME API of the GnuPG cryptography library."
@@ -32,6 +31,32 @@ urls = {homepage = "https://www.gnupg.org"}
# Which versions should be supported? https://devguide.python.org/versions/
requires-python = ">= 3.6"
+[project.readme]
+# Note: long-description appears as Description in egg-info file.
+text = """Dynamically generated bindings to the C API of the GNU Privacy Guard.
+
+The GPG Made Easy (GPGME) library provides a high-level API in C to all the
+component software and libraries in the GnuPG Project, including GPG itself
+(the GnuPG OpenPGP implementation), libgcrypt, libgpg-error, libassuan and
+more.
+
+The official CPython bindings to GPGME are generated during the compiling
+process of GPGME itself and built for the specific C header and include files
+produced when GPGME is compiled using SWIG. This provides access to over two
+thousand functions, methods and values via both the lower level dynamically
+generated bindings and a more intuitively pythonic higher level layer.
+
+While the lower level, dynamically generated bindings provide access to
+everything which GPGME itself provides; the higher level layer is easier to use
+by Python developers, provides access to the vast majority of functionality
+developers would want from GnuPG and is extensively documented.
+
+GPGME and these bindings is available here:
+
+ https://gnupg.org/software/gpgme/index.html
+"""
+content-type = "text/plain"
+
[build-system]
# Minimum requirements for the build system to execute.
requires = ["setuptools"]
diff --git a/setup.py.in b/setup.py.in
index c866a1b..7d26017 100755
--- a/setup.py.in
+++ b/setup.py.in
@@ -226,29 +226,6 @@ swige = Extension(
setup(
cmdclass={'build': BuildExtFirstHack},
version='@VERSION@',
- # Note: long-description appears as Description in egg-info file.
- long_description='''Dynamically generated bindings to the C API of the GNU Privacy Guard.
-
-The GPG Made Easy (GPGME) library provides a high-level API in C to all the
-component software and libraries in the GnuPG Project, including GPG itself
-(the GnuPG OpenPGP implementation), libgcrypt, libgpg-error, libassuan and
-more.
-
-The official CPython bindings to GPGME are generated during the compiling
-process of GPGME itself and built for the specific C header and include files
-produced when GPGME is compiled using SWIG. This provides access to over two
-thousand functions, methods and values via both the lower level dynamically
-generated bindings and a more intuitively pythonic higher level layer.
-
-While the lower level, dynamically generated bindings provide access to
-everything which GPGME itself provides; the higher level layer is easier to use
-by Python developers, provides access to the vast majority of functionality
-developers would want from GnuPG and is extensively documented.
-
-GPGME and these bindings is available here:
-
- https://gnupg.org/software/gpgme/index.html
-''',
ext_modules=[swige],
packages=[
'gpg', 'gpg.constants', 'gpg.constants.data', 'gpg.constants.keylist',
_______________________________________________
Gnupg-devel mailing list
[email protected]
https://lists.gnupg.org/mailman/listinfo/gnupg-devel