renames tool, makes it publishable to pypi, and fixes all code quality issues with ruff. - #10
Open
IWasZ3r0Cool wants to merge 21 commits into
Open
renames tool, makes it publishable to pypi, and fixes all code quality issues with ruff. #10IWasZ3r0Cool wants to merge 21 commits into
IWasZ3r0Cool wants to merge 21 commits into
Conversation
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
…ius, add github workflow.
updating the pyproject.toml so the python package will be pr-blastrad…
cleaned up some documentation bugs from forking it.
Feature/post publish updates
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Modifications to the project to include the following: