{"id":41435631,"url":"https://github.com/ecmwf-projects/dasi","last_synced_at":"2026-01-23T14:37:27.126Z","repository":{"id":42659240,"uuid":"445130113","full_name":"ecmwf-projects/dasi","owner":"ecmwf-projects","description":"A metadata driven data store","archived":false,"fork":false,"pushed_at":"2024-12-11T13:44:36.000Z","size":551,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-12-29T00:59:14.669Z","etag":null,"topics":["fdb","mars"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ecmwf-projects.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-01-06T10:31:06.000Z","updated_at":"2024-07-22T11:01:44.000Z","dependencies_parsed_at":"2023-09-24T03:49:25.649Z","dependency_job_id":"9f46bec0-3116-485b-bf9d-f27c3faf925b","html_url":"https://github.com/ecmwf-projects/dasi","commit_stats":{"total_commits":239,"total_committers":4,"mean_commits":59.75,"dds":0.4393305439330544,"last_synced_commit":"d2b78c3c01b22c7aa09889ab63f989ced2ce0c2b"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/ecmwf-projects/dasi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecmwf-projects%2Fdasi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecmwf-projects%2Fdasi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecmwf-projects%2Fdasi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecmwf-projects%2Fdasi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ecmwf-projects","download_url":"https://codeload.github.com/ecmwf-projects/dasi/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ecmwf-projects%2Fdasi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28694445,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T14:15:13.573Z","status":"ssl_error","status_checked_at":"2026-01-23T14:09:05.534Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fdb","mars"],"created_at":"2026-01-23T14:37:26.411Z","updated_at":"2026-01-23T14:37:27.118Z","avatar_url":"https://github.com/ecmwf-projects.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"Data Access and Storage Interface (DASI)\n========================================\n\n.. image:: https://readthedocs.org/projects/dasi/badge/?version=latest\n    :target: https://dasi.readthedocs.io/en/latest/?badge=latest\n    :alt: Documentation Status\n\n\n**DASI** is a metadata-driven data store. It is a semantic interface for data, where the data is indexed and uniquely identified by sets of scientifically-meaningful metadata keys.\nDASI is modular and is compatible with multiple backends (i.e., object stores or POSIX) through diverse frontends (Python, C++, C).\n\n**Warning**\nThis project is BETA and will be experimental for the foreseeable future. Interfaces and functionality are likely to change. DO NOT use this software in any project/software that is operational.\n\n\nIntroduction\n============\n\nDASI is built on top of FDB [1]_, which has been developed\nat ECMWF [2]_ for previous EU projects (see `Acknowledgements \u003chttps://github.com/ecmwf-projects/dasi/blob/master/docs/acknowledgements.rst\u003e`_) and\nhas been adapted to be highly configurable for different domains.\nUsing FDB allows DASI to use various backends, such as POSIX, Ceph and Cortx-Motr object-storage, and NVRAM backend.\n\nConfiguration\n-------------\n\nAn example configuration:\n\n.. code-block:: yaml\n\n   ---\n   schema: path/to/schema/file\n   catalogue: toc\n   store: file\n   spaces:\n      - handler: Default\n      roots:\n      - path: path/to/data/output1\n      - path: path/to/data/output2\n\n\nSchema\n------\n\nThe schema defines the metadata keys which index and identify the data within a domain.\n\nAn example schema describing a hierarchical taxonomy of metadata keys:\n\n.. code-block:: yaml\n\n   [ User, Laboratory?, Project\n      [ DateTime, Processing\n         [ Type, Object ]]]\n\nInstallation\n============\n\nDASI Library (C/C++)\n--------------------\n\nThe supported way to install DASI library is by building from source.\n\nDependencies\n~~~~~~~~~~~~\n\n* C/C++ compiler\n* `CMake`_\n* `ecbuild`_\n* `eckit`_\n* `metkit`_\n* `fdb`_\n\nBuild and Install\n~~~~~~~~~~~~~~~~~\n\n.. code-block:: shell\n\n   git clone https://github.com/ecmwf-projects/dasi\n   cd dasi\n\n   # Setup environment variables (edit as needed)\n   SRC_DIR=$(pwd)\n   BUILD_DIR=build\n   INSTALL_DIR=$HOME/local\n   export eckit_DIR=$ECKIT_DIR\n   export metkit_DIR=$METKIT_DIR\n   export fdb5_DIR=$FDB_DIR\n\n   # Create the the build directory\n   mkdir $BUILD_DIR\n   cd $BUILD_DIR\n\n   # Run ecbuild (CMake)\n   ecbuild --prefix=$INSTALL_DIR -- $SRC_DIR\n\n   # Build and install\n   make -j10\n   make test      # optional\n   make install\n\n   # Check installation\n   $INSTALL_DIR/bin/dasi --version\n\n\nInstall pydasi\n--------------\n\nThe Python interface to DASI is called **pydasi**.\nIt uses the `cffi`_ Python package for interfacing with the DASI C API.\n\nDependencies\n~~~~~~~~~~~~\n\n* `DASI Library (C/C++)`_\n* `cffi`_\n\n\nOptional: Python Environment Setup\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nIt is advised to create a virtual Python environment:\n\n.. code-block:: console\n\n   $ cd project_dir\n   $ python -m venv .venv\n   $ source .venv/bin/activate\n\n\nInstallation\n~~~~~~~~~~~~\n\n**pydasi** can be installed using **pip** command:\n\n.. code-block:: console\n\n   $ cd project_dir\n   $ source .venv/bin/activate\n   (.venv) $ pip install cffi\n   (.venv) $ pip install pydasi\n\n.. _`CMake`: https://cmake.org\n.. _`ecbuild`: https://github.com/ecmwf/ecbuild\n.. _`eckit`: https://github.com/ecmwf/eckit\n.. _`metkit`: https://github.com/ecmwf/metkit\n.. _`fdb`: https://github.com/ecmwf/fdb\n.. _`cffi`: https://pypi.org/project/cffi/\n\n\n\nContributions\n=============\n\nHave any feedback / questions / comments / issues ? You can post them `here \u003chttps://github.com/ecmwf-projects/dasi/issues\u003e`_.\n\nThe main repository is hosted on GitHub; testing, bug reports and contributions are highly welcomed and appreciated.\n\nSee also the `contributors \u003chttps://github.com/ecmwf-projects/dasi/contributors\u003e`_ for a more complete list.\n\nContacts:\n\n- James Hawkes [2]_\n- Simon Smart [2]_\n- Tiago Quintino [2]_\n\nAcknowledgements\n================\n\nPast and current funding and support for this project are listed in the `Acknowledgements \u003chttps://github.com/ecmwf-projects/dasi/docs/acknowledgements.rst\u003e`_.\n\n\nLicense\n=======\n\nThis software is licensed under the terms of the Apache License Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.\n\nIn applying this license, ECMWF does not waive the privileges and immunities granted to it by virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.\n\n.. |License| image:: https://img.shields.io/badge/License-Apache%202.0-blue.svg\n   :target: https://github.com/ecmwf/dasi/blob/develop/LICENSE\n   :alt: Apache License\n\n\nFootnotes\n=========\n\n.. [1] \"Fields DataBase (`FDB \u003chttps://github.com/ecmwf/fdb\u003e`_) is a domain-specific object store\"\n.. [2] \"European Centre for Medium-Range Weather Forecasts (`ECMWF \u003chttps://www.ecmwf.int\u003e`_)\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fecmwf-projects%2Fdasi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fecmwf-projects%2Fdasi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fecmwf-projects%2Fdasi/lists"}