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
Metadata
Release files for nomad-battery-database 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nomad_battery_database-1.0.0.tar.gz | 1.9 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nomad_battery_database-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.9 MB
Release files / nomad_battery_database-1.0.0.tar.gz
| Download URL | nomad_battery_database-1.0.0.tar.gz |
|---|---|
| Size | 1.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a2691a132196931b7e9891900c84eefaa8addcc21c0d74dbe995bd10614cf91c
|
|
BLAKE2b-256 checksum How to use checksums |
025073c56bb8d9eeff0554cc1d8984db955192481e72bdd682510073e1d46031
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 30, 2025.
Transparency logRelease files / nomad_battery_database-1.0.0-py3-none-any.whl
| Download URL | nomad_battery_database-1.0.0-py3-none-any.whl |
|---|---|
| Size | 17.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
691ee452762c33ad335b9fb6bc88230d2cd4cf06ae8cd3bf91ae9bba41b29454
|
|
BLAKE2b-256 checksum How to use checksums |
ef4cde16541ea61e2a48dcba2d8544f826883f6b143268d74fbd6dbe229d88d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 30, 2025.
Transparency log