From ee3059ab2f19332a3815e37076247ff326ffa342 Mon Sep 17 00:00:00 2001
From: Colm Talbot <colm.talbot@ligo.org>
Date: Fri, 12 Aug 2022 14:42:44 +0000
Subject: [PATCH] MAINT: Remove deprecated getargspec calls

---
 bilby/core/result.py              |  4 ++--
 bilby/core/utils/introspection.py |  5 +----
 docs/likelihood.txt               | 10 ++++------
 3 files changed, 7 insertions(+), 12 deletions(-)

diff --git a/bilby/core/result.py b/bilby/core/result.py
index c75e1d57d..f6eb9d73e 100644
--- a/bilby/core/result.py
+++ b/bilby/core/result.py
@@ -298,7 +298,7 @@ def reweight(result, label=None, new_likelihood=None, new_prior=None,
 
     if conversion_function is not None:
         data_frame = result.posterior
-        if "npool" in inspect.getargspec(conversion_function).args:
+        if "npool" in inspect.signature(conversion_function).parameters:
             data_frame = conversion_function(data_frame, new_likelihood, new_prior, npool=npool)
         else:
             data_frame = conversion_function(data_frame, new_likelihood, new_prior)
@@ -1389,7 +1389,7 @@ class Result(object):
             data_frame['log_prior'] = self.log_prior_evaluations
 
         if conversion_function is not None:
-            if "npool" in inspect.getargspec(conversion_function).args:
+            if "npool" in inspect.signature(conversion_function).parameters:
                 data_frame = conversion_function(data_frame, likelihood, priors, npool=npool)
             else:
                 data_frame = conversion_function(data_frame, likelihood, priors)
diff --git a/bilby/core/utils/introspection.py b/bilby/core/utils/introspection.py
index 923c24d2b..70073f995 100644
--- a/bilby/core/utils/introspection.py
+++ b/bilby/core/utils/introspection.py
@@ -94,10 +94,7 @@ def infer_args_from_function_except_n_args(func, n=1):
         ['c', 'd']
 
     """
-    try:
-        parameters = inspect.getfullargspec(func).args
-    except AttributeError:
-        parameters = inspect.getargspec(func).args
+    parameters = inspect.getfullargspec(func).args
     del parameters[:n]
     return parameters
 
diff --git a/docs/likelihood.txt b/docs/likelihood.txt
index 46c38102b..79f917ff4 100644
--- a/docs/likelihood.txt
+++ b/docs/likelihood.txt
@@ -128,9 +128,7 @@ In :code:`bilby`, we can code this up as a likelihood in the following way::
            self.function = function
 
            # These lines of code infer the parameters from the provided function
-           parameters = inspect.getargspec(function).args
-           parameters.pop(0)
-           super().__init__(parameters=dict.fromkeys(parameters))
+           super().__init__(parameters=dict())
 
 
        def log_likelihood(self):
@@ -197,10 +195,10 @@ instantiating the likelihood::
           self.function = function
 
           # These lines of code infer the parameters from the provided function
-          parameters = inspect.getargspec(function).args
-          parameters.pop(0)
+          parameters = inspect.getfullargspec(function).args
+          del parameters[0]
           super().__init__(parameters=dict.fromkeys(parameters))
-                    self.parameters = dict.fromkeys(parameters)
+          self.parameters = dict.fromkeys(parameters)
 
           self.function_keys = self.parameters.keys()
           if self.sigma is None:
-- 
GitLab