Pre 1.0
There are too many changes in this merge request. I would've tried to split them, but most of them are pretty much dependent on each other.
- Enhanced meta-programming for models
- Add plugin metaclass to keep track of plugin types
- Plugins can be imported from a python file if they're named
senpy_<whatever>.py>
or<whatever>_plugin.py
(no need for.senpy
files anymore!) - As a result of the previous one, I refactored the code to get rid of unnecessary
.senpy
s - Add Box plugin (i.e. black box)
- Add SentimentBox, EmotionBox and MappingMixin
- Refactored CustomDict
- Add docstings and tests to most plugins
- Read plugin description from the docstring
- Load models, plugins and utils into the main module (senpy) (see init.py)
- Enhanced plugin development/experience with utils (easy_test, easy_serve)
- Fix bug in check_template that wouldn't check objects
- Make model defaults a private variable
- Add option to list loaded plugins in CLI
- Update docs
- Add sklearn example
- Several fixes for test_case
- Simplified test_case for different types of plugin (Sentiment, Emotion & Analysis)
- Add SenpyClientUse docs
- Change names of classes in the plugins module to avoid repetitions (we may have to revert this)
- Make subprocess log private
- Moved plugins to examples dir (in a previous commit)
- Simplify validation in parse_params
- Added convenience methods to mock requests in tests
- Change help schema to use
.valid_parameters
instead of.parameters
, which was used in results to show parameters provided by the user. - Add loading attributes in class
- Add ability to specify failing test cases in plugins
- Improve UI
- Added basic parameters
- Fixed bugs in parameter handling
- Refactored and cleaned code