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.9.3.dev10.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.9.3.dev10-py3-none-any.whl (10.4 kB view details)

Uploaded Python 3

File details

Details for the file swarmauri_tool_gmail-0.9.3.dev10.tar.gz.

File metadata

  • Download URL: swarmauri_tool_gmail-0.9.3.dev10.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","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.9.3.dev10.tar.gz
Algorithm Hash digest
SHA256 b33860fb1a42af2cc659ef388e05561a56638f8917ce484719f3ff313be92105
MD5 94a43270351ad11980fb9461f864758e
BLAKE2b-256 2c9e40824dd8595d341544a7682a1479ce6175acacddb98f70958d7cd6bc2a1a

See more details on using hashes here.

File details

Details for the file swarmauri_tool_gmail-0.9.3.dev10-py3-none-any.whl.

File metadata

  • Download URL: swarmauri_tool_gmail-0.9.3.dev10-py3-none-any.whl
  • Upload date:
  • Size: 10.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","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.9.3.dev10-py3-none-any.whl
Algorithm Hash digest
SHA256 8b2a2fe776201734974f9f3643f7e8614c37de149e98a010c6612a17a1c01466
MD5 db3d5e1a821124c4fab7c85b6cc86a6e
BLAKE2b-256 c62e7d0d5e7effd0ec09f8f34a31257d0d93a17567ecb1beeace72e0f01a7a44

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