The problem
Currently the basis object class names don't mention that they are basis. For Fourier, maybe that would be clear enough but BSpline could be confused with Scipy's splines, and Tensor is very confusing as a basis name.
Desired solution
Basis should include the Basis suffix, to eliminate ambiguities. The old names should be deprecated, and removed in a future version.
Path to the desired solution
For each class to rename:
Rename the class with the new name and export it appropriately from the basis module.
Create a subclass of the class with the old name.
The docstring should be a copy of the old docstring, with a deprecation notice added to it that references the new name.
The __init__ method should emit a deprecation warning and call the super__init__ method.
Check that the tests still pass, but now emit the warning.
Replace each occurrence in code and tests (except the newly created subclass) with the renamed class.
Check that the test pass without that warning.
In the documentation, change the link to the new name, and move the old one to a section called "Deprecated classes" or equivalent.
Check that the documentation is generated appropriately.
The problem Currently the basis object class names don't mention that they are basis. For
Fourier
, maybe that would be clear enough butBSpline
could be confused with Scipy's splines, andTensor
is very confusing as a basis name.Desired solution Basis should include the
Basis
suffix, to eliminate ambiguities. The old names should be deprecated, and removed in a future version.Path to the desired solution For each class to rename:
__init__
method should emit a deprecation warning and call thesuper
__init__
method.