Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Python IMAP for Agentic Workflows
| Date | Stars |
|---|---|
| 2026-07-31 | 1216 |
| 2026-08-01 | 1216 |
| 2026-08-06 | 1216 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# Imbox - Python IMAP Library for Agentic Workflows  Python library for reading IMAP mailboxes and converting email content to machine readable data ## Table of Contents - [Requirements](#requirements) - [Installation](#installation) - [CLI Usage](#cli-usage) - [Running with uv](#running-with-uv) - [Configuration](#configuration) - [Messages Command](#messages-command) - [Folders Command](#folders-command) - [Debugging](#debugging) - [Usage (Python Library)](#usage-python-library) ## Requirements Python (3.11, 3.12, 3.13) ## Installation `pip install imbox` ## CLI Usage Imbox includes a command-line interface that can be used to fetch emails directly from the terminal and saving the results to a JSON file. This is particularly useful for agentic workflows. ### Running with uv The recommended way to run the CLI is with [uv](https://github.com/astral-sh/uv): ```bash uv run imbox messages ``` ### Configuration The CLI reads configuration from environment variables: | Variable | Description | Default | |----------|-------------|---------| | `IMBOX_IMAP_URL` | IMAP server URL | `imap.gmail.com` | | `IMBOX_USERNAME` | IMAP username | - | | `IMBOX_PASSWORD` | IMAP password or app password | - | | `IMBOX_SSL` | Enable SSL | `true` | | `IMBOX_PORT` | IMAP port | `993` | | `IMBOX_STARTTLS` | Enable STARTTLS | `false` | | `DEBUG` | Enable debug logging | `false` | | `LOG_LEVEL` | Logging level | `INFO` | | `LOG_OUTPUT_TYPE` | Output format. Clean displays only email fields. Default includes imbox metadata (`default` or `clean`) | `default` | | `OUTPUT` | Enable file output | `false` | | `OUTPUT_FOLDER` | Output folder for downloaded messages | `output` | | `OUTPUT_FILENAME` | Output filename for results | `imbox_results.json` | ### Messages Command Fetch messages with optional filters: ```bash # Basic usage (requires IMBOX_USERNAME and IMBOX_PASSWORD env vars) uv run imbox messages # Fetch from specific folder uv run imbox messages --folder "Social" # Fetch unread messages only uv run imbox messages --unread # Fetch flagged messages uv run imbox messages --flagged # Filter by sender uv run imbox messages --sent-from "[email protected]" # Filter by recipient uv run imbox messages --sent-to "[email protected]" # Filter by subject uv run imbox messages --subject "Newsletter" # Filter by date range uv run imbox messages --date-gt 2026-01-01 --date-lt 2026-12-31 # Filter by specific date uv run imbox messages --date-on 2026-03-15 # Filter by UID range (e.g., messages with UID 1050 and above) uv run imbox messages --uid-range "1050:*" # Gmail-specific raw search (requires Gmail) uv run imbox messages --raw "from:user has:attachment" # Gmail-specific label filter (Gmail only) uv run imbox messages --folder all --label "finance" # Combine multiple filters uv run imbox messages --folder "INBOX" --unread --sent-from "[email protected]" ``` ### Folders Command List all folders on the IMAP server: ```bash uv run imbox folders ``` ### Debugging Enable debug output for troubleshooting: ```bash DEBUG=true LOG_LEVEL=DEBUG uv run imbox messages --unread ``` ## Usage (Python Library) ``` python from imbox import Imbox # SSL Context docs https://docs.python.org/3/library/ssl.html#ssl.create_default_context with Imbox('imap.gmail.com', username='username', password='password', ssl=True, ssl_context=None, starttls=False) as imbox: # Get all folders status, folders_with_additional_info = imbox.folders() # Gets all messages from the inbox all_inbox_messages = imbox.messages() # Unread messages unread_messages = imbox.messages(unread=True) # Flagged messages flagged_messages = imbox.messages(flagged=True) # Un-flagged messages unflagged_messages = imbox.messages(unflagged=True) # Messages sent FROM inbox_messages_fro
Excerpt of 5,453 characters
Read on GitHub172
28
18
9
7
6
5
4
4
4
3
3
2
2
2
2
2
Dima Veselov · Russia
2
2
2
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:f657758c82c40dd8, topic:agents, desc:agentic
matched fp:f657758c82c40dd8, topic:automation