Skip to main content

Development tools loader

Project description

Development Tools Loader

A CLI tool for automated downloading of development tools:

  • VS Code installers and extensions (.vsix files).
  • 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, --clean If specified, deletes files in the target output directory before starting the download process.
  • -h, --help Displays the help message with a summary of all available options and exits.
  • --version Prints the current version of the dev-tools-loader package 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

  • win32
  • win_amd64
  • win_arm64
  • manylinux1_x86_64
  • manylinux2010_x86_64
  • manylinux2014_x86_64
  • manylinux1_i686
  • manylinux2010_i686
  • manylinux2014_i686
  • manylinux2014_aarch64
  • manylinux2014_armv7l
  • macosx_10_9_x86_64
  • macosx_11_0_arm64

Supported Platforms VS Code

  • win32-x64
  • win32-arm64
  • linux-x64
  • linux-arm64
  • linux-armhf
  • alpine-x64
  • alpine-arm64
  • darwin-x64
  • darwin-arm64

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

dev_tools_loader-0.1.0rc4.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dev_tools_loader-0.1.0rc4-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

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

Hashes for dev_tools_loader-0.1.0rc4.tar.gz
Algorithm Hash digest
SHA256 7b4cadcdc1e82700836e3062a21bda2d5c4959eaf9a09acc086f2cec2311748a
MD5 3ee02452d713da6e797b0cae4091e03f
BLAKE2b-256 82a8ad695d482f051a4e7283c8c7c264bb1a74c4aedb760086a28509746150de

See more details on using hashes here.

File details

Details for the file dev_tools_loader-0.1.0rc4-py3-none-any.whl.

File metadata

File hashes

Hashes for dev_tools_loader-0.1.0rc4-py3-none-any.whl
Algorithm Hash digest
SHA256 7d6bc42362db0f7d52f4e270b9123fd7ccd8ff6e994896a0c0b7b3f4a24286e9
MD5 f0d3968c6c58468e4aadad40051e5761
BLAKE2b-256 e26ebe289c03f93cd1cb9e1f47616eab667f2cef4f632b944c2f521e41dce497

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page