A collection of Python scripts for downloading and installing development tools from GitHub releases.
Downloads the latest stable or pre-release versions of Verus.
Downloads and installs the latest Rust Analyzer from GitHub releases.
Downloads and installs the latest Verus Analyzer from GitHub releases.
Downloads and installs the latest SCIP (Source Code Intelligence Protocol) tool from GitHub releases.
Copies a project, runs analyzer SCIP analysis, and exports to JSON format.
- π Downloads latest stable or pre-release versions
- π Automatically detects your platform (Linux, macOS, Windows)
- π¦ Extracts and installs to user directories by default
- π§ Sets up executable permissions automatically
- π£οΈ Configures PATH in your shell configuration
- β Verifies installations work correctly
- π Generates SCIP indices for code analysis
# Download and install the latest Verus release
python3 verus_installer_from_release.py
# List available releases without installing
python3 verus_installer_from_release.py --list-assets
# Include pre-release versions
python3 verus_installer_from_release.py --pre-release
# Install latest stable Verus Analyzer
python3 verus_analyzer_installer.py
# Install latest pre-release
python3 verus_analyzer_installer.py --pre-release
# List available releases
python3 verus_analyzer_installer.py --list-assets
# Install latest stable Rust Analyzer
python3 rust_analyzer_installer.py
# Install latest pre-release
python3 rust_analyzer_installer.py --pre-release
# Download VS Code extension instead of binary
python3 rust_analyzer_installer.py --vsix
# Install latest stable SCIP
python3 scip_installer.py
# Install with custom directory
python3 scip_installer.py --install-dir /opt/scip
# Check available releases
python3 scip_installer.py --list-assets
# Analyze a project with Verus Analyzer (default)
python3 generate_scip_index.py /path/to/project
# Use Rust Analyzer instead
python3 generate_scip_index.py /path/to/project --analyzer rust-analyzer
# Keep project copy and specify output
python3 generate_scip_index.py /path/to/project --keep-copy --output-dir ./analysis
--pre-release Include pre-release versions
--output-dir, -o Download directory (default: current directory)
--install-dir, -i Installation directory (default: ~/verus)
--platform Platform pattern to search for (e.g., x86-linux)
--list-assets List all available assets without downloading
--no-extract Download only, do not extract or install
--no-path Do not modify PATH configuration
--pre-release, --prerelease Download pre-release version instead of stable
--output-dir, -o Download directory (default: current directory)
--install-dir, -i Installation directory (default: ~/verus-analyzer)
--platform Platform pattern (e.g., x86_64-unknown-linux-gnu)
--list-assets List all available assets without downloading
--no-extract Download only, do not extract or install
--no-path Do not modify PATH configuration
--vsix Download VS Code extension instead of binary
--pre-release, --prerelease Download pre-release version instead of stable
--output-dir, -o Download directory (default: current directory)
--install-dir, -i Installation directory (default: ~/rust-analyzer)
--platform Platform pattern (e.g., x86_64-unknown-linux-gnu)
--list-assets List all available assets without downloading
--no-extract Download only, do not extract or install
--no-path Do not modify PATH configuration
--vsix Download VS Code extension instead of binary
--pre-release, --prerelease Download pre-release version instead of stable
--output-dir, -o Download directory (default: current directory)
--install-dir, -i Installation directory (default: ~/scip)
--platform Platform pattern (e.g., scip-linux-amd64)
--list-assets List all available assets without downloading
--no-extract Download only, do not extract or install
--no-path Do not modify PATH configuration
project Path to the project to analyze (required)
--analyzer, -a Analyzer to use: verus-analyzer (default) or rust-analyzer
--output-dir, -o Directory to copy project to (default: temp directory)
--json-output, -j Output file for JSON export (default: index_scip.json)
--keep-copy Keep the copied project after analysis
--check-tools Check if required tools are available and exit
- Python 3.6+
requests
library (pip install requests
)
- Linux (x86_64, aarch64, armv7)
- macOS (x86_64, ARM64)
- Windows (x86_64, aarch64, i686)
- Linux (x86_64, aarch64, armv7)
- macOS (x86_64, ARM64)
- Windows (x86_64, aarch64, i686)
- Linux (amd64, arm64, arm)
- macOS (amd64, arm64)
- Windows (amd64, arm64)
The installer will:
- Install Verus Analyzer to
~/verus-analyzer
- Add it to your PATH in
~/.bashrc
(or appropriate shell config) - Verify the installation works
To use immediately:
source ~/.bashrc
verus-analyzer --version
The installer will:
- Install Rust Analyzer to
~/rust-analyzer
- Add it to your PATH in
~/.bashrc
(or appropriate shell config) - Verify the installation works
To use immediately:
source ~/.bashrc
rust-analyzer --version
The installer will:
- Install SCIP to
~/scip
- Add it to your PATH in shell configuration
- Verify the installation works
To use immediately:
source ~/.bashrc
scip --version
The generator will:
- Copy your project to a working directory
- Run analyzer SCIP analysis (
verus-analyzer scip .
orrust-analyzer scip .
) - Export SCIP index to JSON (
scip print --json index.scip > index_scip.json
) - Clean up temporary files (unless
--keep-copy
is used)
Fetching latest stable Verus Analyzer release...
Found release: 0.2025.08.05
Published: 2025-08-05T15:30:00Z
Pre-release: False
Downloading verus-analyzer-x86_64-unknown-linux-gnu.gz (15.2 MB)...
β Download completed
β Verus Analyzer installed to: /home/user/verus-analyzer
β Installation verified successfully!
π Next steps:
1. Restart your terminal or run: source /home/user/.bashrc
2. Type 'verus-analyzer --version' to verify
Fetching latest stable Rust Analyzer release...
Found release: 2025-08-05
Published: 2025-08-05T10:00:00Z
Pre-release: False
Downloading rust-analyzer-x86_64-unknown-linux-gnu.gz (12.5 MB)...
β Download completed
β Rust Analyzer installed to: /home/user/rust-analyzer
β Installation verified successfully!
π Next steps:
1. Restart your terminal or run: source /home/user/.bashrc
2. Type 'rust-analyzer --version' to verify
Fetching latest stable SCIP release...
Found release: v0.5.2
Published: 2025-08-01T10:15:00Z
Pre-release: False
Downloading scip-linux-amd64.tar.gz (8.1 MB)...
β Download completed
β SCIP installed to: /home/user/scip
β Installation verified successfully!
π Next steps:
1. Restart your terminal or run: source /home/user/.bashrc
2. Type 'scip --version' to verify
============================================================
SCIP INDEX GENERATION
============================================================
1. Copying project...
Copying project from /home/user/my-project to /tmp/scip_analysis_xyz/my-project
2. Running verus-analyzer SCIP analysis...
Executing: verus-analyzer scip .
β verus-analyzer SCIP analysis completed successfully
β SCIP index file created: /tmp/scip_analysis_xyz/my-project/index.scip
3. Exporting SCIP index to JSON...
Executing: scip print --json index.scip
β SCIP JSON export completed successfully
β Output file: /tmp/scip_analysis_xyz/my-project/index_scip.json
File size: 2.5 MB
============================================================
ANALYSIS COMPLETE
============================================================
β Project: /home/user/my-project
β Analyzer: verus-analyzer
β SCIP file: /tmp/scip_analysis_xyz/my-project/index.scip
β JSON output: /tmp/scip_analysis_xyz/my-project/index_scip.json
π SCIP index JSON available at: /tmp/scip_analysis_xyz/my-project/index_scip.json
You can chain these tools together for a complete analysis workflow:
# 1. Install tools
python3 verus_analyzer_installer.py
python3 rust_analyzer_installer.py
python3 scip_installer.py
# 2. Generate SCIP index for your project
python3 generate_scip_index.py /path/to/your/verus/project
# 3. The JSON output can be used for further analysis
cat index_scip.json | jq '.documents | length' # Count indexed documents
Each script is self-contained and includes:
- Comprehensive error handling
- Progress bars for downloads
- Platform detection
- Path configuration
- Installation verification
- Cleanup options