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
dev_tools_loader-0.1.0rc1.tar.gz
(10.2 kB
view details)
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.0rc1.tar.gz.
File metadata
- Download URL: dev_tools_loader-0.1.0rc1.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1832b57592450f79bde8e3dcf76f756dd133e82cbd7f26265f16cb3134b8069f
|
|
| MD5 |
d6ff089740d543021a841eec1ed5f5ac
|
|
| BLAKE2b-256 |
2b95e6d51b269f0f5ddb81b97ce03826e0740d2d0b840e63e070dbddb7335c48
|
File details
Details for the file dev_tools_loader-0.1.0rc1-py3-none-any.whl.
File metadata
- Download URL: dev_tools_loader-0.1.0rc1-py3-none-any.whl
- Upload date:
- Size: 9.4 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 |
3ce1f992685c51f41e9b44d18f32b618d0e9c2047ccf2b049c87d6aad6c52320
|
|
| MD5 |
24a1fd8b6ab0bf4f53783ca63152dce2
|
|
| BLAKE2b-256 |
99eac614e74d048e0ac63b4eadccca7ef62deae7c44849488786feea4cf059a3
|