cellpy


Namecellpy JSON
Version 1.0.1.post3 PyPI version JSON
download
home_pagehttps://github.com/jepegit/cellpy
SummaryExtract and manipulate data from battery data testers.
upload_time2024-09-19 18:35:16
maintainerNone
docs_urlNone
authorJan Petter Maehlen
requires_pythonNone
licenseMIT license
keywords cellpy
VCS
bugtrack_url
requirements PyGithub click cookiecutter cryptography dateparser fabric ipykernel ipykernel ipython ipywidgets jinja2_time jupyterlab kaleido lmfit matplotlib notebook numpy openpyxl pandas pint plotly pyodbc python-box python-dotenv requests rich ruamel.yaml scipy setuptools sqlalchemy-access sqlalchemy tables tqdm xlrd charset_normalizer
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <img src="https://raw.githubusercontent.com/jepegit/cellpy/master/docs/_static/cellpy-icon-long.svg" height="100" alt="cellpy-icon">

# **cellpy** - *a library for assisting in analysing batteries and cells*


[![cellpy](https://img.shields.io/pypi/v/cellpy.svg)](https://pypi.python.org/pypi/cellpy)
[![cellpy](https://readthedocs.org/projects/cellpy/badge/?version=latest)](https://cellpy.readthedocs.io/en/latest/?badge=latest)
[![cellpy](https://static.pepy.tech/badge/cellpy)](https://pepy.tech/project/cellpy)

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](https://cellpy.readthedocs.io).

## 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_.

[![DOI](https://joss.theoj.org/papers/10.21105/joss.06236/status.svg)](https://doi.org/10.21105/joss.06236)

## 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](CONTRIBUTING.md).


# 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` and `init(empty=True)` easier method for creating batch with empty pages
* File handling: new fix in `find_files`
* Batch / Utils: refactored and updated `Collectors` (using `plotly`)
* Batch: new summary plotter (using `plotly`)
* Batch: new convenience function for automatically creating batch from batch-file if file exists.
* Batch: added `mark` and `drop` 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 pr `CellpyCell` 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 of `pyyaml`
* 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` to `summary`
* Refactoring - renaming from `step_table` to `steps`
* Refactoring - renaming from `dfdata` to `raw`
* Refactoring - renaming `cellpy.data` to `cellpy.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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/jepegit/cellpy",
    "name": "cellpy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "cellpy",
    "author": "Jan Petter Maehlen",
    "author_email": "jepe@ife.no",
    "download_url": "https://files.pythonhosted.org/packages/76/66/8fa0b5247f93c53eb5123f21a57e7f38bf9d216177db5b98c0122c3039ea/cellpy-1.0.1.post3.tar.gz",
    "platform": null,
    "description": "<img src=\"https://raw.githubusercontent.com/jepegit/cellpy/master/docs/_static/cellpy-icon-long.svg\" height=\"100\" alt=\"cellpy-icon\">\r\n\r\n# **cellpy** - *a library for assisting in analysing batteries and cells*\r\n\r\n\r\n[![cellpy](https://img.shields.io/pypi/v/cellpy.svg)](https://pypi.python.org/pypi/cellpy)\r\n[![cellpy](https://readthedocs.org/projects/cellpy/badge/?version=latest)](https://cellpy.readthedocs.io/en/latest/?badge=latest)\r\n[![cellpy](https://static.pepy.tech/badge/cellpy)](https://pepy.tech/project/cellpy)\r\n\r\nThis Python Package was developed to help the\r\nresearchers at IFE, Norway, in their cumbersome task of\r\ninterpreting and handling data from cycling tests of\r\n\r\n## Features\r\n\r\n* Convert testing data into a common format\r\n* Summarize and compare data\r\n* Filter out the steps of interest\r\n* Process and plot the data\r\n* Do simple and advanced analysis on single datasets as well as collections of datasets\r\n* And more!\r\n\r\n## Documentation\r\n\r\nThe documentation for ``cellpy`` is hosted on [Read the Docs](https://cellpy.readthedocs.io).\r\n\r\n## Installation and dependencies\r\n\r\nThe easiest way to install ``cellpy`` is to install with conda or pip.\r\n\r\nWith conda:\r\n\r\n```\r\nconda install -c conda-forge cellpy\r\n```\r\n\r\nOr if you prefer installing using pip:\r\n\r\n```\r\npython -m pip install cellpy\r\n```\r\n\r\nHave a look at the documentation for more detailed installation procedures, especially\r\nwith respect to \"difficult\" dependencies when installing with pip.\r\n\r\n## License\r\n\r\n``cellpy`` is free software made available under the MIT License.\r\n\r\n## Citing cellpy\r\n\r\nIf you use ``cellpy`` in your work, please cite our paper:\r\n\r\n> Wind J., Ulvestad A., Abdelhamid M., M\u00c3\u00a6hlen J.P. (2024). Cellpy \u00e2\u20ac\u201c an open-source library for processing and analysis of battery testing data. _Journal of Open Source Software, 9(97), 6236_.\r\n\r\n[![DOI](https://joss.theoj.org/papers/10.21105/joss.06236/status.svg)](https://doi.org/10.21105/joss.06236)\r\n\r\n## Contributing\r\n\r\nContributions are welcome, and they are greatly appreciated! Every\r\nlittle bit helps, and credit will always be given. If you want to contribute,\r\nplease have a look at [Contributing Guidelines](CONTRIBUTING.md).\r\n\r\n\r\n# History\r\n\r\n## 1.0.1\r\n\r\n* Utils: `example_data` now includes auto-download of example data\r\n* General: supports only python 3.10 and up to 3.11\r\n* Batch: `naked` and `init(empty=True)` easier method for creating batch with empty pages\r\n* File handling: new fix in `find_files`\r\n* Batch / Utils: refactored and updated `Collectors` (using `plotly`)\r\n* Batch: new summary plotter (using `plotly`)\r\n* Batch: new convenience function for automatically creating batch from batch-file if file exists.\r\n* Batch: added `mark` and `drop` methods\r\n* CLI: added possibility to use custom jupyter executable\r\n* Added checks (`c.has_xxx`) for checking if data has been processed correctly / fix errors in raw/semi-processed data.\r\n* Added possibility to filter on C-rates (`c.get_cycles`)\r\n* Added experimental feature `c.total_time_at_voltage_level` for calculating total time at low/high voltage\r\n* Added experimental instrument reader for neware xlsx files (hopefully not used much because it is very slow)\r\n* Added try-except block for ica post-processing step and add if-clause (suggested by Vajee)\r\n* Fixed several smaller bugs and improved some of the functionality (most notably in `c.get_cap`)\r\n* Added CI for macOS\r\n* Added conda package including `sqlalchemy-access`\r\n* Improved plotting tools\r\n* Improved documentation\r\n* Improved feedback from the CLI\r\n\r\n## 1.0.0 (2023)\r\n\r\n* Unit handling: new unit handling (using pint)\r\n* Unit handling: renaming summary headers\r\n* Unit handling: new cellpy-file-format version\r\n* Unit handling: tool for converting old to new format\r\n* Unit handling: parsing input parameters for units\r\n* Templates: using one repository with sub-folders\r\n* Templates: adding more documentation\r\n* File handling: allow for external raw files (ssh)\r\n* Readers: neware.txt (one version/model)\r\n* Readers: `arbin_sql7` (experimental, @jtgibson91)\r\n* Batch plotting: collectors for both data collection, plotting and saving\r\n* OCV-rlx: improvements of the OCV-rlx tools\r\n* Internals: rename main classes (`CellpyData` -> `CellpyCell`, `Cell` -> `Data`)\r\n* Internals: rename `.cell` property to `.data`\r\n* Internals: allow for only one `Data` object pr `CellpyCell` object\r\n* CLI: general improvements and bug fixes\r\n* CLI: move editing of db-file to the edit sub-command\r\n\r\n\r\n## 0.4.3 (2023)\r\n\r\n* Neware txt loader (supports one specific format only, other formats will have to wait for v.1.0)\r\n\r\n## 0.4.2 (2022)\r\n\r\n* Changed definition of Coulombic Difference (negative of previous)\r\n* Updated loaders with hooks and additional base class `TxtLoader` with configuration mechanism\r\n* Support for Maccor txt files\r\n* Supports only python 3.8 and up\r\n* Optional parameters through batch and pages\r\n* Several bug fixes and minor improvements / adjustments\r\n* Restrict use of instrument label to only one option\r\n* Fix bug in example file (@kevinsmia1939)\r\n\r\n## 0.4.1 (2021)\r\n\r\n* Updated documentations\r\n* CLI improvements\r\n* New argument for get_cap: `max_cycle`\r\n* Reverting from using Documents to user home for location of prm file in windows.\r\n* Easyplot by Amund\r\n* Arbin sql reader by Muhammad\r\n\r\n## 0.4.0 (2020)\r\n\r\n* Reading arbin .res files with auxiliary data should now work.\r\n* Many bugs have been removed - many new introduced.\r\n* Now on conda-forge (can be installed using conda).\r\n\r\n## 0.4.0 a2 (2020)\r\n\r\n* Reading PEC files now updated and should work\r\n\r\n## 0.4.0 a1 (2020)\r\n\r\n* New column names (lowercase and underscore)\r\n* New batch concatenating and plotting routines\r\n\r\n## 0.3.3 (2020)\r\n\r\n* Switching from git-flow to github-flow\r\n* New cli options for running batches\r\n* cli option for creating template notebooks\r\n* Using `ruamel.yaml` instead of `pyyaml`\r\n* Using `python-box` > 4\r\n* Several bug-fixes\r\n\r\n## 0.3.2 (2019)\r\n\r\n* Starting fixing documentation\r\n* TODO: create conda package\r\n* TODO: extensive tests\r\n\r\n## 0.3.1 (2019)\r\n\r\n* Refactoring - renaming from `dfsummary` to `summary`\r\n* Refactoring - renaming from `step_table` to `steps`\r\n* Refactoring - renaming from `dfdata` to `raw`\r\n* Refactoring - renaming `cellpy.data` to `cellpy.get`\r\n* Updated save and load cellpy files allowing for new naming\r\n* Implemented cellpy new and cellpy serve cli functionality\r\n\r\n## 0.3.0 (2019)\r\n\r\n* New batch-feature\r\n* Improved make-steps and make-summary functionality\r\n* Improved cmd-line interface for setup\r\n* More helper functions and tools\r\n* Experimental support for other instruments\r\n* invoke tasks for developers\r\n\r\n## 0.2.1 (2018)\r\n\r\n* Allow for using mdbtools also on win\r\n* Slightly faster find_files using cache and `fnmatch`\r\n* Bug fix: error in sorting files when using `pathlib` fixed\r\n\r\n## 0.2.0 (2018-10-17)\r\n\r\n* Improved creation of step tables (much faster)\r\n* Default compression on cellpy (hdf5) files\r\n* Bug fixes\r\n\r\n## 0.1.22 (2018-07-17)\r\n\r\n* Parameters can be set by dot-notation (`python-box`).\r\n* The parameter Instruments.cell_configuration is removed.\r\n* Options for getting voltage curves in different formats.\r\n* Fixed python 3.6 issues with Read the Docs.\r\n* Can now also be used on posix (the user must install `mdb_tools` first).\r\n* Improved logging allowing for custom log-directory.\r\n\r\n## 0.1.21 (2018-06-09)\r\n\r\n* No legacy python.\r\n\r\n## 0.1.0 (2016-09-26)\r\n\r\n* First release on PyPI.\r\n",
    "bugtrack_url": null,
    "license": "MIT license",
    "summary": "Extract and manipulate data from battery data testers.",
    "version": "1.0.1.post3",
    "project_urls": {
        "Homepage": "https://github.com/jepegit/cellpy"
    },
    "split_keywords": [
        "cellpy"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8b4df888c9dc19a021ad62a793874618bb3483eaacc313d4a1d78f26591624ec",
                "md5": "2c3b8d73957d46723dfe0b5caf7edb00",
                "sha256": "ed0749f4b041270e9f500763e9d74417e729699d0041760fa2d00c96b069c381"
            },
            "downloads": -1,
            "filename": "cellpy-1.0.1.post3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2c3b8d73957d46723dfe0b5caf7edb00",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 356024,
            "upload_time": "2024-09-19T18:35:14",
            "upload_time_iso_8601": "2024-09-19T18:35:14.732426Z",
            "url": "https://files.pythonhosted.org/packages/8b/4d/f888c9dc19a021ad62a793874618bb3483eaacc313d4a1d78f26591624ec/cellpy-1.0.1.post3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "76668fa0b5247f93c53eb5123f21a57e7f38bf9d216177db5b98c0122c3039ea",
                "md5": "507f1494fdd685da31e4fdd862deb838",
                "sha256": "8bffcbc30443d1aff2ad070306bb3da65f5096f42c3f2cc37317f1fd54381010"
            },
            "downloads": -1,
            "filename": "cellpy-1.0.1.post3.tar.gz",
            "has_sig": false,
            "md5_digest": "507f1494fdd685da31e4fdd862deb838",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 320774,
            "upload_time": "2024-09-19T18:35:16",
            "upload_time_iso_8601": "2024-09-19T18:35:16.573936Z",
            "url": "https://files.pythonhosted.org/packages/76/66/8fa0b5247f93c53eb5123f21a57e7f38bf9d216177db5b98c0122c3039ea/cellpy-1.0.1.post3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-09-19 18:35:16",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jepegit",
    "github_project": "cellpy",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "appveyor": true,
    "requirements": [
        {
            "name": "PyGithub",
            "specs": [
                [
                    ">=",
                    "1.43.0"
                ]
            ]
        },
        {
            "name": "click",
            "specs": [
                [
                    ">=",
                    "6.6"
                ]
            ]
        },
        {
            "name": "cookiecutter",
            "specs": []
        },
        {
            "name": "cryptography",
            "specs": [
                [
                    ">=",
                    "1.5.2"
                ]
            ]
        },
        {
            "name": "dateparser",
            "specs": []
        },
        {
            "name": "fabric",
            "specs": []
        },
        {
            "name": "ipykernel",
            "specs": []
        },
        {
            "name": "ipykernel",
            "specs": []
        },
        {
            "name": "ipython",
            "specs": []
        },
        {
            "name": "ipywidgets",
            "specs": []
        },
        {
            "name": "jinja2_time",
            "specs": []
        },
        {
            "name": "jupyterlab",
            "specs": []
        },
        {
            "name": "kaleido",
            "specs": []
        },
        {
            "name": "lmfit",
            "specs": [
                [
                    ">=",
                    "0.9.7"
                ]
            ]
        },
        {
            "name": "matplotlib",
            "specs": [
                [
                    ">=",
                    "1.5.3"
                ]
            ]
        },
        {
            "name": "notebook",
            "specs": []
        },
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "2.0"
                ]
            ]
        },
        {
            "name": "openpyxl",
            "specs": []
        },
        {
            "name": "pandas",
            "specs": [
                [
                    "<=",
                    "2.1"
                ]
            ]
        },
        {
            "name": "pint",
            "specs": []
        },
        {
            "name": "plotly",
            "specs": []
        },
        {
            "name": "pyodbc",
            "specs": [
                [
                    ">=",
                    "4.0.16"
                ]
            ]
        },
        {
            "name": "python-box",
            "specs": []
        },
        {
            "name": "python-dotenv",
            "specs": []
        },
        {
            "name": "requests",
            "specs": []
        },
        {
            "name": "rich",
            "specs": []
        },
        {
            "name": "ruamel.yaml",
            "specs": []
        },
        {
            "name": "scipy",
            "specs": [
                [
                    ">=",
                    "0.19.0"
                ]
            ]
        },
        {
            "name": "setuptools",
            "specs": [
                [
                    ">=",
                    "35.0.1"
                ]
            ]
        },
        {
            "name": "sqlalchemy-access",
            "specs": []
        },
        {
            "name": "sqlalchemy",
            "specs": [
                [
                    ">=",
                    "2.0.0"
                ]
            ]
        },
        {
            "name": "tables",
            "specs": [
                [
                    ">=",
                    "3.7"
                ]
            ]
        },
        {
            "name": "tqdm",
            "specs": [
                [
                    ">=",
                    "4.44.1"
                ]
            ]
        },
        {
            "name": "xlrd",
            "specs": []
        },
        {
            "name": "charset_normalizer",
            "specs": []
        }
    ],
    "lcname": "cellpy"
}
        
Elapsed time: 2.29294s