Metadata-Version: 2.5
Name: esp-gsp-tools
Version: 0.1.0
Summary: Resolve, verify, cache, and run pinned esp-gsp-tools releases
Author: Espressif Systems
License: Apache-2.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: <3.15,>=3.10
Requires-Dist: cryptography>=44.0.0
Description-Content-Type: text/markdown

# esp-gsp-tools

`esp-gsp-tools` resolves, verifies, caches, and runs a pinned release of one
of the supported products:

| Product name | Product |
| --- | --- |
| `gspc` | GSPC |
| `sim` | simulator |

Product names are case-insensitive.

## Run a product

```sh
python -m gsp.execute --version 0.2.4 gspc pack scene.json -o bundle.gspb
python -m gsp.execute --no-auto-cache sim --help
```

All arguments after the product name are passed to that product unchanged.
`--version` overrides `GSP_VERSION`. A missing cached version is downloaded
automatically unless `--no-auto-cache` or
`GSP_TOOLS_NO_AUTO_DOWNLOAD=1` is used.

The direct executable variables are `GSPC_EXECUTABLE` and
`GSP_SIM_EXECUTABLE`; either takes precedence over the cache and version.

## Manage the cache

The manager requires a product for every version-specific operation. Both
`VERSION PRODUCT` and `PRODUCT VERSION` are accepted:

```sh
python -m gsp.manager install 0.2.4 gspc
python -m gsp.manager fetch sim 0.2.4
python -m gsp.manager reinstall 0.2.4 GSPC
python -m gsp.manager path 0.2.4 sim
python -m gsp.manager remove 0.2.4 gspc
python -m gsp.manager list sim
```

The cache defaults to `~/.espressif/esp-gsp-tools` and can be changed with
`GSP_TOOLS_CACHE_DIR` or `--cache-dir`. `GSP_TOOLS_BASE_URL` overrides the
single release root URL. The manager appends the product directory (`gspc` or
`sim`) before the version path. Release archives are authenticated with the
configured Ed25519 public keys as described by the manifest.

If a product name is not supported, the command explains that the installed
`esp-gsp-tools` version may be outdated and suggests:

```sh
python -m pip install -U esp-gsp-tools
```
