summaryrefslogtreecommitdiffstats
path: root/setup.py
diff options
context:
space:
mode:
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py76
1 files changed, 76 insertions, 0 deletions
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000..9a398a4
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,76 @@
+import platform
+from setuptools import setup, find_packages
+
+from pgcli import __version__
+
+description = "CLI for Postgres Database. With auto-completion and syntax highlighting."
+
+install_requirements = [
+ "pgspecial>=2.0.0",
+ "click >= 4.1",
+ "Pygments>=2.0", # Pygments has to be Capitalcased. WTF?
+ # We still need to use pt-2 unless pt-3 released on Fedora32
+ # see: https://github.com/dbcli/pgcli/pull/1197
+ "prompt_toolkit>=2.0.6,<4.0.0",
+ "psycopg >= 3.0.14",
+ "sqlparse >=0.3.0,<0.5",
+ "configobj >= 5.0.6",
+ "pendulum>=2.1.0",
+ "cli_helpers[styles] >= 2.2.1",
+]
+
+
+# setproctitle is used to mask the password when running `ps` in command line.
+# But this is not necessary in Windows since the password is never shown in the
+# task manager. Also setproctitle is a hard dependency to install in Windows,
+# so we'll only install it if we're not in Windows.
+if platform.system() != "Windows" and not platform.system().startswith("CYGWIN"):
+ install_requirements.append("setproctitle >= 1.1.9")
+
+# Windows will require the binary psycopg to run pgcli
+if platform.system() == "Windows":
+ install_requirements.append("psycopg-binary >= 3.0.14")
+
+
+setup(
+ name="pgcli",
+ author="Pgcli Core Team",
+ author_email="pgcli-dev@googlegroups.com",
+ version=__version__,
+ license="BSD",
+ url="http://pgcli.com",
+ packages=find_packages(),
+ package_data={"pgcli": ["pgclirc", "packages/pgliterals/pgliterals.json"]},
+ description=description,
+ long_description=open("README.rst").read(),
+ install_requires=install_requirements,
+ dependency_links=[
+ "http://github.com/psycopg/repo/tarball/master#egg=psycopg-3.0.10"
+ ],
+ extras_require={
+ "keyring": ["keyring >= 12.2.0"],
+ "sshtunnel": ["sshtunnel >= 0.4.0"],
+ },
+ python_requires=">=3.8",
+ entry_points="""
+ [console_scripts]
+ pgcli=pgcli.main:cli
+ """,
+ classifiers=[
+ "Intended Audience :: Developers",
+ "License :: OSI Approved :: BSD License",
+ "Operating System :: Unix",
+ "Programming Language :: Python",
+ "Programming Language :: Python :: 3",
+ "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 :: SQL",
+ "Topic :: Database",
+ "Topic :: Database :: Front-Ends",
+ "Topic :: Software Development",
+ "Topic :: Software Development :: Libraries :: Python Modules",
+ ],
+)