Skip to main content

concinno-skills-google

Google ecosystem agent skills for Concinno. Native Python API first, MCP fallback optional.

Status

MVP (0.1.0) — GoogleCalendar only. Drive / Gmail / YouTube Data will follow in subsequent minor releases under the same entry-point group so no Concinno upgrade is required when new tools land.

Install

pip install concinno-skills-google

google-api-python-client and google-auth are hard dependencies (the tool is useless without them) and will be pulled in automatically.

OAuth setup

This package does not run an interactive OAuth flow — tokens are a one-shot user responsibility. Use any of the standard Google quickstart flows to produce an authorized-user token JSON, then make it visible to Concinno via either of:

Option A — drop the file (simplest):

mkdir -p ~/.concinno
cp path/to/your/token.json ~/.concinno/google_token.json

Option B — Concinno CredentialStore (preferred when you already use it for other secrets):

from concinno.core.credentials import get_default_store

store = get_default_store()
store.set("google_oauth_token", open("token.json").read())

Or persist it via the config file:

// ~/.concinno/credentials.json
{
  "google_oauth_token": "{...authorized-user token JSON as a string...}"
}

Expired access tokens are refreshed automatically; the refreshed JSON is written back to whichever source provided it.

Usage via Concinno ToolRegistry

When the consumer sets CONCINNO_LOAD_PLUGINS=1, the default registry auto-mounts GoogleCalendar:

import os
os.environ["CONCINNO_LOAD_PLUGINS"] = "1"

from concinno.tools.registry import get_default_registry

reg = get_default_registry()
assert "GoogleCalendar" in reg.list_deferred()

tool = reg.get("GoogleCalendar")
events = tool.call(
    action="list",
    time_min="2026-04-22T00:00:00Z",
    time_max="2026-04-23T00:00:00Z",
    max_results=50,
)

Direct Python usage

No registry round-trip required; instantiate directly:

from concinno_skills_google import GoogleCalendar

cal = GoogleCalendar()

# List
events = cal.call(
    action="list",
    calendar_id="primary",
    time_min="2026-04-22T00:00:00Z",
)

# Create
created = cal.call(
    action="create",
    event={
        "summary": "Deep work block",
        "start": {"dateTime": "2026-04-22T14:00:00+08:00"},
        "end":   {"dateTime": "2026-04-22T16:00:00+08:00"},
    },
)

# Delete
cal.call(action="delete", event_id=created["id"])

All methods return either a plain list[dict] (for list) or a small status dict. On failure they return {"error": "..."} rather than raising — same shape as the other Concinno built-in tools.

License

Apache-2.0. See LICENSE in the Concinno monorepo.

Download files

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

Source Distribution

concinno_skills_google-0.2.0.tar.gz (49.1 kB view details)

Uploaded Source

Built Distribution

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

concinno_skills_google-0.2.0-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

File details

Details for the file concinno_skills_google-0.2.0.tar.gz.

File metadata

  • Download URL: concinno_skills_google-0.2.0.tar.gz
  • Upload date:
  • Size: 49.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for concinno_skills_google-0.2.0.tar.gz
Algorithm Hash digest
SHA256 6c5144174b3edf0bee45db6cbec35ecb36d172b9e47c5d5689143e37fa042cc7
MD5 752d22254e69d36e4b02fc818f01e541
BLAKE2b-256 0ca4bad97c0d6d5270e6c2b61e5f4ac1369c0f718aa18c4ec50a1aae10f7f1d9

See more details on using hashes here.

File details

Details for the file concinno_skills_google-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for concinno_skills_google-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 49b9258772ab13025a743e3b3632698d2400f497094dc89c2dd0fbf902191363
MD5 4fb6913f4918dfdf64ef522586cb02bc
BLAKE2b-256 687a370f2f3306eb711686e35d4c8b9ebcce3db4c285c54803312be24d7317eb

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 files

0.1.0

2 files

Supported by

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