app for battery database
Project description
NOMAD Plugin for Battery Database
This repository contains the nomad-battery-database plugin, which allows you to parse, schematize, and visualize curated experimental battery properties from the literature within NOMAD. In addition to that, you can upload your own creation directly into the dataset.
The plugin provides schemas for storing battery data and includes a parser to automatically process and upload datasets from tabular files. It is designed for two primary workflows: manually entering single data points and batch-uploading large datasets.
Features
- Dual Schema System: Includes a
Batteryschema for manual uploads and the more detailedChemDataExtractorBatteryschema for batch parsing. - Flexible Parser: The
BatteryParserautomatically processes.csv,.xls, and.xlsxfiles. - Automated Normalization: Automatically parses chemical compositions, generates Hill-ordered formulas, creates publication references from DOIs, and standardizes property values.
- Dedicated Search Application: Provides a powerful, interactive user interface within NOMAD for exploring and visualizing the battery data.
The Battery Database Application
Once your data is uploaded and processed, you can explore it using a dedicated application within NOMAD. This interface, defined in the plugin's __init__.py file, is designed for intuitive data discovery and visualization.
The application can be found by navigating to the Explore menu and selecting Battery Database under the "Use Cases" category.
The interface consists of three main components:
- Filter Panel: On the left, you can narrow your search by key metadata. Filters include
Material(chemical formula),Journal,Publication Year,Available Properties, and more. - Interactive Dashboard: A series of widgets at the top provide a visual summary of your search results. This includes a
Periodic Tableof aPeriodic Tableof the elements present,Histogramsfor the distribution of key properties (Capacity, Voltage, Energy Density), andScatter Plotsto visualize relationships between properties like Voltage vs. Capacity. - Results Table: A detailed and sortable table at the bottom displays the entries matching your criteria. Default columns include
Material,Journal,Capacity,Voltage, andEnergy Density.
For a complete walkthrough of the application's features, see the Searching and Exploring Battery Data guide.
Getting Started
To get started with adding your own data, follow our step-by-step guides.
- For a complete walkthrough from a raw CSV file to the final visualization, see our Tutorial.
- To upload data in batches using the parser, refer to the guide on How to Prepare and Upload Data.
- To manually add a single data point through the NOMAD interface, see How to Add Your Own Battery Data.
Documentation
This README provides a high-level overview. For detailed information on the schemas, parser, and contribution guidelines, please refer to our full documentation.
Installation
To add this plugin to your NOMAD or NOMAD Oasis instance, please follow the official NOMAD plugin installation instructions.
Contributing
Contributions are very welcome! If you would like to help improve the plugin or its documentation, please read our contribution guide.
Development and Installation
If you want to develop this plugin locally, clone the project and create a virtual environment (you can use Python 3.9, 3.10, or 3.11):
git clone https://github.com/u-gajera/Battery-Database.git
cd Battery-Database
python3.11 -m venv .pyenv
source .pyenv/bin/activate
Make sure to have pip upgraded:
pip install --upgrade pip
We recommend installing uv for fast package installation:
pip install uv
Install the plugin in editable mode with its development dependencies:
uv pip install -e '....
Run the Tests
You can run the tests locally:
pytest -sv tests
To generate a local coverage report:
uv pip install pytest-cov
pytest --cov=src tests
Auto-formatting
We use Ruff for linting and formatting the code.
ruff check .
ruff format .
Main Contributors Dr. Uday Gajera, uday.gajera@physik.hu-berlin.de
Current data source Data Source: https://doi.org/10.1038/s41597-020-00602-2
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nomad_battery_database-1.0.0.tar.gz.
File metadata
- Download URL: nomad_battery_database-1.0.0.tar.gz
- Upload date:
- Size: 1.9 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2691a132196931b7e9891900c84eefaa8addcc21c0d74dbe995bd10614cf91c
|
|
| MD5 |
4a3c2c7b96ab4a0fef86c727e82e7dc0
|
|
| BLAKE2b-256 |
025073c56bb8d9eeff0554cc1d8984db955192481e72bdd682510073e1d46031
|
Provenance
The following attestation bundles were made for nomad_battery_database-1.0.0.tar.gz:
Publisher:
python-publish.yml on FAIRmat-NFDI/nomad-battery-database
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nomad_battery_database-1.0.0.tar.gz -
Subject digest:
a2691a132196931b7e9891900c84eefaa8addcc21c0d74dbe995bd10614cf91c - Sigstore transparency entry: 654720913
- Sigstore integration time:
-
Permalink:
FAIRmat-NFDI/nomad-battery-database@6f207c0a2d1f14e5e93affd7283eec828ffe9af7 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/FAIRmat-NFDI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@6f207c0a2d1f14e5e93affd7283eec828ffe9af7 -
Trigger Event:
release
-
Statement type:
File details
Details for the file nomad_battery_database-1.0.0-py3-none-any.whl.
File metadata
- Download URL: nomad_battery_database-1.0.0-py3-none-any.whl
- Upload date:
- Size: 17.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
691ee452762c33ad335b9fb6bc88230d2cd4cf06ae8cd3bf91ae9bba41b29454
|
|
| MD5 |
b20fd88414262e6e7bc6e6ec154b0fcc
|
|
| BLAKE2b-256 |
ef4cde16541ea61e2a48dcba2d8544f826883f6b143268d74fbd6dbe229d88d7
|
Provenance
The following attestation bundles were made for nomad_battery_database-1.0.0-py3-none-any.whl:
Publisher:
python-publish.yml on FAIRmat-NFDI/nomad-battery-database
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
nomad_battery_database-1.0.0-py3-none-any.whl -
Subject digest:
691ee452762c33ad335b9fb6bc88230d2cd4cf06ae8cd3bf91ae9bba41b29454 - Sigstore transparency entry: 654720978
- Sigstore integration time:
-
Permalink:
FAIRmat-NFDI/nomad-battery-database@6f207c0a2d1f14e5e93affd7283eec828ffe9af7 -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/FAIRmat-NFDI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@6f207c0a2d1f14e5e93affd7283eec828ffe9af7 -
Trigger Event:
release
-
Statement type: