summaryrefslogtreecommitdiffstats
path: root/setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py95
1 files changed, 95 insertions, 0 deletions
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..c5ee105
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,95 @@
+# Copyright (C) 2003-2008 Robey Pointer <robeypointer@gmail.com>
+#
+# This file is part of paramiko.
+#
+# Paramiko is free software; you can redistribute it and/or modify it under the
+# terms of the GNU Lesser General Public License as published by the Free
+# Software Foundation; either version 2.1 of the License, or (at your option)
+# any later version.
+#
+# Paramiko is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+# details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with Paramiko; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA.
+
+import sys
+from setuptools import setup
+
+if sys.platform == "darwin":
+ import setup_helper
+
+ setup_helper.install_custom_make_tarball()
+
+long_description = open("README.rst").read()
+
+# Version info -- read without importing
+_locals = {}
+with open("paramiko/_version.py") as fp:
+ exec(fp.read(), None, _locals)
+version = _locals["__version__"]
+
+# Have to build extras_require dynamically because it doesn't allow
+# self-referencing and I hate repeating myself.
+extras_require = {
+ "gssapi": [
+ "pyasn1>=0.1.7",
+ 'gssapi>=1.4.1;platform_system!="Windows"',
+ 'pywin32>=2.1.8;platform_system=="Windows"',
+ ],
+ "invoke": ["invoke>=2.0"],
+ # TODO 4.0: remove entrypoint as irrelevant
+ "ed25519": [],
+}
+everything = []
+for subdeps in extras_require.values():
+ everything.extend(subdeps)
+extras_require["all"] = everything
+
+setup(
+ name="paramiko",
+ version=version,
+ description="SSH2 protocol library",
+ long_description=long_description,
+ author="Jeff Forcier",
+ author_email="jeff@bitprophet.org",
+ url="https://paramiko.org",
+ project_urls={
+ "Docs": "https://docs.paramiko.org",
+ "Source": "https://github.com/paramiko/paramiko",
+ "Issues": "https://github.com/paramiko/paramiko/issues",
+ "Changelog": "https://www.paramiko.org/changelog.html",
+ "CI": "https://app.circleci.com/pipelines/github/paramiko/paramiko",
+ },
+ packages=["paramiko"],
+ license="LGPL",
+ platforms="Posix; MacOS X; Windows",
+ classifiers=[
+ "Development Status :: 5 - Production/Stable",
+ "Intended Audience :: Developers",
+ "License :: OSI Approved :: "
+ "GNU Library or Lesser General Public License (LGPL)",
+ "Operating System :: OS Independent",
+ "Topic :: Internet",
+ "Topic :: Security :: Cryptography",
+ "Programming Language :: Python",
+ "Programming Language :: Python :: 3",
+ "Programming Language :: Python :: 3 :: Only",
+ "Programming Language :: Python :: 3.6",
+ "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",
+ ],
+ python_requires=">=3.6",
+ install_requires=[
+ "bcrypt>=3.2",
+ "cryptography>=3.3",
+ "pynacl>=1.5",
+ ],
+ extras_require=extras_require,
+)