Skip to main content

Matimo provider — GitHub tools (repos, issues, PRs, releases)

Project description

matimo-github

GitHub tools for Matimo — manage repositories, issues, pull requests, releases, and more.

PyPI Docs


Installation

pip install matimo matimo-github

Available Tools (27 Total)

Category Tool Description
Repositories get-repository Get repository details
list-repositories List repositories for user/org
create-repository Create a new repository
delete-repository Delete a repository
search-repositories Search GitHub repositories
Issues list-issues List issues in a repository
get-issue Get a single issue
create-issue Create a new issue
update-issue Update issue title, body, state, labels
search-issues Search issues across GitHub
Pull Requests list-pull-requests List PRs in a repository
create-pull-request Open a new pull request
merge-pull-request Merge a pull request
Releases list-releases List releases for a repository
create-release Create a new release with tag
Commits list-commits List commits on a branch
Collaborators list-collaborators List repository collaborators
add-collaborator Add a collaborator
Code Search search-code Search code across repositories
search-users Search GitHub users
Security list-code-alerts List Dependabot/code scanning alerts
update-code-alert Dismiss or resolve a code alert

Quick Start

import asyncio
import os
from matimo import Matimo
from matimo_github import get_tools_path

async def main():
    matimo = await Matimo.init(get_tools_path())

    # List open issues
    result = await matimo.execute('list-issues', {
        'owner': 'my-org',
        'repo': 'my-repo',
        'state': 'open',
    })

    # Create an issue
    await matimo.execute('create-issue', {
        'owner': 'my-org',
        'repo': 'my-repo',
        'title': 'Bug: login fails on mobile',
        'body': 'Steps to reproduce...',
    })

asyncio.run(main())

Authentication

export GITHUB_TOKEN="ghp_your-personal-access-token"

Required Scopes

Operations Required Scope
Read public repos, issues, PRs public_repo
Read private repositories repo
Create/update issues, PRs repo
Manage collaborators repo + admin:org
Delete repositories delete_repo
Read security alerts security_events

LangChain Agent Example

from matimo import Matimo
from matimo_github import get_tools_path
from matimo.integrations.langchain import convert_tools_to_langchain
from langchain_openai import ChatOpenAI
from langchain.agents import AgentExecutor, create_tool_calling_agent
from langchain_core.prompts import ChatPromptTemplate

matimo = await Matimo.init(get_tools_path())
lc_tools = convert_tools_to_langchain(
    matimo.list_tools(), matimo,
    credentials={'GITHUB_TOKEN': os.environ['GITHUB_TOKEN']},
)
llm = ChatOpenAI(model='gpt-4o-mini')
prompt = ChatPromptTemplate.from_messages([
    ('system', 'You are a GitHub assistant.'),
    ('human', '{input}'),
    ('placeholder', '{agent_scratchpad}'),
])
agent = create_tool_calling_agent(llm, lc_tools, prompt)
executor = AgentExecutor(agent=agent, tools=lc_tools)
result = await executor.ainvoke({'input': 'List all open issues in tallclub/matimo'})

Documentation


Links

Project details


Download files

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

Source Distribution

matimo_github-0.1.0.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

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

matimo_github-0.1.0-py3-none-any.whl (24.0 kB view details)

Uploaded Python 3

File details

Details for the file matimo_github-0.1.0.tar.gz.

File metadata

  • Download URL: matimo_github-0.1.0.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for matimo_github-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a731e9f3891c8aafb1ba0795f82e95a7856bc0f6e862d4d6b45eead9dd73231d
MD5 3d62b8619d7e875e324d782e101518f9
BLAKE2b-256 1de6e5e397782111a2b120e03e6a779dcf05e1aab4f2ff3b0e8079e6236b119e

See more details on using hashes here.

File details

Details for the file matimo_github-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: matimo_github-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 24.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for matimo_github-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d8ae8d6272a1360aaa0b782874cb817bae47eb7e7b9ec9790d48f950d0c8bba6
MD5 9c05065e8935fb31ed68bf0f498ca280
BLAKE2b-256 3145ae5c32f52050e2bc6bf6a08df21bc07057603ec580ede0781f9c5d4d7475

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