Development tools loader
Project description
Development Tools Loader
A CLI tool for automated downloading of development tools:
- VS Code installers and extensions (
.vsixfiles). - Python installers and pip packages;
The tool ensures version compatibility, handles dependencies, and supports repeatable configurations via JSON.
Key Features
- Version control: Ensures VS Code extension versions match the target VS Code engine version.
- Package bundles: Supports downloading multiple packages/extensions in a single config.
- Dependency handling: Automatically resolves and downloads dependencies for VS Code extensions.
- Resilient downloads: Automatically retries on connection loss.
- Repeatable setups: JSON-based configuration enables reproducible environment setups.
- Flexible versioning: Supports
"latest"for extensions and packages.
Installation
pip install dev-tools-loader
Running
Once installed, you can run the tool from the command line using the JSON configuration file.
dev_tools_loader -j path/to/config.json
Command‑Line Options
-j,--json-path<json_config_path>(required) Specifies the path to the JSON configuration file that defines download targets.-o,--output-path<output_dir>Sets the output directory where downloaded files will be saved.-c,--cleanIf specified, deletes files in the target output directory before starting the download process.-h,--helpDisplays the help message with a summary of all available options and exits.--versionPrints the current version of thedev-tools-loaderpackage and exits.
Example Config
{
"version": "0.1.0",
"targets": [
{
"type": "python",
"platform": "win_amd64",
"version": "3.12.0",
"installer": "load",
"packages": [
{
"name": "compiledb",
"version": "0.10.6"
},
{
"name": "requests",
"version": "latest"
}
]
},
{
"type": "vscode",
"platform": "win32-x64",
"version": "1.96.0",
"installer": "load",
"extensions": [
{
"uid": "ms-vscode.cpptools",
"version": "1.28.0"
},
{
"uid": "ms-python.python",
"version": "latest"
}
]
}
]
}
Configuration Fields
version(str): Schema version.targets(list): List of download targets. Each target has:type(str):"python"or"vscode".platform(str): Target platform (see supported platforms below).version(str): Version of the tool.installer(str):"load"to download installer or"skip".packages(list, Python-only): List of pip packages to download.name(str): Package name.version(str): Package version ("latest"supported).
extensions(list, VS Code-only): List of VS Code extensions to download.uid(str): Extension ID (e.g.,"ms-vscode.cpptools").version(str): Extension version ("latest"supported).
Supported Platforms Python
win32win_amd64win_arm64manylinux1_x86_64manylinux2010_x86_64manylinux2014_x86_64manylinux1_i686manylinux2010_i686manylinux2014_i686manylinux2014_aarch64manylinux2014_armv7lmacosx_10_9_x86_64macosx_11_0_arm64
Supported Platforms VS Code
win32-x64win32-arm64linux-x64linux-arm64linux-armhfalpine-x64alpine-arm64darwin-x64darwin-arm64
Project details
Release history Release notifications | RSS feed
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 dev_tools_loader-0.1.0rc2.tar.gz.
File metadata
- Download URL: dev_tools_loader-0.1.0rc2.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
55b96266ae48b7d1dec0e9f800a2f176b20d52dd03e2912ab87c0c6f1df517ae
|
|
| MD5 |
ef422d9a08c0af08e6fbccc8bb0f5583
|
|
| BLAKE2b-256 |
6fc5e5561ccfcbb40456b43956949255b174d4b125b9e3c8c5de6f5e4e37c172
|
File details
Details for the file dev_tools_loader-0.1.0rc2-py3-none-any.whl.
File metadata
- Download URL: dev_tools_loader-0.1.0rc2-py3-none-any.whl
- Upload date:
- Size: 3.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8bc64ccc02d212017cd79a0bc24cd078ab3af53f6ba61f77d9e38a13e13f2c9e
|
|
| MD5 |
046969106da412a8efd4b41abb85f64d
|
|
| BLAKE2b-256 |
b7c61b0f49f51b79e4af9db5c531e1f2117260a1a8a13c774ba63bff777093f7
|