Metadata-Version: 2.4
Name: collegeplan
Version: 0.3.0
Summary: A deterministic college cost projection and savings planning engine
Project-URL: Homepage, https://engineerinvestor.github.io/collegeplan/
Project-URL: Repository, https://github.com/engineerinvestor/collegeplan
Project-URL: Documentation, https://engineerinvestor.github.io/collegeplan/
Project-URL: Issues, https://github.com/engineerinvestor/collegeplan/issues
Project-URL: Changelog, https://engineerinvestor.github.io/collegeplan/changelog/
Author-email: Engineer Investor <egr.investor@gmail.com>
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: 529,college,education,financial-planning,savings
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Office/Business :: Financial
Classifier: Typing :: Typed
Requires-Python: >=3.11
Provides-Extra: cli
Requires-Dist: pyyaml>=6.0; extra == 'cli'
Provides-Extra: dev
Requires-Dist: mypy; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: pyyaml>=6.0; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs-material; extra == 'docs'
Requires-Dist: mkdocstrings[python]; extra == 'docs'
Provides-Extra: pandas
Requires-Dist: pandas>=1.3.0; extra == 'pandas'
Description-Content-Type: text/markdown

# collegeplan

[![CI](https://github.com/engineerinvestor/collegeplan/actions/workflows/ci.yml/badge.svg)](https://github.com/engineerinvestor/collegeplan/actions/workflows/ci.yml)
[![PyPI](https://img.shields.io/pypi/v/collegeplan)](https://pypi.org/project/collegeplan/)
[![Python](https://img.shields.io/pypi/pyversions/collegeplan)](https://pypi.org/project/collegeplan/)
[![License](https://img.shields.io/github/license/engineerinvestor/collegeplan)](LICENSE)
[![Docs](https://img.shields.io/badge/docs-GitHub%20Pages-blue)](https://engineerinvestor.github.io/collegeplan/)
[![Downloads](https://img.shields.io/pypi/dm/collegeplan)](https://pypi.org/project/collegeplan/)

A pure-Python, zero-dependency college cost projection and savings planning engine.

## Install

```bash
pip install collegeplan
```

## Quick Start

```python
from collegeplan import (
    Child, Assumptions, project_child_plan,
    make_private_school_profile,
)

child = Child(
    name="Alice",
    current_age=5,
    cost_profile=make_private_school_profile(),  # $65k, 5% growth
    start_age=18,
    attendance_years=4,
    current_529_balance=25_000,
    annual_contribution=6_000,
)
assumptions = Assumptions(expected_return_nominal=0.07, general_inflation=0.03)

result = project_child_plan(child, assumptions)
print(f"Total cost: ${result.projected_total_cost:,.0f}")
print(f"Funded: {result.funded_ratio:.1%}")
```

## Documentation

Full documentation is available at [engineerinvestor.github.io/collegeplan](https://engineerinvestor.github.io/collegeplan/).

## Development

```bash
pip install -e ".[dev]"
pytest
pytest --cov=collegeplan
ruff check src/ tests/
mypy src/collegeplan/
```

## License

Apache 2.0. See [LICENSE](LICENSE) for details.
