Scout out for transitive versions of Drupal modules for the upgrade of the core.
Project description
Drupal Scout
Search for Drupal module entries with transitive core version requirements to help to upgrade the Drupal Core.
Installation
Using uv (Recommended)
uv tool install drupal-scout
Or run directly without installing:
uvx drupal-scout --help
Using pip
pip install drupal-scout
Quick Start
Get a compatibility report for your current Drupal project:
drupal-scout
Scan a specific module for Drupal 11 compatibility:
drupal-scout --core 11.0.0 --modules drupal/webform
Features
- Asyncio Concurrency: High-performance parallel module scanning using
asyncioto speed up dependency analysis. - Rich TUI Integration: Beautiful terminal output with structured tables and real-time progress bars powered by the
richlibrary. - MCP Server Support: Built-in Model Context Protocol server for integration with AI IDEs (like Claude Desktop or Cursor).
- Environment Diagnostics: Quick self-diagnostic check of the environment and dependencies using the
infocommand. - Multiple Output Formats:
table: High-fidelity color-coded table for human readability.json: Machine-readable raw data for automation scripts.suggest: Generates a suggestedcomposer.jsonwith updated version requirements.
Limitations
- Python 3.11+: The application requires Python 3.11 or higher.
- Composer v2: The application works with Composer-based (Composer v2) Drupal 8+ projects.
Usage/Examples
drupal-scout [-h] [-v] [-d DIRECTORY] [-n] [-l LIMIT] [-f {table,json,suggest}] [-s] [-c CORE] [-m MODULES [MODULES ...]] {info} ...
Arguments
-h, --help: Show help message and exit.-v, --version: Show program's version number and exit.-d DIRECTORY, --directory DIRECTORY: Directory of the Drupal installation (default:.).-n, --no-lock: Do not use thecomposer.lockfile to determine installed versions.-l LIMIT, --limit LIMIT: Concurrency limit for async requests. Default is10.-f {table,json,suggest}, --format {table,json,suggest}: Output format (default:table).-s, --save-dump: Use with--format suggestto save the suggestedcomposer.jsonto disk.-c CORE, --core CORE: Optional Drupal core version override (e.g.,10.0.0).-m MODULES [MODULES ...], --modules MODULES [MODULES ...]: Scan only specific modules, skipping full project discovery.
Subcommands
info: Show diagnostic information about the tool,jqavailability, and the current Drupal environment.
MCP Server Usage
To use Drupal Scout as an MCP server in your AI assistant:
drupal-scout-mcp
Or with uvx:
uvx --from drupal-scout drupal-scout-mcp
Targeted Scan Examples
Scan one specific module with an explicit core version:
drupal-scout --core 10.0.0 --modules drupal/webform
Scan multiple modules and output JSON:
drupal-scout --core 10.0.0 --modules drupal/webform drupal/ctools --format json
Scan modules with auto-detected core from a local directory:
drupal-scout --directory /path/to/drupal --modules drupal/webform
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file drupal_scout-3.0.1.tar.gz.
File metadata
- Download URL: drupal_scout-3.0.1.tar.gz
- Upload date:
- Size: 30.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bfa3eed260b81b90c9ad856c400b36d2b38c88047537a137ae1c4075124d9533
|
|
| MD5 |
317986a9259d221eec7381b0d729ab37
|
|
| BLAKE2b-256 |
ce16c446c8fbb97cc56bf57c52cf50a9be5756c99e7e05b2a1d3aa9ebc97670d
|
Provenance
The following attestation bundles were made for drupal_scout-3.0.1.tar.gz:
Publisher:
release.yml on rtech91/drupal-scout
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
drupal_scout-3.0.1.tar.gz -
Subject digest:
bfa3eed260b81b90c9ad856c400b36d2b38c88047537a137ae1c4075124d9533 - Sigstore transparency entry: 1692314618
- Sigstore integration time:
-
Permalink:
rtech91/drupal-scout@ce5145fbfd0badceabc027d0a82e1899c7864e2c -
Branch / Tag:
refs/tags/v3.0.1 - Owner: https://github.com/rtech91
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ce5145fbfd0badceabc027d0a82e1899c7864e2c -
Trigger Event:
push
-
Statement type:
File details
Details for the file drupal_scout-3.0.1-py3-none-any.whl.
File metadata
- Download URL: drupal_scout-3.0.1-py3-none-any.whl
- Upload date:
- Size: 37.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d002a21c2dc9d26f11ad890e688b037947c49b0a99e0ecc2c686968440905b97
|
|
| MD5 |
ced31167979817e8df370720d17e7493
|
|
| BLAKE2b-256 |
a860480a6269cec093c27f228c957287ba8343e279cfaed497685dbf94bdb8e2
|
Provenance
The following attestation bundles were made for drupal_scout-3.0.1-py3-none-any.whl:
Publisher:
release.yml on rtech91/drupal-scout
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
drupal_scout-3.0.1-py3-none-any.whl -
Subject digest:
d002a21c2dc9d26f11ad890e688b037947c49b0a99e0ecc2c686968440905b97 - Sigstore transparency entry: 1692314834
- Sigstore integration time:
-
Permalink:
rtech91/drupal-scout@ce5145fbfd0badceabc027d0a82e1899c7864e2c -
Branch / Tag:
refs/tags/v3.0.1 - Owner: https://github.com/rtech91
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@ce5145fbfd0badceabc027d0a82e1899c7864e2c -
Trigger Event:
push
-
Statement type: