Core engine for cellpy: fast, thread-safe step and cycle summarization of battery-cycling raw data
Project description
cellpy-core
The core engine of cellpy: fast, thread-safe processing of battery-cycling raw data. Given a raw data frame (polars, native schema — or pandas via the legacy bridge), it finds all steps and cycles and builds per-step and per-cycle summary tables. It is designed to be small, schema-injected, and easy for cellpy developers to build on and extend; instrument loaders, file IO, and unit handling stay out of the core.
import polars as pl
from cellpycore import Data, make_step_table, make_summary
data = Data.from_raw_frame(pl.read_parquet("my_native_raw.parquet"))
make_step_table(data, nom_cap=1.0)
make_summary(data)
print(data.steps, data.summary)
Installing
Available on PyPI as cellpycore:
pip install cellpycore
Source: https://github.com/cellpy/cellpy-core
Documentation
- Using cellpy-core standalone (slim-consumer guide) — get step tables and per-cycle summaries from a native-schema polars frame without full cellpy.
- Harmonized raw format specification
- The Data object
Developing
This project uses uv as the package manager and build tool. uv is a fast Python package installer and resolver, written in Rust.
Prerequisites
- Install
uv:
pip install uv
Development Workflow
- Install all dependencies (creates
.venvautomatically):
uv sync
- Adding new dependencies:
# Add a new package
uv add <package-name>
# Add a new development package
uv add --dev <package-name>
- Running tests:
uv run pytest
Common Commands
- Reinstall dependencies from the lock file:
uv sync - Remove a package:
uv remove <package-name> - Upgrade all packages within constraints:
uv sync --upgrade - Show the dependency tree:
uv tree
For more information about uv, visit the official documentation.
Project details
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 cellpycore-0.1.3.tar.gz.
File metadata
- Download URL: cellpycore-0.1.3.tar.gz
- Upload date:
- Size: 578.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a9d9c7d8ac10eb70e8a4d87f4525d4f69d3d8a5439d79fcc299618e74f3ad99
|
|
| MD5 |
0410a2d44b004159a0df6e5dc053e993
|
|
| BLAKE2b-256 |
a9954d0be731df78907bed8cf2034283588bc774afc9e7c9460ad9c559943cb3
|
Provenance
The following attestation bundles were made for cellpycore-0.1.3.tar.gz:
Publisher:
release.yml on cellpy/cellpy-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cellpycore-0.1.3.tar.gz -
Subject digest:
8a9d9c7d8ac10eb70e8a4d87f4525d4f69d3d8a5439d79fcc299618e74f3ad99 - Sigstore transparency entry: 2072340167
- Sigstore integration time:
-
Permalink:
cellpy/cellpy-core@384bed864fb02f23ee713bf1c0d56f2ca3567df9 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/cellpy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@384bed864fb02f23ee713bf1c0d56f2ca3567df9 -
Trigger Event:
release
-
Statement type:
File details
Details for the file cellpycore-0.1.3-py3-none-any.whl.
File metadata
- Download URL: cellpycore-0.1.3-py3-none-any.whl
- Upload date:
- Size: 70.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c594685a251e2bab9d9542f59e90a93c89ab53e674ef5eb727ca1e87dbef0838
|
|
| MD5 |
75ee04b85841b0f23ae87d67e9887929
|
|
| BLAKE2b-256 |
1b507bd4ac4e6f92b3196da09e3628c33d0fcff009c3c3d06cd04e0a411f4cb3
|
Provenance
The following attestation bundles were made for cellpycore-0.1.3-py3-none-any.whl:
Publisher:
release.yml on cellpy/cellpy-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cellpycore-0.1.3-py3-none-any.whl -
Subject digest:
c594685a251e2bab9d9542f59e90a93c89ab53e674ef5eb727ca1e87dbef0838 - Sigstore transparency entry: 2072340230
- Sigstore integration time:
-
Permalink:
cellpy/cellpy-core@384bed864fb02f23ee713bf1c0d56f2ca3567df9 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/cellpy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@384bed864fb02f23ee713bf1c0d56f2ca3567df9 -
Trigger Event:
release
-
Statement type: