Extract and manipulate data from battery data testers.
Project description
cellpy - a library for assisting in analysing batteries and cells
This Python Package was developed to help the researchers at IFE, Norway, in their cumbersome task of interpreting and handling data from cycling tests of
Features
- Convert testing data into a common format
- Summarize and compare data
- Filter out the steps of interest
- Process and plot the data
- Do simple and advanced analysis on single datasets as well as collections of datasets
- And more!
Documentation
The documentation for cellpy
is hosted on Read the Docs.
Installation and dependencies
The easiest way to install cellpy
is to install with conda or pip.
With conda:
conda install -c conda-forge cellpy
Or if you prefer installing using pip:
python -m pip install cellpy
Have a look at the documentation for more detailed installation procedures, especially with respect to "difficult" dependencies when installing with pip.
License
cellpy
is free software made available under the MIT License.
Citing cellpy
If you use cellpy
in your work, please cite our paper:
Wind J., Ulvestad A., Abdelhamid M., Mæhlen J.P. (2024). Cellpy – an open-source library for processing and analysis of battery testing data. Journal of Open Source Software, 9(97), 6236.
Contributing
Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given. If you want to contribute, please have a look at Contributing Guidelines.
History
1.0.1
- Utils:
example_data
now includes auto-download of example data - General: supports only python 3.10 and up to 3.11
- Batch:
naked
andinit(empty=True)
easier method for creating batch with empty pages - File handling: new fix in
find_files
- Batch / Utils: refactored and updated
Collectors
(usingplotly
) - Batch: new summary plotter (using
plotly
) - Batch: new convenience function for automatically creating batch from batch-file if file exists.
- Batch: added
mark
anddrop
methods - CLI: added possibility to use custom jupyter executable
- Added checks (
c.has_xxx
) for checking if data has been processed correctly / fix errors in raw/semi-processed data. - Added possibility to filter on C-rates (
c.get_cycles
) - Added experimental feature
c.total_time_at_voltage_level
for calculating total time at low/high voltage - Added experimental instrument reader for neware xlsx files (hopefully not used much because it is very slow)
- Added try-except block for ica post-processing step and add if-clause (suggested by Vajee)
- Fixed several smaller bugs and improved some of the functionality (most notably in
c.get_cap
) - Added CI for macOS
- Added conda package including
sqlalchemy-access
- Improved plotting tools
- Improved documentation
- Improved feedback from the CLI
1.0.0 (2023)
- Unit handling: new unit handling (using pint)
- Unit handling: renaming summary headers
- Unit handling: new cellpy-file-format version
- Unit handling: tool for converting old to new format
- Unit handling: parsing input parameters for units
- Templates: using one repository with sub-folders
- Templates: adding more documentation
- File handling: allow for external raw files (ssh)
- Readers: neware.txt (one version/model)
- Readers:
arbin_sql7
(experimental, @jtgibson91) - Batch plotting: collectors for both data collection, plotting and saving
- OCV-rlx: improvements of the OCV-rlx tools
- Internals: rename main classes (
CellpyData
->CellpyCell
,Cell
->Data
) - Internals: rename
.cell
property to.data
- Internals: allow for only one
Data
object prCellpyCell
object - CLI: general improvements and bug fixes
- CLI: move editing of db-file to the edit sub-command
0.4.3 (2023)
- Neware txt loader (supports one specific format only, other formats will have to wait for v.1.0)
0.4.2 (2022)
- Changed definition of Coulombic Difference (negative of previous)
- Updated loaders with hooks and additional base class
TxtLoader
with configuration mechanism - Support for Maccor txt files
- Supports only python 3.8 and up
- Optional parameters through batch and pages
- Several bug fixes and minor improvements / adjustments
- Restrict use of instrument label to only one option
- Fix bug in example file (@kevinsmia1939)
0.4.1 (2021)
- Updated documentations
- CLI improvements
- New argument for get_cap:
max_cycle
- Reverting from using Documents to user home for location of prm file in windows.
- Easyplot by Amund
- Arbin sql reader by Muhammad
0.4.0 (2020)
- Reading arbin .res files with auxiliary data should now work.
- Many bugs have been removed - many new introduced.
- Now on conda-forge (can be installed using conda).
0.4.0 a2 (2020)
- Reading PEC files now updated and should work
0.4.0 a1 (2020)
- New column names (lowercase and underscore)
- New batch concatenating and plotting routines
0.3.3 (2020)
- Switching from git-flow to github-flow
- New cli options for running batches
- cli option for creating template notebooks
- Using
ruamel.yaml
instead ofpyyaml
- Using
python-box
> 4 - Several bug-fixes
0.3.2 (2019)
- Starting fixing documentation
- TODO: create conda package
- TODO: extensive tests
0.3.1 (2019)
- Refactoring - renaming from
dfsummary
tosummary
- Refactoring - renaming from
step_table
tosteps
- Refactoring - renaming from
dfdata
toraw
- Refactoring - renaming
cellpy.data
tocellpy.get
- Updated save and load cellpy files allowing for new naming
- Implemented cellpy new and cellpy serve cli functionality
0.3.0 (2019)
- New batch-feature
- Improved make-steps and make-summary functionality
- Improved cmd-line interface for setup
- More helper functions and tools
- Experimental support for other instruments
- invoke tasks for developers
0.2.1 (2018)
- Allow for using mdbtools also on win
- Slightly faster find_files using cache and
fnmatch
- Bug fix: error in sorting files when using
pathlib
fixed
0.2.0 (2018-10-17)
- Improved creation of step tables (much faster)
- Default compression on cellpy (hdf5) files
- Bug fixes
0.1.22 (2018-07-17)
- Parameters can be set by dot-notation (
python-box
). - The parameter Instruments.cell_configuration is removed.
- Options for getting voltage curves in different formats.
- Fixed python 3.6 issues with Read the Docs.
- Can now also be used on posix (the user must install
mdb_tools
first). - Improved logging allowing for custom log-directory.
0.1.21 (2018-06-09)
- No legacy python.
0.1.0 (2016-09-26)
- First release on PyPI.
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
File details
Details for the file cellpy-1.0.1.post3.tar.gz
.
File metadata
- Download URL: cellpy-1.0.1.post3.tar.gz
- Upload date:
- Size: 320.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8bffcbc30443d1aff2ad070306bb3da65f5096f42c3f2cc37317f1fd54381010 |
|
MD5 | 507f1494fdd685da31e4fdd862deb838 |
|
BLAKE2b-256 | 76668fa0b5247f93c53eb5123f21a57e7f38bf9d216177db5b98c0122c3039ea |
File details
Details for the file cellpy-1.0.1.post3-py3-none-any.whl
.
File metadata
- Download URL: cellpy-1.0.1.post3-py3-none-any.whl
- Upload date:
- Size: 356.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed0749f4b041270e9f500763e9d74417e729699d0041760fa2d00c96b069c381 |
|
MD5 | 2c3b8d73957d46723dfe0b5caf7edb00 |
|
BLAKE2b-256 | 8b4df888c9dc19a021ad62a793874618bb3483eaacc313d4a1d78f26591624ec |