Skip to content

4.0

Compare
Choose a tag to compare
@svniemeijer svniemeijer released this 31 Mar 09:00
· 780 commits to master since this release

πŸ“… 2017-03-31

  • Changed license of muninn to BSD.

  • Muninn can now be used as a pure catalogue server.
    An archive root directory is still needed, but can remain empty.

  • Changed the core schema:

    • core.archive_date is now optional and is only set if core.archive_path is
      set.
      It will reflect the time at which the product was stored in the archive.
    • added core.metadata_date which represents the last modification time of
      the metadata record. It will automatically be updated if the metadata is
      changed via the muninn interfaces.
    • added optional core.remote_url field which can contain urls of the form
      file://, http://, ftp://, etc. that point to a remote location of the
      product.
  • The schema_name option for the postgresql backend has been removed.
    This is now replaced by a table_prefix option that is applicable for
    both the postgresql and sqlite backends.

  • The sqlite backend will no longer remove the database file for a 'destroy'
    (it will only remove the tables). Both 'prepare' and 'destroy' can be
    performed on an existing sqlite database file.

  • Added 'pull' command that allows downloading of products that are not yet
    in the archive. It will use the core.remote_url value to perform the
    download. A 'retrieve' still only works on products that are already in the
    archive.
    The pull method supports the default http/https/file/ftp protocols but also
    supports a custom ecmwfapi protocol that will use the ecmwf-api-client
    python package to download data from the ECMWF MARS archive.

  • The muninn Struct type that is used in the Python interface to store
    metadata can now be initialized with a Python dict.

  • Added create_properties() and generate_uuid() functions to the Python
    muninn.Archive interface. These are functions that should be used to create
    pure metadata records (without archived product) in a muninn archive.

  • Added verify_hash() function to the Python muninn.Archive interface.

  • muninn.Archive.generate_uuid() is now a static method.

  • Improved preparing and destroying of muninn archives. This will now better
    distinguish between the archive directory and the catalogue.

  • Verifying of the hash after an ingest of a product in the archive is now
    optional (--verify-hash argument to muninn-ingest).

  • The muninn sqlite backend now adds a spatialindex on footprint.
    The indices for both backends have all been renamed to idx_<table>_<field>.

  • muninn-prepare has a --dry-run mode, that just dumps the SQL that would be
    executed.

  • The muninn sqlite backend now supports the escape character \ when using
    the ~= operator.

  • Moved change history from README to separate CHANGELOG file.
    Renamed README.developer to EXTENSIONS and added DEVELOPER file.
    Include all documentation files with the source package.