Skip to content

Add packaging and CI release workflow for the Python GhidraMCP client#108

Open
nightlark wants to merge 1 commit intoLaurieWired:mainfrom
nightlark:add-pypi-packaging
Open

Add packaging and CI release workflow for the Python GhidraMCP client#108
nightlark wants to merge 1 commit intoLaurieWired:mainfrom
nightlark:add-pypi-packaging

Conversation

@nightlark
Copy link

This adds files for publishing a copy of the Python MCP client/server on PyPI, so it can be installed with pipx or uv tool install -- this removes the need for absolute paths in configuration files for claude/5ire/etc and the explicit python command to run the script. It is also makes it possible for other Python tools to list it as a dependency.

Currently this PR has CI workflows set up to publish new releases when a new git tags that looks like a version number is pushed. Once (if? I could keep maintaining this packaging myself as a separate repo) this change is merged I can update the PyPI trusted publishing workflow to use this GitHub repo (and add/transfer ownership of the PyPI package if desired).

  • Add pyproject.toml using Hatchling + hatch-vcs for packaging GhidraMCP's Python client; version pulled from Git tags (no v prefix), CLI entrypoint defined for running the Python MCP client
  • Add release workflow to build/check wheel, upload artifacts, and publish to PyPI using OIDC
  • Update README to mention ways to install GhidraMCP Python client using pipx and uv tool

cc: @LaurieWired

* Add pyproject.toml using Hatchling + hatch-vcs for packaging GhidraMCP's Python client; version pulled from Git tags (no v prefix), CLI entrypoint defined
* Add release workflow to build/check wheel, upload artifacts, and publish to PyPI using OIDC
* Update README to mention ways to install GhidraMCP Python client using pipx and uv tool

Signed-off-by: Ryan Mast <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant