matimo-github
GitHub tools for Matimo - manage repositories, issues, pull requests, releases, and more.
Installation
pip install matimo matimo-github
Available Tools (22 Total)
| Category | Tool | Description |
|---|---|---|
| Repositories | github-get-repository |
Get repository details |
github-list-repositories |
List repositories for user/org | |
github-create-repository |
Create a new repository | |
github-delete-repository |
Delete a repository | |
github-search-repositories |
Search GitHub repositories | |
| Issues | github-list-issues |
List issues in a repository |
github-get-issue |
Get a single issue | |
github-create-issue |
Create a new issue | |
github-update-issue |
Update issue title, body, state, labels | |
github-search-issues |
Search issues across GitHub | |
| Pull Requests | github-list-pull-requests |
List PRs in a repository |
github-create-pull-request |
Open a new pull request | |
github-merge-pull-request |
Merge a pull request | |
| Releases | github-list-releases |
List releases for a repository |
github-create-release |
Create a new release with tag | |
| Commits | github-list-commits |
List commits on a branch |
| Collaborators | github-list-collaborators |
List repository collaborators |
github-add-collaborator |
Add a collaborator | |
| Code Search | github-search-code |
Search code across repositories |
github-search-users |
Search GitHub users | |
| Security | github-list-code-alerts |
List Dependabot/code scanning alerts |
github-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('github-list-issues', {
'owner': 'my-org',
'repo': 'my-repo',
'state': 'open',
})
# Create an issue
await matimo.execute('github-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
- PyPI: https://pypi.org/project/matimo-github/
- GitHub: https://github.com/tallclub/matimo
- GitHub Docs: https://docs.github.com/en/rest
Release files for matimo-github 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| matimo_github-0.1.3.tar.gz | 8.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| matimo_github-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.6 kB
Release files / matimo_github-0.1.3.tar.gz
| Download URL | matimo_github-0.1.3.tar.gz |
|---|---|
| Size | 8.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4edd263b7fb8fcf3cdd4f1efd659b91a1c17bf44f521d7a12e8015ad0b22cd08
|
|
BLAKE2b-256 checksum How to use checksums |
bb6de7a4ac6afd3497f6b35343474fe83dce547e9de7429170d043981dab3af8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / matimo_github-0.1.3-py3-none-any.whl
| Download URL | matimo_github-0.1.3-py3-none-any.whl |
|---|---|
| Size | 24.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f3c9a11a852ff6c4f1f9dc50b7c2cbdba1127bf5c5f5a390ec04299f39d4db10
|
|
BLAKE2b-256 checksum How to use checksums |
2185e2a8d457d2dd36e6017b75a6a5a2f50d26f2b138eb4619964047b09ee259
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|