Skip to main content

A Python module and CLI tool to manually download Chrome/Chromium components.

Project description

Chrome Component Downloader

A Python module and CLI tool to manually download Chrome/Chromium components.

Features

  • Generate update requests for Chromium components.
  • Support for Omaha protocol version 3.1.
  • Download latest and previous versions of each component.

Installation

To use this component yourself, you can clone this repo or install it with pip:

pip install chrome-component-downloader

Python Module

The module allows to download Chromium components and generate update requests.

Example usage

Download component and save as zip file locally:

from chrome_component_downloader import download_component

component_zip, version = download_component(
    component_id = "niikhdgajlphfehepabhhblakbdgeefj", # Privacy Sandbox Attestations
    target_version = "2025.03.31",
    send_system_info = False
)

print(f"Version: {version}")
with open("component.zip", "wb") as out_file:
    out_file.write(component_zip)

Generate an update request:

from chrome_component_downloader.update_request import generate as generate_update_request

update_request = generate_update_request(
    component_id = "niikhdgajlphfehepabhhblakbdgeefj", # Privacy Sandbox Attestations
    target_version = "2025.03.31",
    send_system_info = False
)

print(update_request)

CLI Tool

The CLI tool provides a simple way to download a component from the command line.

Usage

usage: chrome-component-downloader [-h] [--target_version TARGET_VERSION] [--output OUTPUT] [--send_system_info] component

positional arguments:
  component             The component's ID or name. The component names can be one of the following: 
                        - autofill_states_data
                        - pki_metadata
                        - subresource_filter_rules
                        - crowd_deny
                        - certificate_error_assistant
                        - related_website_sets
                        - amount_extraction_heuristic_regexes
                        - crlset
                        - hyphenation
                        - third_party_cookie_deprecation_metadata
                        - safety_tips
                        - file_type_policies
                        - trust_token_key_commitments
                        - mei_preload
                        - origin_trials
                        - optimization_hints
                        - cookie_readiness_list
                        - screenai_library
                        - privacy_sandbox_attestations
                        - ondeviceheadsuggest
                        - widevine_content_decryption_module
                        - zxcvbn_data_dictionaries
                        - open_cookie_database

options:
  -h, --help            show this help message and exit
  --target_version TARGET_VERSION
                        The component's target version. It can be a prefix that the version number must match. If no value is specified, the latest version is downloaded.
  --output OUTPUT       The output file name. If no value is specified, the component's ID and version is used as the file name.
  --send_system_info    Send system information to the CUP server.

Example usage

Download a specific component:

chrome-component-downloader privacy_sandbox_attestations --target_version 2025.03.31

Docker container

The CLI tool can also be used as a Docker container. You can use the salb98/chrome-component-downloader pre-compiled image. Here is an example command:

docker run -v ./output:/app/out:rw salb98/chrome-component-downloader privacy_sandbox_attestations --output /app/out/component.zip

This creates and saves the component zip in the output/ folder in your current working directory.

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

chrome_component_downloader-0.1.2.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

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

chrome_component_downloader-0.1.2-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file chrome_component_downloader-0.1.2.tar.gz.

File metadata

  • Download URL: chrome_component_downloader-0.1.2.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.9.21 Linux/6.8.0-1021-azure

File hashes

Hashes for chrome_component_downloader-0.1.2.tar.gz
Algorithm Hash digest
SHA256 d3c2b05d5ed5c63b7b959011ce4f9436c80bc618e7157676b5b9479e91875760
MD5 7da8adca3e21f4b68aaf65aaa45e2ac1
BLAKE2b-256 d3de4c85a1c4894cb30afb8c61cf1d7648694d653d087a708b6fba519241c24d

See more details on using hashes here.

File details

Details for the file chrome_component_downloader-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for chrome_component_downloader-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0355fa933bb54ba076d162d7c61878d1dc207a3c8c4690eed4edfdf25aa27596
MD5 cb2ff8fd559e6dd53a69e8708fbfdc03
BLAKE2b-256 5d51d72a13a421948cabb4533b3beba12bd80c77c3c8e5f5c6d4552bcd2a3684

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