Skip to content

renames tool, makes it publishable to pypi, and fixes all code quality issues with ruff. - #10

Open
IWasZ3r0Cool wants to merge 21 commits into
scheidydude:mainfrom
IWasZ3r0Cool:main
Open

renames tool, makes it publishable to pypi, and fixes all code quality issues with ruff. #10
IWasZ3r0Cool wants to merge 21 commits into
scheidydude:mainfrom
IWasZ3r0Cool:main

Conversation

@IWasZ3r0Cool

Copy link
Copy Markdown

Modifications to the project to include the following:

  • Resolves code quality issues found by running ruff on the source code.
  • renamed the tool to a publish-able name on pypi so others can install it via pip or uv without having to build from source.

IWasZ3r0Cool and others added 21 commits July 31, 2026 16:48
first cut at re-naming the fork. 'codeindex' was taken, blastradius exists for terraform as a python package, and we'll make one more MR to fully-rename
updating the pyproject.toml so the python package will be pr-blastrad…
cleaned up some documentation bugs from forking it.
Replace regex-only import handling with token-aware scanners and workspace-aware resolution. Correct Rust crate/module paths and Go module-boundary matching, and cover missed linkages with dispatcher-level regression tests.

Verified: 30 pytest tests pass, Ruff lint and format checks pass, and uv build succeeds.
Move the unchanged explorer HTML into blastradius/static and include it in both source distributions and wheels. Load it with importlib.resources before analysis or server startup, and exit with an actionable installation error when the resource is missing or unreadable.

Add source and isolated-installed CLI HTTP regression coverage for homepage aliases, query strings, actual graph data, missing indexes, and unknown routes, plus early-startup filesystem failure tests. Build and install a fresh wheel from its sdist in the packaging test, verify import isolation, and update the internal asset-path documentation.

Validation: 40 tests pass; Ruff lint and formatting checks pass; uv build produces sdist and wheel containing the HTML. Publishing workflows, runtime dependencies, CLI flags, and graph schemas remain unchanged.
Document uv tool install and uvx package-to-command mapping, upgrades, extras, PATH setup, source builds, editable installs, and contributor workflows. Identify IWasZ3r0Cool/blast-radius as the canonical repository and its maintainers as the PyPI publishers while preserving copyright attribution.

Correct quickstart working-directory assumptions, unsupported symbols --watch examples, MCP scopes and configuration paths, and environment-variable guidance. Align watch and semantic dependency notices with uv tool installation and mark the old handoff as historical.

Exercise the built wheel through uv tool install in temporary tool/bin directories, then verify quickstart commands, visualizer HTTP routes, MCP startup, uvx execution, dependency hints, package metadata, report links, and documentation contracts. Validation: all 48 tests, Ruff lint, formatting checks, and distribution builds pass.
Track Rust module/file associations once, preserve conditional variants and nested imports, and retain explicit path overrides over inferred filenames.

Require correct Go token kinds for keywords and import delimiters. Add bounded hang, edge-deduplication, path-override, and literal-import regressions.
…liable

Use the SDK v2 stdio server with legacy and modern protocol support, strict argument validation, consistent errors, serialized worker execution, cancellation handling, and guaranteed database/stream cleanup.

Centralize artifact selection, honor --repo and explicit indexes, support detached graph exports without ambiguous path guesses, and decouple CLI helpers from the MCP transport.

Require Python 3.10+ and default MCP dependencies. Add real stdio, SDK-client, installed uv tool/uvx, and failure-path tests, non-publishing cross-platform CI, and updated documentation. Verified 120 tests on Python 3.10 and 3.14, Ruff, and package builds.
Prevent noninteractive Git subprocesses from inheriting MCP's protocol input while preserving the dedicated cat-file batch pipe. Compare installed executables by filesystem identity so Windows filename casing does not break packaging fixtures.

Remove hostname lookup from visualizer binding, flush the readiness message, and close the HTTP server reliably. Add eight regression cases covering slow or unavailable DNS, executable identity, MCP subprocess input, and history backfill.

Verified: 128 tests pass on Python 3.10 and 3.14; Ruff checks, formatting checks, and wheel/sdist builds pass. Local server readiness measured about 0.35 seconds on a temporary copy of this repository.
Keep graph nodes, dependency edges, workspace assignments, and symbol IDs consistent across platforms so MCP detects ambiguous paths correctly. Parse Python source bytes to honor UTF-8, BOMs, and declared encodings without relying on the Windows locale.

Add 15 compatibility regressions, retain line counts and best-effort handling of invalid source, and extend Windows CI to Python 3.10 alongside 3.14.

Verified on macOS: 143 tests pass on Python 3.10 and 3.14; Ruff checks and uv build pass. Native Windows confirmation remains for GitHub Actions.
Bump pyproject.toml and the locked project version to 0.4.1 without changing dependencies. Align blastradius.__version__ and add a regression test comparing it with installed distribution metadata.

Verified: 144 tests passed, Ruff checks passed, and both source and wheel distributions built with version 0.4.1. No publishing workflow changes or release tags.
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