Metadata-Version: 2.4
Name: rewindlearn
Version: 0.1.1
Summary: Transform session artifacts into structured knowledge
Project-URL: Homepage, https://github.com/knightsri/rewind.learn
Project-URL: Documentation, https://rewindlearn.readthedocs.io
Project-URL: Repository, https://github.com/knightsri/rewind.learn
Project-URL: Issues, https://github.com/knightsri/rewind.learn/issues
Project-URL: Changelog, https://github.com/knightsri/rewind.learn/blob/main/CHANGELOG.md
Author-email: Sri Bolisetty <sri@example.com>
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: ai,education,langchain,learning,llm,transcription
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Education
Classifier: Topic :: Text Processing :: Linguistic
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: langchain-anthropic>=0.3
Requires-Dist: langchain-openai>=0.2
Requires-Dist: langchain>=0.3
Requires-Dist: langgraph>=0.2
Requires-Dist: langsmith>=0.1
Requires-Dist: pydantic-settings>=2.0
Requires-Dist: pydantic>=2.0
Requires-Dist: python-dotenv>=1.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=13.0
Requires-Dist: typer[all]>=0.12
Requires-Dist: webvtt-py>=0.5
Provides-Extra: dev
Requires-Dist: black>=24.0; extra == 'dev'
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pre-commit>=3.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.4; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs-material>=9.5; extra == 'docs'
Requires-Dist: mkdocs>=1.6; extra == 'docs'
Requires-Dist: mkdocstrings[python]>=0.25; extra == 'docs'
Provides-Extra: examples
Requires-Dist: ffmpeg-python>=0.2; extra == 'examples'
Requires-Dist: pymupdf>=1.24; extra == 'examples'
Requires-Dist: weasyprint>=62; extra == 'examples'
Description-Content-Type: text/markdown

# Rewind.Learn

Transform session artifacts into structured knowledge.

[![PyPI version](https://badge.fury.io/py/rewindlearn.svg)](https://badge.fury.io/py/rewindlearn)
[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

## Installation

```bash
pip install rewindlearn
```

## Quick Start

```bash
# Set your API key
export ANTHROPIC_API_KEY="your-key"

# Process a session
rewindlearn process run \
    --template online-course \
    --transcript lecture.vtt \
    --chat chat.txt \
    --course "AI Engineering" \
    --session 5 \
    --output study-guides/
```

## Python API

```python
import asyncio
from rewindlearn import process_session

async def main():
    results = await process_session(
        template="online-course",
        transcript_path="lecture.vtt",
        chat_path="chat.txt",
        course_name="AI Engineering",
        session_number=5
    )
    print(results["session_summary"])

asyncio.run(main())
```

## Features

- **Session Summary**: Comprehensive overview of the session content
- **Concept Timeline**: Chronological breakdown of concepts with timestamps
- **Friction Analysis**: Identifies potential confusion points and questions
- **Coverage Gaps**: Topics that could use more coverage
- **Learning Resources**: Curated resources for each topic
- **Action Items**: Prioritized tasks for students
- **Concept Chunks**: CSV with video clip markers for splitting

## CLI Commands

```bash
# Show help
rewindlearn --help

# Show version
rewindlearn --version

# Process a session
rewindlearn process run --template online-course --transcript lecture.vtt --output ./output

# List available templates
rewindlearn template list

# Show template details
rewindlearn template show online-course

# Validate a template
rewindlearn template validate custom-template.yaml

# Show current configuration
rewindlearn config show

# Check configuration validity
rewindlearn config check
```

## Configuration

Create a `.env` file or set environment variables:

```bash
# Required: At least one LLM API key
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-...

# Optional: LangSmith for observability
LANGSMITH_API_KEY=lsv2_...
LANGSMITH_TRACING=true

# Optional: Override defaults
REWINDLEARN_DEFAULT_PROVIDER=anthropic
REWINDLEARN_DEFAULT_MODEL=claude-sonnet-4-20250514
REWINDLEARN_TEMPLATES_DIR=./templates
REWINDLEARN_OUTPUT_DIR=./output
```

## Development

```bash
# Clone the repository
git clone https://github.com/knightsri/rewind.learn.git
cd rewind.learn

# Install in development mode
pip install -e ".[dev]"

# Run tests
pytest -v

# Type checking
mypy src/

# Linting
ruff check src/
```

## License

Apache 2.0
