The naming of the functions in the public API are still derived by the MATLAB implementation. The MATLAB implementation does not use name spaces, I guess because it used to be the case that to make a function visible it needed to have the same of the file it is defined in. As a result we have to do something like:
import psignifit as ps
import psignifit.psigniplot as psp
res = ps.psignifit(...)
ax = psp.plot_psychometric_function(res)
for the function psignifit is indeed crazy, without the aliasing in __init__
we actually have psignifit.psignifit.psignifit.
I think that it makes more sense to name a function by what it does, so I think we want an API like this instead:
import psignifit as psf
res = psf.fit(...)
ax = psf.plot_psychometric_function(res)
ax = psf.plot_stimulus_residuals(res)
...
In other words this means we could have a flat namespace with functions that have names not as typo-inducing as psignifit is. Given that we do not have a lot of functions in the public API, I think a flat namespace is the easiest and more intuitive thing to do.
All of this could be done when we address #228 . Also, it can be done in a 100% backwards compatible way by creating aliases for the old API that can be supported forever.
The naming of the functions in the public API are still derived by the MATLAB implementation. The MATLAB implementation does not use name spaces, I guess because it used to be the case that to make a function visible it needed to have the same of the file it is defined in. As a result we have to do something like:
for the function
psignifitis indeed crazy, without the aliasing in__init__we actually have
psignifit.psignifit.psignifit.I think that it makes more sense to name a function by what it does, so I think we want an API like this instead:
In other words this means we could have a flat namespace with functions that have names not as typo-inducing as
psignifitis. Given that we do not have a lot of functions in the public API, I think a flat namespace is the easiest and more intuitive thing to do.All of this could be done when we address #228 . Also, it can be done in a 100% backwards compatible way by creating aliases for the old API that can be supported forever.