mirror of
https://github.com/gsi-upm/senpy
synced 2024-12-22 13:08:13 +00:00
54e4dcd5d4
This is still not functional, because it involves a LOT of changes to the basic structure of the project. Some of the main changes can be seen in the CHANGELOG.md file, if you're interested, but it boils down to simplifying the logic of plugins (no more activation/deactivation shenanigans), more robust typing and use of schemas (pydantic) to avoid inconsistencies and user errors.
3.8 KiB
3.8 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Changed
- Changed the underlying model to use
pydantic
models - Plugin interface slightly changed. Activation should be performed in the
activate
method - data directory selection logic is slightly modified, and will choose one of the following (in this order):
data_folder
(argument),$SENPY_DATA
or$CWD
- Plugins cannot be deactivated
Fixed
- Tests now detect errors on optional plugins
Added
- The code of many senpy community plugins have been included by default. However, additional files (e.g., licensed data) and/or installing additional dependencies may be necessary for some plugins. Read each plugin's documentation for more information.
optional
attribute in plugins. Optional plugins may fail to load or activate but the server will be started regardless, unless running in strict mode- Option in shelf plugins to ignore pickling errors
Removed
--only-install
,--only-test
and--only-list
flags were removed in favor of--no-run
+--install
/--test
/--dependencies
[1.0.6]
Fixed
- Plugins now get activated for testing
[1.0.1]
Added
- License headers
- Description for PyPI (setup.py)
Changed
- The evaluation tab shows datasets inline, and a tooltip shows the number of instances
- The docs should be clearer now
[1.0.0]
Fixed
- Restored hash changing function in
main.js
0.20
Added
- Objects can control the keys that will be used in
serialize
/jsonld
/as_dict
by specifying a list of keys interse_keys
. e.g.
>>> class MyModel(senpy.models.BaseModel):
... _terse_keys = ['visible']
... invisible = 5
... visible = 1
...
>>> m = MyModel(id='testing')
>>> m.jsonld()
{'invisible': 5, 'visible': 1, '@id': 'testing'}
>>> m.jsonld(verbose=False)
{'visible': 1}
- Configurable logging format.
- Added default terse keys for the most common classes (entry, sentiment, emotion...).
- Flag parameters (boolean) are set to true even when no value is added (e.g.
&verbose
is the same as&verbose=true
). - Plugin and parameter descriptions are now formatted with (showdown)[https://github.com/showdownjs/showdown].
- The web UI requests extra_parameters from the server. This is useful for pipelines. See #52
- First batch of semantic tests (using SPARQL)
Plugin.path()
method to get a file path from a relative path (using the senpy data folder)
Changed
install_deps
now checks what requirements are already met before installing with pip.- Help is now provided verbosely by default
- Other outputs are terse by default. This means some properties are now hidden unless verbose is set.
sentiments
andemotions
are nowmarl:hasOpinion
andonyx:hasEmotionSet
, respectively.- Nicer logging format
- Context aliases (e.g.
sentiments
andemotions
properties) have been replaced with the original properties (e.g.marl:hasOpinion
andonyx:hasEmotionSet**), to use aliases, pass the
aliases** parameter. - Several UI improvements
- Dedicated tab to show the list of plugins
- URLs in plugin descriptions are shown as links
- The format of the response is selected by clicking on a tab instead of selecting from a drop-down
- list of examples
- Bootstrap v4
- RandEmotion and RandSentiment are no longer included in the base set of plugins
- The
--plugin-folder
option can be used more than once, and every folder will be added to the app.
Deprecated
Removed
- Python 2.7 is no longer test or officially supported
Fixed
- Plugin descriptions are now dedented when they are extracted from the docstring.