AESB: Advanced Energy Storage Analytics
aesb is a Python package for fetching, processing, analyzing, and visualizing battery cell data from various manufacturing databases. It is designed to help engineers and data scientists monitor battery quality, identify anomalies, and understand cell behavior.
Key Features
- Data Fetching:
- Connects to multiple database systems (MySQL, Doris) to retrieve battery cell data.
- Fetches data based on cell IDs, date ranges, or specific manufacturing processes (CP).
- Retrieves detailed FTP curve data for in-depth analysis.
- Handles data from different manufacturing bases (e.g., 'jy', 'sy', 'ordos').
- Data Processing:
- Removes rework data to ensure analysis is based on first-pass results.
- Enriches data with defect information.
- Calculates dQ/dV, a key metric for battery health analysis.
- Data Visualization:
- Generates various plots to visualize cell characteristics and compare them with their peers.
- Analyzes and plots feature distributions to identify outliers.
- Visualizes FTP curves to understand charging and discharging behavior.
- Data Management:
- Provides a unified
BatteryDataManagerclass to streamline data operations. - Allows uploading processed data back to a database.
- Enables marking cells with defect codes directly through an API.
- Provides a unified
Installation
To install the project, you can use pip:
pip install .
Usage
To use the project, you can import the package and use the BatteryDataManager class:
from aesb import BatteryDataManager
# Initialize the data manager for a specific manufacturing base and line
dm = BatteryDataManager(base='jy', wip_line='JYP1')
# Get data for a list of cell IDs
cell_data = dm.get_data_by_cell_ids(['cell_id_1', 'cell_id_2'], cp_names=['CAP', 'FOR'])
# Get FTP curve data for a cell
curve_data = dm.get_curves_by_cell_ids(['cell_id_1'], proc='CAP')
# Analyze a cell and visualize its characteristics
dm.analyze_cell_cp('cell_id_1')
Development
To set up the development environment, first create a virtual environment:
python3 -m venv venv
source venv/bin/activate
Then, install the dependencies:
pip install -r requirements.txt
To run the tests:
python3 -m pytest
Metadata
Release files for aesb 2.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 | Provenance | |
|---|---|---|---|---|
| aesb-2.0.0.tar.gz | 28.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aesb-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 57.6 kB
Release files / aesb-2.0.0.tar.gz
| Download URL | aesb-2.0.0.tar.gz |
|---|---|
| Size | 28.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
78df52ca019248dc220138489ae195eb1cb2790855e572eeefb7f1a023377d51
|
|
BLAKE2b-256 checksum How to use checksums |
f155c5f290be3fae4470faf8dcf635b41e859c27dec9b15afcfef0ee0e403519
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.5
|
Release files / aesb-2.0.0-py3-none-any.whl
| Download URL | aesb-2.0.0-py3-none-any.whl |
|---|---|
| Size | 29.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
118ddd7b7c826b204009a1680c4165501f5e56756543f2e950d938b794c8b5fb
|
|
BLAKE2b-256 checksum How to use checksums |
4ee53b4de9704e4372517ded2a2da2fad5bb0f041c12f2a4fbb1d042bfee06de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.5
|
Security for aesb 2.0.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.