Skip to main content

Auto-updater utility for Google Antigravity developer tools (IDE, Hub, CLI)

Project description

missing-ag-updater

CI/CD Coverage PyPI Version Python Versions License: MIT

[!IMPORTANT] Disclaimer: This project is an unofficial, community-maintained utility. It is NOT affiliated with, sponsored by, or supported by Google LLC.

[!WARNING] Alpha Software: This utility is currently in an early alpha stage of development. Features may change without notice, and bugs may occur. Use with caution.

This repository contains a Python utility to check for and apply updates to the Google Antigravity developer suite on Linux, macOS, and Windows.

Features

  • Component Support: Independently check and upgrade:
    • Antigravity IDE (VS Code-based AI Editor)
    • Antigravity Hub (Standalone Agent Desktop Application)
    • Antigravity CLI (agy command line tool)
  • Cross-Platform: Supports Linux (.tar.gz), macOS (.dmg mount installation), and Windows (.exe silent installation).
  • Safe Installation: Warns if the target application is running before attempting to overwrite files.
  • Verification: Downloads the CLI directly and verifies SHA512 checksums prior to installation.
  • Rich Terminal UI: Displays download progress bars and clear success/warning logs.
  • Dry Run Support: Check if any updates are available without changing any files.
  • Development Tooling: Complete with linter, test coverage, and environment creation via uv.

Installation

For Users (via pipx)

The recommended way to install and run the tool in an isolated environment is via pipx:

# Install the stable release from PyPI (recommended):
pipx install missing-ag-updater

# Alternatively, install the development version directly from GitHub:
pipx install git+https://github.com/hellqvio86/missing-ag-updater.git

Once installed, the antigravity-updater command will be globally available.

For Developers

Create the local virtual environment and install development tools (pytest, ruff) using uv and the provided Makefile:

make venv

Usage

Run the package directly to check and update all components:

python -m missing_ag_updater
# or using the installed entrypoint:
antigravity-updater

Example Output

$ antigravity-updater

=== Unofficial Antigravity Applications Auto-Updater (missing-ag-updater) ===
⚠ This project is a community tool and is NOT affiliated with, sponsored by, or supported by Google.
  Target Platform: linux (x64)

⠋ Checking for Antigravity IDE updates...
  Local IDE Version:  2.0.4
  Latest IDE Version: 2.0.4
✓ Antigravity IDE is up to date.

⠋ Checking for Antigravity Hub updates...
  Local Hub Version:  2.1.4
  Latest Hub Version: 2.1.4
✓ Antigravity Hub is up to date.

⠋ Checking for Antigravity CLI updates...
  Local CLI Version:  1.0.8
  Latest CLI Version: 1.0.8
✓ Antigravity CLI is up to date.

✓ Operation completed successfully.

Options

usage: python -m missing_ag_updater [-h] [--check] [--ide] [--hub] [--cli] [--force]
                 [--dir-ide DIR_IDE] [--dir-hub DIR_HUB] [--path-cli PATH_CLI]

Auto-updater utility for Google Antigravity developer tools (Cross-Platform).

options:
  -h, --help         show this help message and exit
  --check            Check for available updates without installing (dry run)
  --ide              Update only the Antigravity IDE
  --hub              Update only the Antigravity Hub
  --cli              Update only the Antigravity CLI
  --force            Bypass version checks and active process warnings
  --dir-ide DIR_IDE  Override path to Antigravity IDE folder/bundle
  --dir-hub DIR_HUB  Override path to Antigravity Hub folder/bundle
  --path-cli PATH_CLI Override path to Antigravity CLI binary

Examples

  • Dry run check for all tools:

    python -m missing_ag_updater --check
    
  • Force update the Hub application only:

    python -m missing_ag_updater --hub --force
    
  • Update only the CLI tool:

    python -m missing_ag_updater --cli
    

Default Installation Paths

When running an update, the tool first downloads the application packages (such as .tar.gz, .dmg, or .exe installers) to a temporary system directory (e.g. /tmp on Linux/macOS, or %TEMP% on Windows). Once the extraction and installation are complete, these temporary files are automatically deleted.

After the update finishes, the permanent application files are stored in the following default paths:

Platform Antigravity IDE Path Antigravity Hub Path Antigravity CLI Path Launcher/Symlink Path
Linux ~/opt/Antigravity IDE ~/opt/Antigravity-x64 ~/.local/bin/agy ~/.local/bin/antigravity-ide
~/.local/bin/antigravity
macOS /Applications/Antigravity IDE.app /Applications/Antigravity.app ~/.local/bin/agy N/A (installed in Applications)
Windows %LOCALAPPDATA%\Programs\antigravity-ide %LOCALAPPDATA%\Programs\antigravity %LOCALAPPDATA%\Microsoft\WindowsApps\agy.exe N/A (added to PATH)

You can override these default paths at execution time using the --dir-ide, --dir-hub, and --path-cli flags.


Upstream Sources (Where Google Stores the Binaries)

All application packages are fetched directly from official Google distribution servers:

  • Antigravity IDE: Downloaded from Google's stable release CDN domains (dl.google.com and edgedl.me.gvt1.com).
  • Antigravity Hub: Downloaded from Google's public Google Cloud Storage bucket (storage.googleapis.com/antigravity-public).
  • Antigravity CLI: Downloaded from URLs specified in the official updates manifests hosted on Google Cloud.

How It Works

The auto-updater acts as a secure, cross-platform layer to keep your local developer environment up to date:

  1. Update Resolution: Queries the unofficial update API endpoints to parse the latest version info. For the IDE and Hub, this resolves to Google release manifests. For the CLI, it parses the architecture-specific manifest.

  2. Process Integrity Check: Before writing any files, the utility checks if the IDE or Hub is currently running. If active PIDs are detected, the update will abort (unless bypassed with --force) to prevent file lockups and corruption.

  3. Secure CLI Checksum Verification: When updating the CLI, the manifest provides a SHA-512 checksum. The tool computes the hash of the downloaded zip or tarball locally and compares them to ensure integrity before extraction.

  4. Platform-Specific Installation:

    • Linux: Extracts the tarball to a temporary directory, replaces the target directory under ~/opt, and creates/updates symbolic links under ~/.local/bin.
    • macOS: Mounts the downloaded .dmg file securely via hdiutil attach, replaces the .app bundle under /Applications, and unmounts the volume.
    • Windows: Executes the installer binary with the silent installation flag (/S) to perform a background upgrade.

Launching the Applications

Once updated, you can launch the Antigravity tools using their standard terminal commands:

  • Antigravity IDE (VS Code-based AI Editor):
    antigravity-ide
    
  • Antigravity Hub (Standalone agent desktop application):
    antigravity
    
  • Antigravity CLI (Terminal utility):
    agy
    

Development

The project includes a Makefile to simplify development tasks:

  • Lint check (Ruff):
    make lint
    
  • Run unit tests (Pytest):
    make test
    
  • Clean virtual environment & cache:
    make clean
    

License

This project is licensed under the MIT License.

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

missing_ag_updater-0.1.2.tar.gz (65.1 kB view details)

Uploaded Source

Built Distribution

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

missing_ag_updater-0.1.2-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: missing_ag_updater-0.1.2.tar.gz
  • Upload date:
  • Size: 65.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for missing_ag_updater-0.1.2.tar.gz
Algorithm Hash digest
SHA256 fbaf7187dc4e2ffa37821fdb3b8eeab2f0cfc3efec623026c42957c78d8ae855
MD5 ebc5a1f84e81efb161a6624ffbd68d2e
BLAKE2b-256 54a8ce87c668c1cc90386601b7d26c4666dbd80fc76e2c65acd93635a43d7543

See more details on using hashes here.

Provenance

The following attestation bundles were made for missing_ag_updater-0.1.2.tar.gz:

Publisher: ci.yml on hellqvio86/missing-ag-updater

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for missing_ag_updater-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 aaaee217c4e94b234a165254e21f8f139ab2b69a5278698dcee50cbbef1e6b41
MD5 67838a2de34e38b8d1866623067c2f03
BLAKE2b-256 6bc16e5fb4ac53406d03a4e75fc03dc2a9d6c834f72b45c99ac3fc00376732da

See more details on using hashes here.

Provenance

The following attestation bundles were made for missing_ag_updater-0.1.2-py3-none-any.whl:

Publisher: ci.yml on hellqvio86/missing-ag-updater

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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