Skip to main content

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

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.2.tar.gz (8.6 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.2-py3-none-any.whl (24.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: matimo_github-0.1.2.tar.gz
  • Upload date:
  • Size: 8.6 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.2.tar.gz
Algorithm Hash digest
SHA256 d57b0053d96f89247edbba9f6a5a62e0063f1b76f91323d2d763a288d3b4c913
MD5 165faebb86e16dfb14c3eb83d72c3975
BLAKE2b-256 068dcf32e8021a8550a4e37a3076b106f637d6bef2b5834f23c925e674c2955f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: matimo_github-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 bb80f0d145a952225b5b0be6b5f8801913815e8045512402eab464f58cb3306a
MD5 82d773a6fdedde30318a2ab7d73af226
BLAKE2b-256 afaf143f59b6c58b01135e375f941b7e4803104410de475c13998bba4a9e294c

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 Sentry Error logging StatusPage Status page