Commit Graph

88 Commits (1.0.0)

Author SHA1 Message Date
J. Fernando Sánchez 9758a2977f Release 0.20 5 years ago
J. Fernando Sánchez 8a516d927e Multiple changes in the API, schemas and UI
Check out the CHANGELOG.md file for more information
5 years ago
J. Fernando Sánchez 4ba30304a4 New schema for parameters
* Improve extra requirement handling
* New mechanism to handle parameters beforehand in chained
  calls, and the ability to get help on available parameters in chained
  calls (through `?help`).
* Redefined Analysis, to reflect the new ontology
* Add parameters as an entity in the schema
* Update examples to include analyses and parameters
* Add processing plugins, with an interface similar to analysis plugins
* Update tests
* Avoid duplication in split plugin

Closes #51

Squashed commit of the following:

commit d145a852e7
commit 6a1069780b
commit ca69bddc17
commit aa35e62a27
5 years ago
J. Fernando Sánchez 41aa142ce0 Refactored conversion and postprocessing 6 years ago
J. Fernando Sánchez 318acd5a71 Replace algorithm list with a tuple 6 years ago
J. Fernando Sánchez c939b095de Fix POST. Closes senpy/senpy#56 6 years ago
J. Fernando Sánchez 6dd4a44924 Make algorithm part of the URI
This also includes a couple of changes URIs to pass the tests with python 3.7

Closes #50
6 years ago
J. Fernando Sánchez 7c7a815d1a Add *responses* to improve mocking 6 years ago
J. Fernando Sánchez 00ffbb3804 Several changes
* Add flag to run tests
* Add ntriples outformat
6 years ago
J. Fernando Sánchez 13cf0c71c5 WIP
* Modify dependency installation logic (avoid installing several times)
* Add encoded URLs for as base/prefix
6 years ago
J. Fernando Sánchez 83b23dbdf4 UI improvements
* Add option to add multiple plugins
* Improve UI hints for collapsed parameters
* Refactored plugins without requirements
* Hide evaluation tab for the moment. You can see it by adding "?evaluation" to
  the URL.
6 years ago
J. Fernando Sánchez 6832a2816d Change data loading logic. Bugs senpy.testing 6 years ago
J. Fernando Sánchez 1313853788 Several fixes and improvements
* Add Topic model
* Add PDB post-mortem debugging
* Add logger to plugins (`self.log`)
* Add NLTK resource auto-download
* Force installation of requirements even if adding doesn't work
* Add a method to find files in several possible locations. Now the plugin.open
method will try these locations IF the file is to be opened in read mode.
Otherwise only the SENPY_DATA folder will be used (to avoid writing to the
package folder).
6 years ago
J. Fernando Sánchez 697e779767 Fix schema issues and parameter validation 6 years ago
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 6 years ago
J. Fernando Sánchez 23c88d0acc Improve error handling 6 years ago
J. Fernando Sánchez dcaaa591b7 Improve requests patching 6 years ago
J. Fernando Sánchez 92189822d8 Change Box plugin to mimic a sklearn classifier 6 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
6 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
6 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
6 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
6 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