Skip to main content

Universal IMG

PyPI version Downloads Python versions License

Universal IMG is a Python library and a graphical user interface (GUI) application designed for opening and editing .img archive files used in Grand Theft Auto III, Vice City, and San Andreas.

The core of the library acts as a Python API wrapper for freimgedcs, while the optional GUI provides a user-friendly desktop application built with Kivy and KivyMD.

Installation

You can install the package via PyPI depending on your needs.

To use the Desktop GUI application:

pip install UniversalIMG[gui]

To use only the Python API (No GUI dependencies):

pip install UniversalIMG

Python API Usage

The library provides a convenient interface to manipulate .img files programmatically.

from pyimgedit import IMGArchive

# Initialize the archive
archive = IMGArchive('models/gta3.img')

# List contents
header, info, files = archive.list()
for file in files:
    print(file.name, file.size, file.offset)

# Add or replace a file
archive.add('player.dff')

# Extract a file
archive.extract('player.dff', 'extracted/player.dff')

# Rebuild archive
archive.rebuild()

GUI Application Features

If you installed the package with the [gui] extra, you can launch the application from the terminal or create a desktop shortcut to the executable.

Interface Overview

The graphical interface supports seamless file browsing, sorting, adding, extracting, and deleting operations with visual progress indicators and operation logs.

Main Interface Operations

Hotkeys & Navigation

The application supports quick keyboard operations for power users:

  • F2 / Ctrl+O - Open Archive
  • F3 / Ctrl+E - Extract Selected
  • Ctrl+A - Add Files
  • Ctrl+Shift+A - Select All
  • F4 / Ctrl+D - Delete Selected
  • F5 / Ctrl+R - Reload Archive
  • F6 / Ctrl+Shift+R - Rebuild Archive
  • F7 / Ctrl+L - Toggle Theme

Theming

Universal IMG includes Light, Dark, and Auto (System) themes. Click the lightbulb icon in the top right corner to cycle through modes.

Theming

Sorting & File Management

Click on column headers to sort files by Name, Size, or Offset. Click on a file name directly to rename it within the archive. Use the pagination bar at the bottom to navigate through large archives and filter files by search query.

Sorting Navigation

Troubleshooting

  1. If you encounter permission issues while editing archives (especially those located in Program Files), ensure you run the application with Administrator privileges or move your .img and executable files to the same non-system drive.

  2. If suddenly you encounter an OpenGL error:

    [INFO    ] [GL] OpenGL parsed version: 1, 1
    [CRITICAL] [GL] Minimum required OpenGL version (2.0) NOT found!
    

    You can change the backend by setting the KIVY_GL_BACKEND=angle_sdl2 environment variable in your system.

License

MIT License. Copyright (c) 2022 Nikita Denissov.

Release files for UniversalIMG 1.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for UniversalIMG 1.3.1
File Size Uploaded
universalimg-1.3.1.tar.gz 72.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for UniversalIMG 1.3.1
File Interpreter ABI Platform
universalimg-1.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 144.5 kB

Release files / universalimg-1.3.1.tar.gz

Download URL universalimg-1.3.1.tar.gz
Size 72.2 kB
Tags Source
SHA-256 checksum
How to use checksums
0b71be11f323fea48109e7bf28995d89c2f0dc8c33fb92907ac06d9ce767e6e3
BLAKE2b-256 checksum
How to use checksums
973fb70fc7d0b92cafba95a470719a75caec27811b4ea90515918ed3233a1d47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.1 CPython/3.13.14 Linux/7.1.3-zen2

Release files / universalimg-1.3.1-py3-none-any.whl

Download URL universalimg-1.3.1-py3-none-any.whl
Size 72.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b1ce8aafcab2a788247f5043839d8abc4fb3d0e0abe3d90dcbf25cf0a637b3b5
BLAKE2b-256 checksum
How to use checksums
3a56bc1ddf2d783d902a4c06e2fe5df1019fe637ea8786731c6e9228b363cf78
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.1 CPython/3.13.14 Linux/7.1.3-zen2

Release history Release notifications | RSS feed

This release

1.3.1 This release

2 release files

1.3.0

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page