Skip to content

Releases: CasperWA/voila-optimade-client

v3.1.1

29 May 13:43
v3.1.1
c11491a
Compare
Choose a tag to compare

Updates:

  • Start in debug mode (by passing debug to run.sh) (#59).
  • Put the result structures dropdown in a separate widget (#59).
    This is relevant for #57 in order to move it to the right side of the application (#59).
  • If a structure with partial occupancies is selected, the ASE download options are removed.
    The added infrastructure allows the (re)addition of pymatgen support (#59).
  • Disable child DB/implementations dropdown if exactly 0 or 1 child DBs/implementations are found.
    If a single implementation is found, automatically choose it immediately (#56).
  • Cache first list of results for each provider's child DB after the first time they have been chosen (#55).

Bug fixes:

  • Update IntRangeSlider widget values when selecting implementations (#59).
  • Make all client-created OPTIMADE errors conform to the OPTIMADE error model (#59).
  • Properly update child DB/implementations dropdown (#55).

v3.1.0

19 May 15:40
v3.1.0
3a9c134
Compare
Choose a tag to compare

New features:

  • Use new type of filter inputs.
    When choosing number of sites or number of elements, this is now done using a range slider (specifically an ipywidget.IntRangeSlider).
    The extrema of the sliders' values are dynamically determined (and cached) for each provider's implementation.
    (#34, @CasperWA).
  • Extended the list of downloadable structure formats to include:
    • XMol XYZ File (.xyz)
    • XCrysDen Structure File (.xsf)
    • WIEN2k Structure File (.struct)
    • VAPS POSCAR File (will download as a .txt)
    • Quantum ESPRESSO File (.in)
      All are retrieved through ASE, by converting the structure to an ase.Atoms type first (using the optimade.adapters.Structure from optimade-python-tools.
      Furthermore, support for pymatgen has been implemented, but as of now it cannot be used to convert to another format, yet.
      In addition to the new formats listed above, conversion to CIF and PDF is also possible via ASE instead of the "internal" conversion done by the adapter.
      (#37, @CasperWA, suggested by @giovannipizzi).
  • Run the application locally with ease.
    Simply git clone it, pip install it, and finally execute run.sh from the root folder of the repository. This will automatically copy the Voilà configuration file to your local Jupyter configuration directory (usually ~/.jupyter/) and start the Voilà tornado server, serving OPTIMADE_general.ipynb.
    (#43, @CasperWA).

Changes/updates:

  • [Binder] Add Voilà to binder dependencies for Materials Cloud deployment (#29, @giovannipizzi).
  • [README/Binder] Use the v3 tag for the binder badge (#35, @CasperWA).
  • [Dependencies] Add ASE and Voilà as package dependencies and update to newest version of other dependencies (#37, @CasperWA).
  • [Dependencies] Extend documented support to Python 3.8 (#37, @CasperWA).
  • [Error-handling/Logging] Log all internal exceptions at the ERROR level as well as all warnings at the WARNING level (#37, @CasperWA).
  • [README/Binder] Use Voilà in binder instead of APP mode (#43, @CasperWA).
  • [README] Add sections on how to run the application locally using Voilà (#43, @CasperWA).
  • [Binder/Voilà] Set Voilà configuration through jupyter_config.json file in the repository root (#43, @CasperWA).
  • [Code] Update infrastructure for how to specify the type of filter input widget, allowing the use other widgets than simple text input (#45, @CasperWA).
  • [Verification] Add utility function to check an implementation's "schema" (/info/structures) for whether properties are present, sortable, and more (#45, @CasperWA).
  • [Querying] Add support for the sort OPTIMADE query parameter (#45, @CasperWA).

Bug fixes:

  • [Voilà] Fixed the "Download" button. It is now updated whenever a new format is chosen, which is necessary for it to work in Voilà (#37, @CasperWA).
  • [Expectation] Remove a provider/implementation from the dropdown as expected if a behind-the-scenes request fails, which is instrumental for the client to function (#37, @CasperWA).
  • [Error-handling/Logging] Catch the correct exceptions when attempting to perform requests HTTP requests and a timeout or connection error occurs. Improve error messages (in logger) drastically with better descriptions and by making them JSON decodeable (#42, @CasperWA).
  • [Tests] Extend test_exmpl_not_in_list to include odbx as well as the mcloud provider in attempt to make sure the test passes if one of them is down or unreachable (#42, @CasperWA).

v3.0.0

12 May 14:12
v3.0.0
db22e3b
Compare
Choose a tag to compare

Highlights:

  • Remove AiiDA lab app repo structure.
  • Remove AiiDA dependency (as well as AiiDA lab).
  • Use optimade-python-tools more extensively throughout the code base.
  • Integrated an adapter/converter concept to contain a structure and easily retrieve it in different formats in upstream optimade-python-tools.
  • Update the look and feel, the GUI.
  • Add logo and description.
  • Make available on mybinder.org.
  • Add proper logging.
  • Friendly "report" buttons for creating custom GitHub issues.
  • Adapt to Voilà and deploy on MaterialsCloud as a tool (#29, @giovannipizzi).
  • Use urllib more widely to encode URL strings.