Moving back to Pipenv to manage dependencies
Poetry breaks no-binary installations of the RSA library, which defeats
the purpose of this library.
See https://github.com/sybrenstuvel/python-rsa/issues/148
Among other changes, this reverts commit
fcf5b7457c70426a242b17db20dd4e34e1055f69.
I also added a workaround for an `ImportError` importing `zipp` on
Python 3.5.
diff --git a/setup.py b/setup.py
new file mode 100755
index 0000000..7a6b872
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,67 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# Copyright 2011 Sybren A. Stüvel <sybren@stuvel.eu>
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# io.open is needed for projects that support Python 2.7. It ensures open()
+# defaults to text mode with universal newlines, and accepts an argument to
+# specify the text encoding Python 3 only projects can skip this import.
+from io import open
+from setuptools import setup
+
+with open('README.md', encoding='utf-8') as f:
+ long_description = f.read()
+
+if __name__ == '__main__':
+ setup(name='rsa',
+ version='4.2-dev0',
+ description='Pure-Python RSA implementation',
+ long_description=long_description,
+ long_description_content_type='text/markdown',
+ author='Sybren A. Stuvel',
+ author_email='sybren@stuvel.eu',
+ maintainer='Sybren A. Stuvel',
+ maintainer_email='sybren@stuvel.eu',
+ url='https://stuvel.eu/rsa',
+ packages=['rsa'],
+ license='ASL 2',
+ classifiers=[
+ 'Development Status :: 5 - Production/Stable',
+ 'Intended Audience :: Developers',
+ 'Intended Audience :: Education',
+ 'Intended Audience :: Information Technology',
+ 'License :: OSI Approved :: Apache Software License',
+ 'Operating System :: OS Independent',
+ 'Programming Language :: Python',
+ 'Programming Language :: Python :: 3',
+ 'Programming Language :: Python :: 3.5',
+ 'Programming Language :: Python :: 3.6',
+ 'Programming Language :: Python :: 3.7',
+ 'Programming Language :: Python :: Implementation :: CPython',
+ 'Programming Language :: Python :: Implementation :: PyPy',
+ 'Topic :: Security :: Cryptography',
+ ],
+ install_requires=[
+ 'pyasn1 >= 0.1.3',
+ ],
+ entry_points={'console_scripts': [
+ 'pyrsa-priv2pub = rsa.util:private_to_public',
+ 'pyrsa-keygen = rsa.cli:keygen',
+ 'pyrsa-encrypt = rsa.cli:encrypt',
+ 'pyrsa-decrypt = rsa.cli:decrypt',
+ 'pyrsa-sign = rsa.cli:sign',
+ 'pyrsa-verify = rsa.cli:verify',
+ ]},
+
+ )