1
0
mirror of https://github.com/gsi-upm/senpy synced 2024-12-22 13:08:13 +00:00
senpy/CHANGELOG.md
J. Fernando Sánchez 54e4dcd5d4 WIP: working on a full refactor for v2.0
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.
2024-12-13 00:01:27 +01:00

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 in terse_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 and emotions are now marl:hasOpinion and onyx:hasEmotionSet, respectively.
  • Nicer logging format
  • Context aliases (e.g. sentiments and emotions properties) have been replaced with the original properties (e.g. marl:hasOpinion and onyx: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.

Security