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
Metadata
Release files for matimo-github 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| matimo_github-0.4.0.tar.gz | 11.7 kB | Without provenance | Details for matimo_github-0.4.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| matimo_github-0.4.0-py3-none-any.whl | Python 3 | none | any | Details for matimo_github-0.4.0-py3-none-any.whl |
Total release size: 39.3 kB
Release files / matimo_github-0.4.0.tar.gz
| Download URL | matimo_github-0.4.0.tar.gz |
|---|---|
| Size | 11.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
901b0b6f2a67b8fd53701e53e9c09e95eedd1b9d69e5806b30aa2adfa4168db5
|
|
BLAKE2b-256 checksum How to use checksums |
fcedd7848ddf2ef25088bf0af31059c9f29c1a2c7dfef6be0f9549e8b9ee9290
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / matimo_github-0.4.0-py3-none-any.whl
| Download URL | matimo_github-0.4.0-py3-none-any.whl |
|---|---|
| Size | 27.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
361cebe6b160ecdff5cac50a37c89e4ad3c259376ab4051e7451c93b0b3e2d54
|
|
BLAKE2b-256 checksum How to use checksums |
b380773becf7fdb3faed4654d79180a866c752dfddc649d2d0ae3f69e8f77354
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Security for matimo-github 0.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.