Commit Graph

74 Commits (87dcdb9fbc33fbf8f71693c036748e9c49d43336)

Author SHA1 Message Date
J. Fernando Sánchez 67ef4b60bd Skip evaluation tests in Py2
GSITK doesn't support python2
6 years ago
J. Fernando Sánchez c0aa7ddc3c Add evaluation tests 6 years ago
J. Fernando Sánchez d29c42fd2e Log easy and test serializable 7 years ago
J. Fernando Sánchez 23c88d0acc Improve error handling 7 years ago
J. Fernando Sánchez dcaaa591b7 Improve requests patching 7 years ago
J. Fernando Sánchez 92189822d8 Change Box plugin to mimic a sklearn classifier 7 years ago
J. Fernando Sánchez 3e2b8baeb2 Last batch of big changes
* Add Box plugin (i.e. black box)
* Add SentimentBox, EmotionBox and MappingMixin
* Refactored CustomDict
7 years ago
J. Fernando Sánchez 21a5a3f201 Macro commit
* Fixed Options for extra_params in UI
* Enhanced meta-programming for models
* Plugins can be imported from a python file if they're named
`senpy_<whatever>.py>` (no need for `.senpy` anymore!)
* Add docstings and tests to most plugins
* Read plugin description from the docstring
* Refactor code to get rid of unnecessary `.senpy`s
* Load models, plugins and utils into the main namespace (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
7 years ago
J. Fernando Sánchez bfc588a915 Several fixes
* Refactored BaseModel for efficiency
* Added plugin metaclass to keep track of plugin types
* Moved plugins to examples dir (in a previous commit)
* Simplified validation in parse_params
* Added convenience methods to mock requests in tests
* Changed help schema to use `.valid_parameters` instead of `.parameters`,
which was used in results to show parameters provided by the user.
* Improved UI
    * Added basic parameters
    * Fixed bugs in parameter handling
    * Refactored and cleaned code
7 years ago
J. Fernando Sánchez 0204e0b8e9 Several changes
* Simplified setattr
* Added loading attributes in class
* Added ability to specify failing test cases in plugins
7 years ago
J. Fernando Sánchez 778746c5e8 Added data folder configuration
Closes #46
7 years ago
J. Fernando Sánchez 3e3f5555ff Fixed py2 problems and other improvements
We've changed the way plugins are activated, and removed the notion of
deactivated plugins.
Now plugins activate asynchronously.
When calling a plugin, it will be activated if it wasn't, and the call will wait
for the plugin to be fully activated.
7 years ago
J. Fernando Sánchez a243f68bfc WIP simpler pipeline 7 years ago
J. Fernando Sánchez fca0ac00c4 Merge branch '38-json-serialization-problem-with-sets' 7 years ago
J. Fernando Sánchez 9a2932b569 Merge branch '39-plugin-tests-missing' 7 years ago
J. Fernando Sánchez 85aef3d15f Improved shelf tests
Refactored template tests
7 years ago
J. Fernando Sánchez b6f00385ab Fixed test for failed validation
Note that the schema currently supports both string and object analysis in the
"analysis" field of a result.
7 years ago
J. Fernando Sánchez 4d7e8e7589 Added tests for all "discoverable" plugins
Closes #39
7 years ago
J. Fernando Sánchez 8e4578dc25 Closes #40 7 years ago
J. Fernando Sánchez 24c97256e8 Added serialization of sets 7 years ago
J. Fernando Sánchez 852bcc72ba Better centroid conversion
Also added **simple** tests for backward and forward conversion.
In future versions we should add thorough tests.

Should close gsi-upm/senpy#31
7 years ago
J. Fernando Sánchez 28f29d159a Merge branch 'gh-34-broken-shelf' into 0.8.x 7 years ago
J. Fernando Sánchez 0f89b92457 Fixed pickling error in py2.7 7 years ago
J. Fernando Sánchez ea91e3e4a4 Add an option to force the load of shelf plugins
Closes gsi-upm/senpy#34
7 years ago
J. Fernando Sánchez 60ef304108 Analysis set as a python list
Closes senpy/senpy#31
7 years ago
J. Fernando Sánchez 4ba9535d56 Merge branches into 0.8.x
'25-validation-errors'
'27-add-method-to-get-list-of-plugins'
'28-fix-multiprocessing-issues'
7 years ago
J. Fernando Sánchez e582ef07d4 Fix multiprocessing tests in python2.7
Closes #28 for python 2.

Apparently, process pools are not contexts in python 2.7.
On the other hand, in py2 you cannot pickle instance methods, so
you have to implement Pool tasks as independent functions.
7 years ago
J. Fernando Sánchez ef40bdb545 Replace gevent with tornado
Closes #28

Added:

* Async test (still missing one that includes the IOLoop)
* Async plugin under tests. To manually try async functionalities:
```
senpy -f tests/
```
7 years ago
J. Fernando Sánchez e0b4c76238 Add plugin method to client
Closes #28
7 years ago
J. Fernando Sánchez 14c86ec38c Set plugin list as a @set and fixed test case
It turns out setting "plugins" as a @list in the context causes the
"plugins" property to expand to its full name.
Removing the type causes a regression of #17, which I initially missed
because the test in #17 was wrong.

Closes #26
7 years ago
J. Fernando Sánchez d3d05b3218 Fixed expansion of "plugins"
Closes #26

There was no need to add @list, and it was causing JSON-LD to expand the
URI of 'plugins'
7 years ago
J. Fernando Sánchez 7e5b55ff9c Run pip with Popen
Closes #22
7 years ago
J. Fernando Sánchez 0c8f98d466 Pre-0.8.6
* Improved debugging (back to using Flask's built-in mechanisms)
* Recursive model loading from json
* Added DEVPORT to Makefile
* Accept json-ld input. Closes #16
* Improved Exception handling in client
* Modified default plugin selection to only include analysis plugins
* More tests
7 years ago
J. Fernando Sánchez cc298742ec Merge branch '17-...' into 0.8.x 7 years ago
J. Fernando Sánchez 250052fb99 Options as a set in the JSON-LD context
Closes #18
7 years ago
J. Fernando Sánchez 603e086606 Fix list of plugins
Closes #17
7 years ago
J. Fernando Sánchez a8614bab0c Accept plugin pipelines
Closes #15
7 years ago
J. Fernando Sánchez a0ff528a4b Improved docs and client
* Client now raises an exception on error
* Added conversion to the documentation
7 years ago
J. Fernando Sánchez 453b9f3257 Fixed bugs in Ekman2VAD 7 years ago
J. Fernando Sánchez ba2e18125c Deployment changes
* Docker all the things!
* Make all the things!
* Fixed version.sh
7 years ago
J. Fernando Sánchez 9f6a6f5ecd Loads of changes!
* Added conversion plugins (API might change!)
* Added conversion to the analysis pipeline
* Changed behaviour of --default-plugins (it adds conversion plugins regardless)
* Added emotionModel [sic] and emotionConversion models

//TODO add conversion tests
//TODO add conversion to docs
7 years ago
J. Fernando Sánchez b4ca5f4a7c Several fixes and changes
* Added interactive debugging
* Better exception logging
* More tests for errors
* Added ONBUILD to dockerfile
  Now creating new images based on senpy's is as easy as:
  ```from senpy:<version>```. This will automatically mount the code to
  /senpy-plugins and install all dependencies
* Added /data as a VOLUME
* Added `--use-wheel` to pip install both on the image and in the
  auto-install function.
* Closes #9

Break compatibilitity:

* Removed ability to (de)activate plugins through the web
7 years ago
J. Fernando Sánchez 908090f634 Released v0.7
Bug-fixes and improvements:
* Closes #5
* Closes #1
* Adds Client (beta)
* Added several schemas
* Lighter string representation -> should avoid delays in the analysis
  with plugins that have 'heavy' attributes

Backwards-incompatible changes:
* Context in headers by default
* All schemas include a "@type" argument that is used for autodetection
  in the client

... And possibly many more, this is still <1.0
7 years ago
J. Fernando Sánchez b072121e20 Added Model string representation
This should help with performance issues with models that have large
private variables.
7 years ago
J. Fernando Sánchez db30257373 Flake8, Semver, Pre-commit
* Added pre-commit: http://pre-commit.com
* Fixed flake8 errors
* Added flake8 pre-commit hooks
* Added pre-commit to Makefile
* Changed VERSION numbering
* Changed versioning to match PEP-0440
8 years ago
J. Fernando Sánchez 7fd69cc690 YAPFed 8 years ago
J. Fernando Sánchez b543a4614e Improved schema validation
* Added debug Dockerfile/Makefile
* Validation of examples in docs
8 years ago
J. Fernando Sánchez d72a995fa9 New shelf location and better shelf tests 8 years ago
J. Fernando Sánchez 0d511ad3c3 Bumped to 0.6.0
* Downloads pip requirements
* Modified Makefile
8 years ago
J. Fernando Sánchez 03eb38c12d Added CLI and refactored argument parsing 8 years ago