Repository: Qiskit/qiskit-ibmq-provider (language: python)

Issue:
Deprecate qiskit-ibmq-provider
<!-- ⚠️ If you do not respect this template, your issue will be closed -->
<!-- ⚠️ Make sure to browse the opened and closed issues to confirm this idea does not exist. -->

### What is the expected enhancement?
Add general deprecation warning for qiskit-ibmq-provider package and encourage users to move to qiskit-ibm-runtime, qiskit-ibm-provider an qiskit-ibm-experiment when they are ready. We will be doing only critical security fixes for qiskit-ibmq-provider for 3 more months from deprecation after which it will no longer be supported.



Discussion / hints:
@rathishcholarajan Are you going to do one final release for all the new code currently in `master` before deprecating this? 
Yes I can try to do that Friday (Apr 1) or Monday (Apr 4).
@jyu00 qiskit-ibmq-provider 0.19.0 is released now.
Thanks!
Any updates on this? qiskit-experiments is still using qiskit-ibmq-provider but I'm keen to get it using qiskit-ibm-experiment instead which has newer functionality for the backend experiment service (resultsdb). I know that depends on Qiskit/qiskit-experiments/pull/812 though.
Still waiting on a couple APIs from IQX API team in order to unblock and release qiskit-ibm-provider, after which qiskit-ibmq-provider can be deprecated.

cc: @kt474 
@kt474 Can we get this done early next week?

Fix patch:
diff --git a/qiskit/providers/ibmq/__init__.py b/qiskit/providers/ibmq/__init__.py
index 58540069b..e0fe5bcb2 100644
--- a/qiskit/providers/ibmq/__init__.py
+++ b/qiskit/providers/ibmq/__init__.py
@@ -80,6 +80,7 @@
 """
 
 import logging
+import warnings
 from typing import List, Optional, Union
 from datetime import datetime, timedelta
 
@@ -97,6 +98,17 @@
 from .runner_result import RunnerResult
 from .version import __version__
 
+warnings.warn(
+    f"The package {__name__} is being deprecated. "
+    "Please see "
+    "https://ibm.biz/provider_migration_guide"
+    " to get instructions on how to migrate to "
+    "qiskit-ibm-provider (https://github.com/Qiskit/qiskit-ibm-provider) and "
+    "qiskit-ibm-runtime (https://github.com/Qiskit/qiskit-ibm-runtime).",
+    DeprecationWarning,
+    stacklevel=3
+)
+
 # Setup the logger for the IBM Quantum Provider package.
 logger = logging.getLogger(__name__)
 setup_logger(logger)


Test patch:
diff --git a/test/ibmq/runtime/test_runtime.py b/test/ibmq/runtime/test_runtime.py
index 91eac39ca..ba0d7da5a 100644
--- a/test/ibmq/runtime/test_runtime.py
+++ b/test/ibmq/runtime/test_runtime.py
@@ -287,7 +287,7 @@ def test_encoder_callable(self):
             encoded = json.dumps({"fidelity": lambda x: x}, cls=RuntimeEncoder)
             decoded = json.loads(encoded, cls=RuntimeDecoder)
             self.assertIsNone(decoded["fidelity"])
-            self.assertEqual(len(warn_cm), 1)
+            self.assertEqual(len(warn_cm), 2)
 
     def test_decoder_import(self):
         """Test runtime decoder importing modules."""