Skip to content

Conversation

@ashenfad
Copy link
Owner

@ashenfad ashenfad commented Jan 2, 2026

No description provided.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds DataFrame conversion capabilities, introduces an Interval.duration property, and implements sticky timeline metadata for preserving calendar source information.

  • Adds to_dataframe() function with intelligent column ordering and formatting for converting intervals to pandas DataFrames
  • Implements Interval.duration property returning duration in seconds or None for unbounded intervals
  • Adds metadata parameter to MemoryTimeline that applies container-level metadata (e.g., calendar_name) to new events

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/test_dataframe.py Comprehensive test suite for to_dataframe() function covering basic intervals, ICalEvent formatting, column filtering, and duration formatting
pyproject.toml Adds pandas>=2.0 as optional dependency under both dev and pandas extras
docs/API.md Documents new DataFrame helpers section and Interval.duration property, plus updates import path in example
calgebra/mutable/memory.py Adds metadata parameter to MemoryTimeline for container-level metadata that fills in missing values on new events
calgebra/interval.py Adds duration property to Interval class returning end - start in seconds
calgebra/ical.py Extracts calendar_name from X-WR-CALNAME and passes it as container metadata to MemoryTimeline
calgebra/docs/API.md Duplicate documentation updates matching docs/API.md changes
calgebra/dataframe.py New module implementing to_dataframe() with timezone-aware formatting, column ordering, and metadata handling
calgebra/init.py Exports new to_dataframe function and additional ical module components

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ashenfad ashenfad merged commit 228aa70 into main Jan 2, 2026
5 checks passed
@ashenfad ashenfad deleted the meta branch January 2, 2026 04:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants