Skip to main content

example community package

Project description

Swarmauri Logo

PyPI - Downloads Hits PyPI - Python Version PyPI - License PyPI - swarmauri_tool_gmail


Swarmauri Tool Gmail

Tools for sending and reading Gmail messages via Google Workspace service-account delegation. Provides GmailSendTool and GmailReadTool wrappers around the Gmail REST API.

Features

  • GmailSendTool sends HTML emails to one or more recipients.
  • GmailReadTool fetches messages matching a Gmail search query and formats key headers.
  • Both tools authenticate with googleapiclient using a service account JSON file and delegated user email.

Prerequisites

  • Python 3.10 or newer.
  • Google Cloud service account with Gmail API enabled and domain-wide delegation to the target user.
  • Credentials JSON file with the https://www.googleapis.com/auth/gmail.send and/or https://www.googleapis.com/auth/gmail.readonly scopes.
  • Install google-api-python-client and google-auth (pulled in automatically).

Installation

# pip
pip install swarmauri_tool_gmail

# poetry
poetry add swarmauri_tool_gmail

# uv (pyproject-based projects)
uv add swarmauri_tool_gmail

Sending Email

from swarmauri_tool_gmail import GmailSendTool

send_tool = GmailSendTool(
    credentials_path="service-account.json",
    sender_email="user@yourdomain.com",
)

result = send_tool(
    recipients="recipient@example.com",
    subject="Test Email",
    htmlMsg="<p>Hello, this is a test email!</p>",
)

print(result)

Reading Email

from swarmauri_tool_gmail import GmailReadTool

read_tool = GmailReadTool(
    credentials_path="service-account.json",
    sender_email="user@yourdomain.com",
)

result = read_tool(query="is:unread", max_results=5)
print(result["gmail_messages"])

Tips

  • Ensure the service account has been granted domain-wide delegation and that the Gmail API is enabled in Google Cloud console.
  • Store credentials securely (Secrets Manager, Vault) and inject the file path via environment variables.
  • When sending to multiple recipients, supply a comma-separated string (Gmail handles the formatting).
  • For message bodies beyond simple HTML, extend the tool to add attachments or alternative MIME parts.

Want to help?

If you want to contribute to swarmauri-sdk, read up on our guidelines for contributing that will help you get started.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

swarmauri_tool_gmail-0.10.0.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

swarmauri_tool_gmail-0.10.0-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file swarmauri_tool_gmail-0.10.0.tar.gz.

File metadata

  • Download URL: swarmauri_tool_gmail-0.10.0.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.0 {"installer":{"name":"uv","version":"0.11.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for swarmauri_tool_gmail-0.10.0.tar.gz
Algorithm Hash digest
SHA256 3330595054aa594c7ba5875d4fa83adf776c9a9fc1f079782ab0c963e4c4404d
MD5 3e8c8e7f24eaabd5fe87f04d0ba46af2
BLAKE2b-256 ae8a196e3116e5794a36bd5e5ed5f2371e33bd0042f4380974eb4b13d04f0e9e

See more details on using hashes here.

File details

Details for the file swarmauri_tool_gmail-0.10.0-py3-none-any.whl.

File metadata

  • Download URL: swarmauri_tool_gmail-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.0 {"installer":{"name":"uv","version":"0.11.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for swarmauri_tool_gmail-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a715b04b0267da87a1eb18ccbbae9b3127190792a5e87ba9f35d474b1b0450b1
MD5 5b5e587884863472b134333833bbc598
BLAKE2b-256 af8f1387644c05cf72801fd924ffa10c580d835b62a5a0e4a9cb34484a7b159d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page