Commit Graph

94 Commits (master)

Author SHA1 Message Date
J. Fernando Sánchez b33a70620b use default strict for extension tests 7 months ago
J. Fernando Sánchez e324c730e2 use strict=false in blueprint tests 7 months ago
J. Fernando Sánchez f3d4415ffb Modify dependencies to allow for 3.7 compatibility
Some dependencies are not available for python 3.7 anymore. Instead
of trying to support different versions of the libraries, we opt to
focus on the latest python version, and allow for CORE functionality
for earlier versions.
7 months ago
J. Fernando Sánchez 4f95fbcbd1 update to pass tests with community plugins 8 months ago
J. Fernando Sánchez a0abbede49 Version 1.0.2
Update RDFlib to 6.1.1 (removed rdflib-jsonld, as it is deprecated)
Bumped minimum python version: 3.7 (as a result of RDFLIB 6)
Added ProxyFix to run behind nginx (Added --no-proxy to run without the fix)
Replaced http media links to protocol-agnostic links in playground
Enable CORS (via --enable-cors)
Update old urls (replaced *.cluster.gsi.dit.upm.es with *.gsi.upm.es)
2 years ago
J. Fernando Sánchez 435d107677 Add headers and minor fixes 5 years ago
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