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.0rc4.tar.gz
(10.5 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.0rc4.tar.gz.
File metadata
- Download URL: dev_tools_loader-0.1.0rc4.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b4cadcdc1e82700836e3062a21bda2d5c4959eaf9a09acc086f2cec2311748a
|
|
| MD5 |
3ee02452d713da6e797b0cae4091e03f
|
|
| BLAKE2b-256 |
82a8ad695d482f051a4e7283c8c7c264bb1a74c4aedb760086a28509746150de
|
File details
Details for the file dev_tools_loader-0.1.0rc4-py3-none-any.whl.
File metadata
- Download URL: dev_tools_loader-0.1.0rc4-py3-none-any.whl
- Upload date:
- Size: 9.5 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 |
7d6bc42362db0f7d52f4e270b9123fd7ccd8ff6e994896a0c0b7b3f4a24286e9
|
|
| MD5 |
f0d3968c6c58468e4aadad40051e5761
|
|
| BLAKE2b-256 |
e26ebe289c03f93cd1cb9e1f47616eab667f2cef4f632b944c2f521e41dce497
|