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

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.3.tar.gz (578.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.3-py3-none-any.whl (70.3 kB view details)

Uploaded Python 3

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

Hashes for cellpycore-0.1.3.tar.gz
Algorithm Hash digest
SHA256 8a9d9c7d8ac10eb70e8a4d87f4525d4f69d3d8a5439d79fcc299618e74f3ad99
MD5 0410a2d44b004159a0df6e5dc053e993
BLAKE2b-256 a9954d0be731df78907bed8cf2034283588bc774afc9e7c9460ad9c559943cb3

See more details on using hashes here.

Provenance

The following attestation bundles were made for cellpycore-0.1.3.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.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

Hashes for cellpycore-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c594685a251e2bab9d9542f59e90a93c89ab53e674ef5eb727ca1e87dbef0838
MD5 75ee04b85841b0f23ae87d67e9887929
BLAKE2b-256 1b507bd4ac4e6f92b3196da09e3628c33d0fcff009c3c3d06cd04e0a411f4cb3

See more details on using hashes here.

Provenance

The following attestation bundles were made for cellpycore-0.1.3-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