Galv has moved to separate repositories for the backend, frontend, and harvester. Future changes will be made to those repositories rather than this one. Please target issues at the relevant one of those repositories.
Galv v2 has a rewritten structure providing more flexibility, better interlinking of resources, and a more streamlined codebase.
Galv is an open-source platform for automated storage of battery data with advanced metadata support for battery scientists. Galv is deployed with Docker to support robust local and cloud instances. An example frontend view is displayed below.
- REST API for easy data storage and retrieval
- A Python, Julia, and MATLAB client for the REST API
- Metadata support using ontology definitions from BattINFO/EMMO
- A distributed platform with local data harvesters
- Docker based deployment
Deploying a Galv instance in a battery lab can make it easy to access, analyse, and share experimental data. The steps to achieve this are:
-
Set the cycler's data export/save location to a single directory.
-
Set up a harvester on a computer with access to the directory (can be local or via a shared directory/drive).
-
Deploy Galv onto a local machine, or onto a cloud instance. Selection between these depend on security and access requirements. Note, network connection between the harvester and the Galv instance is necessary.
-
Log into the lab web frontend and configure the harvester to crawl the appropriate directories.
-
Use the web frontend to add metadata and view data, or use the Python client to ingest the data for analysis.
The harvesters are able to parse the following file types:
- MACCOR files in
.txt
,.xsl
/.xslx
, orraw
format - Ivium files in
.idf
format - Biologic files in
.mpr
format (EC-Lab firmware < 11.50)
Galv uses a relational database that stores each dataset along with information about column types, units, and other relevant metadata (e.g. cell information, owner, purpose of the experiment). The REST API provides its own definition via a downloadable OpenAPI schema file (schema/
), and provides interactive documentation via SwaggerUI (schema/swagger-ui/
) and Redoc (schema/redoc/
).
The schema can be downloaded from the documentation page. The below diagram presents an overview of Galv's architecture. The arrows indicate the direction of data flow.
Full documentation is available here, build by Sphinx from ./docs/source/*.rst
.