Skip to main content

ArmaIO logo


PyPI - Version Python Version GPLv3 Docs status Typed

ArmaIO is a Python package providing utilities to read and write file formats specific to the Arma 3 game, and its Real Virtuality 4 engine.

Overview

The package supports most notable file formats used in Arma 3. Reading is implemented for all supported formats, but writing is only available for some, where it makes sense.

ArmaIO does not come with in-depth authoring utilities. The data is read and presented in relatively thin wrapper structures, with minimal transformation of the data structures of the files themselves. As such, ArmaIO is most suited to be used as a middle layer to handle file IO in a more complex authoring application built on top of it.

Supported formats

  • PAA
    • reading
    • processing with Pillow
    • DXT1
    • DXT5
    • ARGB8888
    • ARGB4444
    • ARGB1555
    • AI88
  • RTM (plain)
    • reading
    • writing
  • RTM (binarized)
    • reading
    • conversion to plain

[!NOTE] The modules coming with this package were originally developed as part of the Arma 3 Object Builder plugin for Blender. They are released in this standalone package to facilitate independent use, and easier maintenance.

Requirements

To use the ArmaIO package, Python 3.11 or higher is required.

For some operations, the package depends on NumPy. Some of the extra features might require further dependencies. These are indicated in their respective documentations.

Installation

The preferred method to install ArmaIO is through PyPI, where both wheel and source distributions are made available.

python -m pip install armaio

If not yet published changes/fixes are needed, that are only available in source, ArmaIO can also be installed locally from source, without any external tools. Once the repository is cloned to a directory, it can be installed with pip.

git clone https://github.com/MrClock8163/ArmaIO.git
cd ArmaIO
python -m pip install .

Example

from armaio.paa import PaaFile
from armaio.paa.pillow import open_paa_image  # extra, requires Pillow

paa = PaaFile.read_file("texture_co.paa")
print(paa.format)

with open_paa_image("texture_co.paa") as img:
    print(img.getpixel((1, 2)))

License

The ArmaIO package distributed under the terms of the GNU General Public License version 3.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see the GNU licenses.

Files created using this software are not covered by this license.

Metadata

Release files for armaio 0.1.0

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

Source distribution (sdist)

Source distribution for armaio 0.1.0
File Size Uploaded
armaio-0.1.0.tar.gz 93.0 kB Details

Built distribution (wheel)

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

Total release size: 131.3 kB

Release files / armaio-0.1.0.tar.gz

Download URL armaio-0.1.0.tar.gz
Size 93.0 kB
Tags Source
SHA-256 checksum
How to use checksums
ee1b0133ca714534c8d5cf5d8933682855d613b43b710cc39d35b504ff86f7ec
BLAKE2b-256 checksum
How to use checksums
b17475445d149366a9dfbc0a2b7a283040c447701698b8926bf25d2a069536cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 2, 2026.

Transparency log

Release files / armaio-0.1.0-py3-none-any.whl

Download URL armaio-0.1.0-py3-none-any.whl
Size 38.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2cb7ad8373731dd819941d87c50363b65ae2f2608b060be342131e4b9a321193
BLAKE2b-256 checksum
How to use checksums
8f39b14dfe452a7c5c5be7372a1d0134aa3a431a5a3c53b23784962c72e7ca73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 2, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

0.0.1

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