Metadata-Version: 2.4
Name: homebrewlibra
Version: 0.2.2
Summary: Foundation utilities for data I/O, timestamps, and type coercion
Author-email: Alex Glebov <alex.glebov@gmail.com>
Project-URL: Homepage, https://github.com/Alex-Glebov/HomeBrewLibra
Project-URL: Repository, https://github.com/Alex-Glebov/HomeBrewLibra
Project-URL: Issues, https://github.com/Alex-Glebov/HomeBrewLibra/issues
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: numpy>=1.24.0
Requires-Dist: pandas>=2.0.0
Provides-Extra: io
Requires-Dist: pyarrow>=14.0.0; extra == "io"
Provides-Extra: data
Requires-Dist: homebrewlibra; extra == "data"
Provides-Extra: io-execution
Requires-Dist: homebrewlibra[io]; extra == "io-execution"
Provides-Extra: pipeline
Requires-Dist: homebrewlibra[io]; extra == "pipeline"
Provides-Extra: all
Requires-Dist: pyarrow>=14.0.0; extra == "all"
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: ruff>=0.5; extra == "dev"
Requires-Dist: black>=24.0; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest-cov>=5.0; extra == "test"
Provides-Extra: docs
Requires-Dist: mkdocs>=1.6; extra == "docs"
Dynamic: license-file

# HomeBrewLibra

Modular utilities for market data processing and analysis.

## Installation

### Minimal (core only)
```bash
pip install homebrewlibra
```

### With I/O helpers (feather, CSV)
```bash
pip install "homebrewlibra[io]"
```

### For data preparation (market + data + I/O)
```bash
pip install "homebrewlibra[market,data,io]"
```

### For pipeline orchestration (I/O + atoms + templates)
```bash
pip install "homebrewlibra[pipeline]"
```

### For exchange connectivity
```bash
pip install "homebrewlibra[exchange]"
```

### With plotting
```bash
pip install "homebrewlibra[plot]"
```

### Everything (backward compatible)
```bash
pip install "homebrewlibra[all]"
```

## Subpackages

| Subpackage | Extras | Dependencies | Description |
|------------|--------|-------------|-------------|
| `core` | (none) | pandas, numpy | Shared utilities: timestamp parsing, field mapping |
| `helper_market` | `[market]` | core | Trade splitting, grouping, peak detection helpers |
| `helper_data` | `[data]` | core | DataFrame combination, index analysis |
| `helper_feather` | `[io]` | pyarrow | Feather file I/O |
| `helper_csv` | `[io]` | (none) | CSV file I/O |
| `helper_io` | `[io]` | core | Step execution, file caching |
| `pipeline` | `[pipeline]` | `[io]` | Template-based I/O, atomic chain helpers |
| `helper_exchange` | `[exchange]` | ccxt, requests | Exchange API connectivity |
| `helper_plot` | `[plot]` | matplotlib | Plotting tools |
| `gantt_chart` | `[chart]` | matplotlib | Gantt chart generation |

## Changes in 0.2.2

- **Added**: `pipeline` subpackage — template-based file I/O dispatcher, atomic chain helpers (`rename_columns`, `select_columns`, `join_ddf`, `fillna_rules`), and template variable resolution with mask-based parsing.
- **Added**: `[pipeline]` extra that pulls in `[io]`.
- **Build**: Switched from `poetry-core` to `setuptools`.

## Changes in 0.1.0

- **Removed**: `helper_model` (ML utilities). Use `model-core` package instead.
- **Added**: `core` subpackage to break circular imports.
- **Added**: Optional extras `[io]`, `[market]`, `[data]`, `[exchange]`, `[plot]`, `[all]`.
- **Changed**: `pyproject.toml` now declares minimal core deps; heavy deps moved to extras.

## Contributing

Please [fork this project on GitHub](https://github.com/Alex-Glebov/HomeBrewLibra) and send a pull request.
