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 | Provenance | Actions |
|---|---|---|---|---|
| inboxpattern-2025.12.21181804.tar.gz | 4.8 kB | Without provenance | Details for inboxpattern-2025.12.21181804.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| inboxpattern-2025.12.21181804-py3-none-any.whl | Python 3 | none | any | Details for inboxpattern-2025.12.21181804-py3-none-any.whl |
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
|
Security for inboxpattern 2025.12.21181804
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.