As I work on #488, I find that one unfortunate by-product of adding a new VotingLearner object that depends on the Learner object is that the following no longer works: from skll import Learner due to a circular import issue. From v2.5, we will need to do from skll.learner import Learner instead .
To make things consistent, I plan to remove all top-level imports:
from skll import FeatureSet will become from skll.data import FeatureSet
from skll import run_configuration will become from skll.experiments import run_configuration
Since we are already planning to break backwards compatibility with v2.5, the change can be clearly mentioned in the release notes. Also, IMO, it provides the user with a better sense of the structure of the SKLL codebase.
As I work on #488, I find that one unfortunate by-product of adding a new
VotingLearner
object that depends on theLearner
object is that the following no longer works:from skll import Learner
due to a circular import issue. From v2.5, we will need to dofrom skll.learner import Learner
instead .To make things consistent, I plan to remove all top-level imports:
from skll import FeatureSet
will becomefrom skll.data import FeatureSet
from skll import run_configuration
will becomefrom skll.experiments import run_configuration
Since we are already planning to break backwards compatibility with v2.5, the change can be clearly mentioned in the release notes. Also, IMO, it provides the user with a better sense of the structure of the SKLL codebase.