* 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 d145a852e7857784ba92efc556bb9e513ad5374b
commit 6a1069780b4a5cf26659134bcbea7a5fcec00ad7
commit ca69bddc17122e08142e93180d687d9b91cb4f1f
commit aa35e62a2724f9a3c33765d88de01fe8e44ba5f8
* 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
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
* 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
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