Usability: move a few 'core' functions to top-level
Idea: currently, some of the core functions are accessed by traversing the module directories of tupak, but we could make these easier to see.
As an example, instead of
waveform_generator = tupak.waveform_generator.WaveformGenerator
we could just do
waveform_generator = tupak.WaveformGenerator
Some functions that I think are ripe for this:
WaveformGenerator
-
get_interferometer_with_fake_noise_and_injection
(etc) Likelihood
What is the advantage? Well, if I am not a tupak developer, one way I try to find out what a code does is open IPython, import tupak
, and then do tab completion to find what classes/functions are available. By having the code work in this way, the user would get a list of things like Likelihood
, WaveformGenerator
etc, rather than having to dig
and work out which things are actually for them and which are not!
How do we do it?
Easy, just move all the things we want the user to interface with into __init__.py
.
What do people think?