inboxpattern
inboxpattern is a lightweight Python package that helps users and organizations analyze and categorize email account usage patterns.
Give it a brief text describing your email habits – it will return a structured reply that outlines:
- How many email accounts you use
- The purpose of each account
- Any challenges you face managing them
The output is a list of strings that can be fed straight into a workflow, shared in dashboards, or used for tooling that reduces inbox clutter.
Author: Eugene Evstafev (
hi@euegne.plus)
GitHub owner:chigwell
Quick Start
pip install inboxpattern
Basic usage
from inboxpattern import inboxpattern
user_input = (
"I maintain three email addresses: a personal Gmail, a work Outlook account, "
"and a project-specific ProtonMail. I often forget which account to use for "
"which purpose, and I sometimes receive spam in my personal address."
)
response = inboxpattern(user_input)
print(response)
# Example output: [
# "Accounts: 3",
# "Personal: Gmail",
# "Work: Outlook",
# "Project: ProtonMail",
# "Challenges: Misattributed emails, spam in personal inbox"
# ]
Using a different LLM
inboxpattern ships with ChatLLM7 from the langchain_llm7 package by default.
If you already have a LangChain LLM provider (OpenAI, Anthropic, Google, etc.), you can pass it in:
OpenAI
from langchain_openai import ChatOpenAI
from inboxpattern import inboxpattern
llm = ChatOpenAI() # your own OpenAI key already configured
response = inboxpattern(user_input, llm=llm)
Anthropic
from langchain_anthropic import ChatAnthropic
from inboxpattern import inboxpattern
llm = ChatAnthropic()
response = inboxpattern(user_input, llm=llm)
Google Gemini
from langchain_google_genai import ChatGoogleGenerativeAI
from inboxpattern import inboxpattern
llm = ChatGoogleGenerativeAI()
response = inboxpattern(user_input, llm=llm)
Optional API key
The free tier of LLM7 comes with generous limits that are usually enough for most use‑cases.
If you need higher throughput, obtain a key at https://token.llm7.io/ and provide it:
export LLM7_API_KEY="your_llm7_token" # or
inboxpattern(user_input, api_key="your_llm7_token")
Parameters
| Parameter | Type | Description |
|---|---|---|
user_input |
str |
Text describing your email‑management habits. |
llm |
Optional[BaseChatModel] |
A LangChain LLM instance to use; defaults to ChatLLM7. |
api_key |
Optional[str] |
LLM7 API key; if omitted, the library will look for the LLM7_API_KEY environment variable or default to "None". |
Development & Issues
If you encounter bugs or want to request a feature, please open an issue in the repository:
https://github.com/chigwell/inboxpattern/issues
Happy coding, and may your inboxes stay tidy!
Metadata
Release files for inboxpattern 2025.12.21181804
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| inboxpattern-2025.12.21181804.tar.gz | 4.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| inboxpattern-2025.12.21181804-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.1 kB
Release files / inboxpattern-2025.12.21181804.tar.gz
| Download URL | inboxpattern-2025.12.21181804.tar.gz |
|---|---|
| Size | 4.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0f5e19660cd787e14f3ffbc2942485a0b0307a62ec764f97a6f9b01bc1821d15
|
|
BLAKE2b-256 checksum How to use checksums |
8890e385c71e451b9e172c71b499832194c7e09b98e4d1bf86c9f7f1564579e7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.1
|
Release files / inboxpattern-2025.12.21181804-py3-none-any.whl
| Download URL | inboxpattern-2025.12.21181804-py3-none-any.whl |
|---|---|
| Size | 5.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3bbfa5dad36a164e0755a8a56de6db90583e89650d1d317e4567b1a62e9b283c
|
|
BLAKE2b-256 checksum How to use checksums |
0420bbc1f3b8d968ad77d5794a72eb169c6cd63ba80df21d65053d205fcf6089
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.1
|