- Use install_requires and extras_requires to document external
dependencies for dkimpy (LP: #1227526)
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
Unreleased Version 0.8.0
|
||||
- Change from distutils to setuptools with entry points because it's the
|
||||
future
|
||||
- Use install_requires and extras_requires to document external
|
||||
dependencies for dkimpy (LP: #1227526)
|
||||
|
||||
2018-02-17 Version 0.7.1
|
||||
- Update ed25519 tests, including using sample keys from RFC 8032 Section
|
||||
|
||||
@@ -15,13 +15,19 @@ This is dkimpy 0.8.0.
|
||||
|
||||
REQUIREMENTS
|
||||
|
||||
- Python 2.x >= 2.7, or Python 3.x >= 3.4. Recent versions have not been
|
||||
tested on python < 2.7 or python3 < 3.4, but may still work on python2.6
|
||||
Dependencies will be automatically included for normal DKIM usage. The
|
||||
extras_requires feature 'ed25519' will add the dependencies needed for signing
|
||||
and verifying using the new DCRUP ed25519-sha256 algorithm. The
|
||||
extras_requires feature 'ARC' will add the extra dependencies needed for ARC.
|
||||
|
||||
- Python 2.x >= 2.7, or Python 3.x >= 3.5. Recent versions have not been
|
||||
tested on python < 2.7 or python3 < 3.5, but may still work on python2.6
|
||||
and python 3.1 - 3.3.
|
||||
- dnspython or pydns. dnspython is preferred if both are present.
|
||||
- dnspython or pydns. dnspython is preferred if both are present and
|
||||
installed to satisfy the DNS module requirement if neither are installed.
|
||||
- argparse. Standard library in python2.7 and later.
|
||||
- authres. Needed for ARC.
|
||||
- nacl. Needed for use of experimental ed25519 capability.
|
||||
- PyNaCl. Needed for use of experimental ed25519 capability.
|
||||
|
||||
INSTALLATION
|
||||
|
||||
@@ -106,22 +112,22 @@ The dkimpy 0.7 implementation matches the -08 revision of the draft, except it
|
||||
uses Ed25519 vice Ed25519ph (a change to Ed25519 is planned for -09, but that
|
||||
had not been published yet as of the release of dkimpy 0.7).
|
||||
|
||||
Three helper programs are also supplied: dknewkey.py, dkimsign.py and
|
||||
dkimverify.py.
|
||||
Three helper programs are also supplied: dknewkey, dkimsign and
|
||||
dkimverify
|
||||
|
||||
dknewkey.py is s script that produces private and public key pairs suitable
|
||||
dknewkey is s script that produces private and public key pairs suitable
|
||||
for use with DKIM. Note that the private key file format used for ed25519 is
|
||||
not standardized (there is no standard) and is unique to dkimpy.
|
||||
|
||||
dkimsign.py is a filter that reads an RFC822 message on standard input, and
|
||||
dkimsign is a filter that reads an RFC822 message on standard input, and
|
||||
writes the same message on standard output with a DKIM-Signature line
|
||||
prepended. The signing options are specified on the command line:
|
||||
|
||||
dkimsign.py selector domain privatekeyfile [identity]
|
||||
dkimsign selector domain privatekeyfile [identity]
|
||||
|
||||
The identity is optional and defaults to "@domain".
|
||||
|
||||
dkimverify.py reads an RFC822 message on standard input, and returns with exit
|
||||
dkimverify reads an RFC822 message on standard input, and returns with exit
|
||||
code 0 if the signature verifies successfully. Otherwise, it returns with exit
|
||||
code 1.
|
||||
|
||||
@@ -134,7 +140,7 @@ This new functionality is marked experimental because the protocol is still
|
||||
under development. There are no guarantees about API stability or
|
||||
compatibility.
|
||||
|
||||
In addition to arcsign.py and arcverify.py, the dkim module now provides
|
||||
In addition to arcsign and arcverify, the dkim module now provides
|
||||
arc_sign and arc_verify functions as well as an ARC class.
|
||||
|
||||
FEEDBACK
|
||||
|
||||
@@ -26,6 +26,13 @@ import os
|
||||
|
||||
version = "0.8.0"
|
||||
|
||||
kw = {} # Work-around for lack of 'or' requires in setuptools.
|
||||
try:
|
||||
import DNS
|
||||
kw['install_requires'] = ['PyDNS']
|
||||
except ImportError: # If PyDNS is not installed, prefer dnspython
|
||||
kw['install_requires'] = ['dnspython']
|
||||
|
||||
setup(
|
||||
name = "dkimpy",
|
||||
version = version,
|
||||
@@ -67,7 +74,13 @@ verification.""",
|
||||
'Topic :: Communications :: Email :: Filters',
|
||||
'Topic :: Internet :: Name Service (DNS)',
|
||||
'Topic :: Software Development :: Libraries :: Python Modules'
|
||||
]
|
||||
],
|
||||
zip_safe = False,
|
||||
extras_require={
|
||||
'ed25519': ['PyNaCl'],
|
||||
'ARC': ['authres']
|
||||
},
|
||||
**kw
|
||||
)
|
||||
|
||||
if os.name != 'posix':
|
||||
|
||||
Reference in New Issue
Block a user