Skip to content

Refactor solvemail to async nbdev architecture with fastgws OAuth#11

Open
ncoop57 wants to merge 11 commits into
mainfrom
refactor
Open

Refactor solvemail to async nbdev architecture with fastgws OAuth#11
ncoop57 wants to merge 11 commits into
mainfrom
refactor

Conversation

@ncoop57

@ncoop57 ncoop57 commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Rewrites solvemail as a modern async nbdev project using fastgws for OAuth and asyncio for all API calls.

Changes

  • Core rewrite: All Gmail API calls are now async/await using fastgws.GMail client, replacing the synchronous google-api-python-client
  • Simplified API: Email, Thread, Draft, Label now subclass AttrDict with lazy fetching via fmt argument
  • nbdev integration: Project converted to nbdev with _modidx.py, _quarto.yml, nbdev.yml, and autogenerated README/docs
  • pyskills support: New skill.py registers solvemail as an LLM skill via pyskills, with read-only methods allowed by default
  • Simplified deps: Replaced Google auth stack with fastgws; removed fastship, CHANGELOG.md, legacy Jekyll site files
  • New features: EmailAttachment class with lazy fetch(), unsubscribe() via List-Unsubscribe header, forward() on emails/threads, reply_all support

Missing work

The biggest gap are batch operations, but wanted to open the PR early.

@ncoop57 ncoop57 added the enhancement New feature or request label Jun 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant