From 4bb717ab96cfdd2307f7c2b3df98c6124b444bf8 Mon Sep 17 00:00:00 2001
From: Gregory Ashton <gregory.ashton@ligo.org>
Date: Thu, 26 Jul 2018 15:40:01 +1000
Subject: [PATCH] Clean up of the init

---
 CHANGELOG.md                                       |  7 +++++++
 examples/injection_examples/basic_tutorial.py      |  9 ++++-----
 .../injection_examples/how_to_specify_the_prior.py |  9 ++++-----
 .../injection_examples/marginalized_likelihood.py  |  4 ++--
 tupak/__init__.py                                  | 14 +++++---------
 tupak/gw/__init__.py                               |  3 +++
 6 files changed, 25 insertions(+), 21 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index d8ad77ea3..67da4e8b2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,13 @@
 
 Changes currently on master, but not under a tag.
 
+### Changes
+- The paths between imports where changed so that calls such as
+  `tupak.WaveformGenerator` no longer work. Instead, we need to use
+  `tupak.gw.WaveformGenerator`. This was done to keep things cleaner going
+  forward (when, for example, there may be multiple wfg's).
+
+
 ## [0.2.1] 2018-07-18
 
 ### Added
diff --git a/examples/injection_examples/basic_tutorial.py b/examples/injection_examples/basic_tutorial.py
index 26923d014..e8828cb07 100644
--- a/examples/injection_examples/basic_tutorial.py
+++ b/examples/injection_examples/basic_tutorial.py
@@ -36,11 +36,10 @@ waveform_arguments = dict(waveform_approximant='IMRPhenomPv2',
                           reference_frequency=50.)
 
 # Create the waveform_generator using a LAL BinaryBlackHole source function
-waveform_generator = tupak.WaveformGenerator(duration=duration,
-                                             sampling_frequency=sampling_frequency,
-                                             frequency_domain_source_model=tupak.gw.source.lal_binary_black_hole,
-                                             parameters=injection_parameters,
-                                             waveform_arguments=waveform_arguments)
+waveform_generator = tupak.gw.WaveformGenerator(
+    duration=duration, sampling_frequency=sampling_frequency,
+    frequency_domain_source_model=tupak.gw.source.lal_binary_black_hole,
+    parameters=injection_parameters, waveform_arguments=waveform_arguments)
 hf_signal = waveform_generator.frequency_domain_strain()
 
 # Set up interferometers.  In this case we'll use three interferometers (LIGO-Hanford (H1), LIGO-Livingston (L1),
diff --git a/examples/injection_examples/how_to_specify_the_prior.py b/examples/injection_examples/how_to_specify_the_prior.py
index 76b2884ea..450250db6 100644
--- a/examples/injection_examples/how_to_specify_the_prior.py
+++ b/examples/injection_examples/how_to_specify_the_prior.py
@@ -23,11 +23,10 @@ waveform_arguments = dict(waveform_approximant='IMRPhenomPv2',
                           reference_frequency=50.)
 
 # Create the waveform_generator using a LAL BinaryBlackHole source function
-waveform_generator = tupak.WaveformGenerator(duration=duration,
-                                             sampling_frequency=sampling_frequency,
-                                             frequency_domain_source_model=tupak.gw.source.lal_binary_black_hole,
-                                             parameters=injection_parameters,
-                                             waveform_arguments=waveform_arguments)
+waveform_generator = tupak.gw.WaveformGenerator(
+    duration=duration, sampling_frequency=sampling_frequency,
+    frequency_domain_source_model=tupak.gw.source.lal_binary_black_hole,
+    parameters=injection_parameters, waveform_arguments=waveform_arguments)
 hf_signal = waveform_generator.frequency_domain_strain()
 
 # Set up interferometers.
diff --git a/examples/injection_examples/marginalized_likelihood.py b/examples/injection_examples/marginalized_likelihood.py
index b2280bca4..8db282609 100644
--- a/examples/injection_examples/marginalized_likelihood.py
+++ b/examples/injection_examples/marginalized_likelihood.py
@@ -22,7 +22,7 @@ waveform_arguments = dict(waveform_approximant='IMRPhenomPv2',
                           reference_frequency=50.)
 
 # Create the waveform_generator using a LAL BinaryBlackHole source function
-waveform_generator = tupak.WaveformGenerator(
+waveform_generator = tupak.gw.WaveformGenerator(
     duration=duration, sampling_frequency=sampling_frequency,
     frequency_domain_source_model=tupak.gw.source.lal_binary_black_hole, parameters=injection_parameters,
     waveform_arguments=waveform_arguments)
@@ -42,7 +42,7 @@ for key in ['a_1', 'a_2', 'tilt_1', 'tilt_2', 'phi_12', 'phi_jl', 'phase', 'iota
 # Initialise GravitationalWaveTransient
 # Note that we now need to pass the: priors and flags for each thing that's being marginalised.
 # This is still under development so care should be taken with the marginalised likelihood.
-likelihood = tupak.GravitationalWaveTransient(
+likelihood = tupak.gw.GravitationalWaveTransient(
     interferometers=IFOs, waveform_generator=waveform_generator, prior=priors,
     distance_marginalization=True, phase_marginalization=False)
 
diff --git a/tupak/__init__.py b/tupak/__init__.py
index d42ac6b49..c78736873 100644
--- a/tupak/__init__.py
+++ b/tupak/__init__.py
@@ -18,14 +18,10 @@ https://monash.docs.ligo.org/tupak/installation.html.
 
 from __future__ import print_function, division, absolute_import
 
-# import local files, core utils should be imported first
-from tupak.core import utils, likelihood, prior, result, sampler
-from tupak.gw import detector, conversion, source, waveform_generator
-from tupak.hyper import likelihood, model
+import tupak.core
+import tupak.gw
+import tupak.hyper
 
-# import a few often-used functions and classes to simplify scripts
-from tupak.core.likelihood import Likelihood
-from tupak.gw.likelihood import GravitationalWaveTransient
-from tupak.gw.waveform_generator import WaveformGenerator
+from tupak.core import utils, likelihood, prior, result
 from tupak.core.sampler import run_sampler
-from tupak.hyper.likelihood import HyperparameterLikelihood
+from tupak.core.likelihood import Likelihood
diff --git a/tupak/gw/__init__.py b/tupak/gw/__init__.py
index 96e8091e4..9969e9d5f 100644
--- a/tupak/gw/__init__.py
+++ b/tupak/gw/__init__.py
@@ -6,3 +6,6 @@ import tupak.gw.prior
 import tupak.gw.source
 import tupak.gw.utils
 import tupak.gw.waveform_generator
+
+from tupak.gw.waveform_generator import WaveformGenerator
+from tupak.gw.likelihood import GravitationalWaveTransient
-- 
GitLab