Metadata-Version: 2.4
Name: pack-checker
Version: 1.6.0
Summary: PopTracker pack check tool
License-Expression: GPL-3.0-or-later
Project-URL: Repository, https://github.com/PopTracker/pack-checker.git
Project-URL: Issues, https://github.com/PopTracker/pack-checker/issues
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
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.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: jsonschema>=4.20.0
Requires-Dist: referencing
Provides-Extra: cli
Requires-Dist: certifi; extra == "cli"
Provides-Extra: lint
Requires-Dist: types-jsonschema>=4.20.0.20240105; extra == "lint"
Requires-Dist: certifi>=2026.2.25; extra == "lint"
Requires-Dist: mypy==1.19.1; extra == "lint"
Requires-Dist: flake8==7.3.0; extra == "lint"
Requires-Dist: bandit==1.9.4; extra == "lint"
Requires-Dist: flake8-bandit==4.1.1; extra == "lint"
Requires-Dist: flake8-pyproject==1.2.4; extra == "lint"
Requires-Dist: black==26.3.1; extra == "lint"
Dynamic: license-file

# PopTracker Pack Checker

Tool to check PopTracker packs.


## Features

* Validates json schema
* Warns for some json/jsonc and Lua compatibility issues
* Warns for some hidden/dead files (only for zipped packs)
* Warns for unsupported images and misleading file extensions
* Warns for wrong/missing `min_poptracker_version` if a min is detected
* Errors for some dead references: ref or parent pointing to a missing object

## Installation

`pack_checker.py` can be run from source, it can be run as frozen `pack_checker.exe` from GitHub releases,
or it can be installed as `pack-checker` script into a venv from PyPI with `pip install pack_checker`.


## Usage

```
usage: pack_checker.py [-h] [--strict] [--schema folder/url] [--check-legacy-compat | --no-legacy-compat] [-i | -b] path/to/pack

positional arguments:
  path/to/pack          path to the pack to check

options:
  -h, --help            show this help message and exit
  --strict              use strict json schema
  --schema folder/url   use custom schema source
  --check-legacy-compat
                        check for compatibility issues with old PopTracker versions and alternative implementations (default)
  --no-legacy-compat    skip checking for compatibility issues with very old PopTracker versions and alternative implementations
  -i, --interactive     keep console open when done (default on Windows)
  -b, --batch           exit program when done (default on non-Windows)
```
