Metadata-Version: 2.4
Name: cellpycore
Version: 0.1.2
Summary: Add your description here
License-Expression: MIT
License-File: LICENSE
Keywords: battery,cellpy,core
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Build Tools
Requires-Python: >=3.13
Requires-Dist: duckdb-engine>=0.17.0
Requires-Dist: duckdb>=1.2.2
Requires-Dist: narwhals>=1.38.0
Requires-Dist: pandas>=2.2.3
Requires-Dist: polars>=1.29.0
Requires-Dist: pyarrow>=20.0.0
Requires-Dist: sqlalchemy>=2.0.40
Provides-Extra: units
Requires-Dist: pint>=0.25; extra == 'units'
Description-Content-Type: text/markdown

# cellpy-core

## Installing

Available on PyPI as [`cellpycore`](https://pypi.org/project/cellpycore/):

```bash
pip install cellpycore
```

Source: <https://github.com/cellpy/cellpy-core>

## Documentation

- [Using cellpy-core standalone (slim-consumer guide)](docs/standalone-use.md) —
  get step tables and per-cycle summaries from a native-schema polars frame
  without full cellpy.
- [Harmonized raw format specification](docs/data_format_specifications/harmonized_raw.md)
- [The Data object](docs/data-object-definition.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`:

```bash
pip install uv
```

### Development Workflow

1. Create and activate a virtual environment:

```bash
uv venv
source .venv/bin/activate  # On Unix/macOS
# OR
.venv\Scripts\activate     # On Windows
```

2. Install development dependencies:

```bash
uv pip install -e ".[dev]"
```

3. Adding new dependencies:

```bash
# Add a new package
uv add <package-name>

# Add a new development package
uv add --dev <package-name>
```

4. Updating dependencies:

```bash
# Update all packages
uv sync
```

5. Running tests:

```bash
pytest
```

### Common Commands

- List installed packages: `uv pip list`
- Remove a package: `uv remove <package-name>`
- Show package info: `uv pip show <package-name>`
- Export requirements: `uv pip freeze > requirements.txt`

For more information about `uv`, visit the [official documentation](https://github.com/astral-sh/uv).
