Metadata-Version: 2.4
Name: alpenstock
Version: 1.4.1
Summary: A collection of handy Python utilities designed to help developers tackle the challenges of Python programming.
Author-email: jcav <micojcav@outlook.com>
Project-URL: Homepage, https://github.com/gjcav/alpenstock/
Project-URL: Documentation, https://gjcav.github.io/alpenstock/
Project-URL: Repository, https://github.com/gjcav/alpenstock/
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: loguru>=0.7.0
Requires-Dist: pydantic>=2.3.0
Requires-Dist: attrs
Requires-Dist: jaxtyping
Requires-Dist: wadler-lindig
Requires-Dist: ruamel-yaml>=0.18
Provides-Extra: dev
Requires-Dist: ipykernel; extra == "dev"
Requires-Dist: lmdb; extra == "dev"
Requires-Dist: numpy; extra == "dev"
Requires-Dist: torch; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pytest-asyncio; extra == "dev"
Requires-Dist: pyright==1.1.350; extra == "dev"
Requires-Dist: mkdocs-material; extra == "dev"
Requires-Dist: mkdocstrings[python]; extra == "dev"
Requires-Dist: mkdocs-jupyter; extra == "dev"
Requires-Dist: mkdocs-gen-files; extra == "dev"
Requires-Dist: mkdocs-awesome-nav; extra == "dev"
Requires-Dist: mkdocs-glightbox; extra == "dev"
Requires-Dist: mkdocs-api-autonav; extra == "dev"
Requires-Dist: griffe-pydantic; extra == "dev"
Requires-Dist: griffe-warnings-deprecated; extra == "dev"
Requires-Dist: build; extra == "dev"
Requires-Dist: twine; extra == "dev"
Dynamic: license-file

# Alpenstock

Alpenstock is a collection of handy Python utilities designed to help me tackle the challenges of Python programming. 

> Like a trusty alpenstock for mountain climbers, this project aims to provide useful tools and helpers for my Python journey.


## Highlights

**Settings Management**:

- Type-safe, fully-validated settings management using [Pydantic](https://docs.pydantic.dev/latest/).
- YAML support & automatic environment variable overrides.
- Comments and key orders preserved when saving settings back to file.
- For more details, see this [guide](https://gjcav.github.io/alpenstock/guides/settings/).

**Decorator-Only Pipeline**:

- Lightweight stage-based pipeline with cache and resume semantics.
- Multiple `spec/input/state/output` fields are supported.
- For usage and constraints, see this [guide](https://gjcav.github.io/alpenstock/guides/pipeline/).
