diff --git a/.github/workflows/test-and-deploy.yml b/.github/workflows/test-and-deploy.yml
index 9fdcf4c75..3a863f15b 100644
--- a/.github/workflows/test-and-deploy.yml
+++ b/.github/workflows/test-and-deploy.yml
@@ -32,8 +32,10 @@ jobs:
       - name: Install Dependencies
         run: |
           pip install virtualenv --upgrade
+          make pystub
           make install test-install
           make prettier
+          tree
 
       - name: Run the tests
         run: make test-with-coverage
diff --git a/Makefile b/Makefile
index 72cabbcfb..94904cdfc 100644
--- a/Makefile
+++ b/Makefile
@@ -56,6 +56,9 @@ clean:
 nopyc:
 	find . -name \*.pyc -delete
 
+pystub:
+	pip install pyright; export PWD=pwd; pyright --createstub "${PWD}/twilio/rest"
+
 prettier:
 	. venv/bin/activate; autoflake --remove-all-unused-imports -i -r --exclude venv .
 	. venv/bin/activate; black .
diff --git a/requirements.txt b/requirements.txt
index a29abc4d1..b68ef5432 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,3 +4,4 @@ PyJWT>=2.0.0, <3.0.0
 aiohttp>=3.9.4
 aiohttp-retry>=2.8.3
 certifi>=2023.7.22 # not directly required, pinned by Snyk to avoid a vulnerability
+pyright>=1.1.364
diff --git a/tests/requirements.txt b/tests/requirements.txt
index 679f8e13d..0a6779b82 100644
--- a/tests/requirements.txt
+++ b/tests/requirements.txt
@@ -12,3 +12,4 @@ multidict
 pyngrok
 black
 autoflake
+pyright