mirror of
https://github.com/jnstockley/email-to-calendar.git
synced 2026-06-05 19:17:55 -05:00
Takes emails from an IMAP server, parses the body, and creates event(s) in a CalDAV calendar
- Python 96.4%
- Shell 2.1%
- Dockerfile 1.5%
|
Some checks are pending
Lint, Test, and Deploy / Lint (push) Waiting to run
Lint, Test, and Deploy / Test (push) Waiting to run
Lint, Test, and Deploy / Publish to PyPI (push) Blocked by required conditions
Lint, Test, and Deploy / Deploy Docker Image (push) Blocked by required conditions
Trivy Security Scan / Scan (push) Waiting to run
Update dependency pydantic-ai-slim to v1.106.0 |
||
|---|---|---|
| .github/workflows | ||
| scripts | ||
| src | ||
| tests | ||
| .dockerignore | ||
| .gitignore | ||
| .python-version | ||
| .yamllint | ||
| compose-dev.yml | ||
| compose.yml | ||
| Dockerfile | ||
| LICENSE | ||
| Main Branch Protection.json | ||
| pyproject.toml | ||
| README.md | ||
| renovate.json | ||
| sample.env | ||
| uv.lock | ||
E-Mail to calendar Converter
The point of this application is to search an IMAP account, look for emails based on certain criteria(s), and parse the content, using regex, and automatically create calendar events in an iCal account.
TO-DO
- Get e-mails, and save ID to sqlite db to avoid duplicates
- Save calendar events to sqlite db to avoid duplicates
- Add config to backfill (check all emails from an optional certain date), or use most recent email
- If using most recent, when new email arrives, remove events not present, and add new ones
- If new email comes in with updated events, update event in calendar instead of creating a new one
- Using email summary check for words like
Cancelled, etc. to delete events - If event already exists, check if details have changed, and update if necessary
- Investigate IMAP IDLE (push instead of poll)
- Make sure all day events are handled correctly
- Add Docker Model Runner support
- Add 'validate' function for events, and if it fails, have AI re-process that event
Environment Variables
| Name | Description | Type | Default Value | Allowed Values |
|---|---|---|---|---|