Extract and decompile code.ccp into a clean Python source tree.
code.ccp is found in the eveonline client files.
This tool takes a CCP game client's code.ccp archive (a ZIP of .pyj blobs), decompresses and decompiles the bytecode, and writes out the resulting Python source files.
uvx tool install git+https://github.com/jlevere/deccp.git
uvx deccp --helpuvx tool install will clone the Git repo into your local cache and build it for use, no PyPI needed.
- Decompresses
.pyjblobs from acode.ccparchive - Decompiles Python bytecode using uncompyle6 and xdis
- Parallel processing for speed
- Outputs decompilation errors to a JSON file for review
- Python > 3.11
uv(for dependency management)
Install the project and its dependencies in editable mode:
uv venv
uv syncIf you use Nix flakes:
nix developThis provides a shell with Python 3.12, uv, and all project dependencies available inside a .venv.
You can run the tool via the CLI:
uv run python -m deccp.main <path/to/code.ccp> [--out <output_dir>] [--jobs <num_workers>]Or, if installed as an entry point:
deccp <path/to/code.ccp> [--out <output_dir>] [--jobs <num_workers>]<path/to/code.ccp>: Path to the CCP archive (a ZIP of.pyjfiles)--out <output_dir>: Output directory for theclient_code/tree (default: same directory as the ZIP)--jobs <num_workers>: Number of parallel decompile workers (default: 4)
deccp code.ccp --out ./output --jobs 8- Decompiled Python files are written to a
client_code/directory inside your chosen output path. - Any decompilation failures are logged in
decompile_errors.json.