summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Young <YoungEricR@JohnDeere.com>2022-09-01 10:32:36 -0500
committerEric Young <YoungEricR@JohnDeere.com>2022-09-01 10:32:36 -0500
commit79df61f674ddb1606c8445ba239eb03a769a4ad4 (patch)
treeef5aeeed22827f26c2ca2e23d9db1e4de0925a6b
parent94df104d7d4a97b93a28ed11f667f8e16431ed58 (diff)
Small developer improvements for Windows-based devs.
-rw-r--r--DEVELOP.rst36
-rw-r--r--changelog.rst1
-rw-r--r--requirements-dev.txt3
-rw-r--r--setup.py5
4 files changed, 44 insertions, 1 deletions
diff --git a/DEVELOP.rst b/DEVELOP.rst
index 0656905c..4cde6943 100644
--- a/DEVELOP.rst
+++ b/DEVELOP.rst
@@ -48,6 +48,10 @@ Create a virtualenv (let's call it pgcli-dev). Activate it:
source ./pgcli-dev/bin/activate
+ or
+
+ .\pgcli-dev\scripts\activate (for Windows)
+
Once the virtualenv is activated, `cd` into the local clone of pgcli folder
and install pgcli using pip as follows:
@@ -73,6 +77,37 @@ If you want to work on adding new meta-commands (such as `\dp`, `\ds`, `dy`),
you need to contribute to `pgspecial <https://github.com/dbcli/pgspecial/>`_
project.
+Visual Studio Code Debugging
+-----------------------------
+To set up Visual Studio Code to debug pgcli requires a launch.json file.
+
+Within the project, create a file: .vscode\\launch.json like below.
+
+::
+
+ {
+ // Use IntelliSense to learn about possible attributes.
+ // Hover to view descriptions of existing attributes.
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "Python: Module",
+ "type": "python",
+ "request": "launch",
+ "module": "pgcli.main",
+ "justMyCode": false,
+ "console": "externalTerminal",
+ "env": {
+ "PGUSER": "postgres",
+ "PGPASS": "password",
+ "PGHOST": "localhost",
+ "PGPORT": "5432"
+ }
+ }
+ ]
+ }
+
Building RPM and DEB packages
-----------------------------
@@ -145,6 +180,7 @@ service for the changes to take effect.
$ sudo service postgresql restart
After that, tests in the ``/pgcli/tests`` directory can be run with:
+(Note that these ``behave`` tests do not currently work when developing on Windows due to pexpect incompatibility.)
::
diff --git a/changelog.rst b/changelog.rst
index dd3a5f1d..11af3167 100644
--- a/changelog.rst
+++ b/changelog.rst
@@ -6,6 +6,7 @@ Bug fixes:
* Fix exception when retrieving password from keyring ([issue 1338](https://github.com/dbcli/pgcli/issues/1338)).
* Fix using comments with special commands ([issue 1362](https://github.com/dbcli/pgcli/issues/1362)).
+* Small improvements to the Windows developer experience
Internal:
---------
diff --git a/requirements-dev.txt b/requirements-dev.txt
index 700915a1..9bf1117a 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -2,7 +2,7 @@ pytest>=2.7.0
tox>=1.9.2
behave>=1.2.4
black>=22.3.0
-pexpect==3.3
+pexpect==3.3; platform_system != "Windows"
pre-commit>=1.16.0
coverage>=5.0.4
codecov>=1.5.1
@@ -10,3 +10,4 @@ docutils>=0.13.1
autopep8>=1.3.3
twine>=1.11.0
wheel>=0.33.6
+sshtunnel>=0.4.0 \ No newline at end of file
diff --git a/setup.py b/setup.py
index 60b0d7a2..bd49221d 100644
--- a/setup.py
+++ b/setup.py
@@ -26,6 +26,11 @@ install_requirements = [
# 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",