Skip to main content

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

Full documentation (built with Zensical, hosted on Read the Docs): https://cellpy-core.readthedocs.io/

Key pages:

Build the docs locally with uv run --group docs zensical serve (config in zensical.toml; notebook-regeneration instructions in docs/examples/index.md).

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

  1. Install uv:
pip install uv

Development Workflow

  1. Install all dependencies (creates .venv automatically):
uv sync
  1. Adding new dependencies:
# Add a new package
uv add <package-name>

# Add a new development package
uv add --dev <package-name>
  1. 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

cellpycore-0.1.5.tar.gz (680.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cellpycore-0.1.5-py3-none-any.whl (74.2 kB view details)

Uploaded Python 3

File details

Details for the file cellpycore-0.1.5.tar.gz.

File metadata

  • Download URL: cellpycore-0.1.5.tar.gz
  • Upload date:
  • Size: 680.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cellpycore-0.1.5.tar.gz
Algorithm Hash digest
SHA256 68f45fc6e510fa8ae8e0172b0061eab7e0b79b16ec2de23fe7d49327c8502f47
MD5 091d0e85c002111316192f7cb2b0f5c0
BLAKE2b-256 26cdd5c16c36dbb63925af27f0f77c58ea3812e4dcd9ef25d8fbbf10dfcea80e

See more details on using hashes here.

Provenance

The following attestation bundles were made for cellpycore-0.1.5.tar.gz:

Publisher: release.yml on cellpy/cellpy-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cellpycore-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: cellpycore-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 74.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for cellpycore-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f0febeb4391b1ddb8aacbdce576c5eed3ed3a5f619e60e8147e8b3de4995cc7c
MD5 dc8a9635f5fa0c29a16458824b0a4929
BLAKE2b-256 cc6fbe4dc8d576fa7b1922fe4ebc5c6c1ccf15b3b4566742657d977c76c2b227

See more details on using hashes here.

Provenance

The following attestation bundles were made for cellpycore-0.1.5-py3-none-any.whl:

Publisher: release.yml on cellpy/cellpy-core

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page