Metadata-Version: 2.4
Name: balancing-services-cli
Version: 1.6.0.post4
Summary: CLI for accessing European electricity balancing market data via the Balancing Services REST API
Project-URL: Homepage, https://balancing.services
Project-URL: Documentation, https://api.balancing.services/v1/documentation
Project-URL: Repository, https://github.com/balancing-services/rest-api
Author: Balancing Services Team
License: MIT
Keywords: api,balancing,cli,electricity,energy,europe,grid,imbalance,market,power
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Requires-Dist: balancing-services<1.7.0,>=1.6.0
Requires-Dist: click<9.0.0,>=8.0.0
Provides-Extra: dev
Requires-Dist: pyarrow>=14.0.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.8.0; extra == 'dev'
Provides-Extra: parquet
Requires-Dist: pyarrow>=14.0.0; extra == 'parquet'
Description-Content-Type: text/markdown

# balancing-services-cli

Command-line interface for the [Balancing Services REST API](https://balancing.services) - access European electricity balancing market data directly from your terminal.

## Installation

```bash
uv add balancing-services-cli
```

Or with pip:

```bash
pip install balancing-services-cli
```

Or run without installing via `uvx`:

```bash
uvx balancing-services-cli imbalance-prices --area EE --start 2025-01-01T00:00:00Z --end 2025-01-02T00:00:00Z
```

## Authentication

Provide your API token via the `--token` option:

```bash
bs-cli --token your-token-here imbalance-prices --area EE --start 2025-01-01T00:00:00Z --end 2025-01-02T00:00:00Z
```

## Usage

```bash
# CSV to stdout (default)
bs-cli imbalance-prices --area EE --start 2025-01-01T00:00:00Z --end 2025-01-02T00:00:00Z

# Save to CSV file
bs-cli imbalance-prices --area EE --start 2025-01-01T00:00:00Z --end 2025-01-02T00:00:00Z -o prices.csv

# Save to Parquet
bs-cli imbalance-prices --area EE --start 2025-01-01T00:00:00Z --end 2025-01-02T00:00:00Z -o prices.parquet

# Balancing energy commands (require --reserve-type)
bs-cli energy-prices --area EE --start 2025-01-01T00:00:00Z --end 2025-01-02T00:00:00Z --reserve-type aFRR
bs-cli energy-bids --area EE --start 2025-01-01T00:00:00Z --end 2025-01-02T00:00:00Z --reserve-type mFRR

# Balancing capacity commands (require --reserve-type)
bs-cli capacity-prices --area EE --start 2025-01-01T00:00:00Z --end 2025-01-02T00:00:00Z --reserve-type aFRR
bs-cli capacity-bids --area EE --start 2025-01-01T00:00:00Z --end 2025-01-02T00:00:00Z --reserve-type FCR
```

## Commands

| Command | Description |
|---|---|
| `imbalance-prices` | Imbalance prices |
| `imbalance-volumes` | Imbalance total volumes |
| `energy-activated` | Balancing energy activated volumes |
| `energy-offered` | Balancing energy offered volumes |
| `energy-prices` | Balancing energy prices |
| `energy-bids` | Balancing energy bids (auto-paginates) |
| `capacity-bids` | Balancing capacity bids (auto-paginates) |
| `capacity-prices` | Balancing capacity prices |
| `capacity-procured` | Balancing capacity procured volumes |
| `capacity-cross-zonal` | Cross-zonal capacity allocation |

## Output Formats

- **CSV** (default): Written to stdout or file. Use with Excel, DuckDB, Polars, pandas, etc.
- **Parquet**: Must specify `-o file.parquet`.


## Global Options

| Option | Description |
|---|---|
| `--token` | API bearer token |
| `-o, --output` | Output file path (auto-detects format from `.csv`/`.parquet` extension) |
| `-f, --format` | Override output format (`csv`, `parquet`) |
