Skip to main content

Library for recent Nintendo EAD formats in first-party games

Project description

oead is a C++ library for common file formats that are used in modern first-party Nintendo EAD (now EPD) titles.

Python bindings for 3.6+ are also available.

Features

Currently, oead only handles very common formats that are extensively used in recent games such as Breath of the Wild and Super Mario Odyssey.

  • AAMP (binary parameter archive): Only version 2 is supported.

  • BYML (binary YAML): Versions 1, 2, 3, and 4 are supported.

  • SARC (archive)

  • Yaz0 (compression algorithm)

oead also supports a recent Grezzo format that is used in Link’s Awakening (Switch):

Getting started

To install the Python module, simply run:

pip install oead

This will download and install a precompiled version of oead for the following platforms:

  • Windows (x86-64 / 64-bit)

  • Recent Linux distributions (x86-64, glibc and musl)

Precompiled builds for macOS are currently unavailable as the wheel build process seems to be broken. Please help us fix this release failure <https://github.com/zeldamods/oead/actions/runs/9588470856/job/26440567392> if you know how!

The following versions of Python are supported:

  • CPython 3.6 to 3.12

  • PyPy3.7 to 3.9

If you are using any other platform, you must build oead from source (refer to the next section).

For more information, refer to the documentation.

Building from source

Building oead from source requires:

  • CMake 3.12+

  • A compiler that supports C++17

  • Everything needed to build libyaml

First, clone the repository then enter the oead directory and run git submodule update --init --recursive.

Building the Python module

  • To install the module, run pip install -e .. This requires the following Python modules to be installed: setuptools, wheel

  • If you just want to build the Python module from source without installing it, run python setup.py bdist_wheel.

C++ usage

Linking to the oead target is sufficient to use the library.

Contributing

This project is licensed under the GPLv2+ license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oead-1.2.9.post4.tar.gz (4.6 MB view hashes)

Uploaded Source

Built Distributions

oead-1.2.9.post4-pp310-pypy310_pp73-win_amd64.whl (1.3 MB view hashes)

Uploaded PyPy Windows x86-64

oead-1.2.9.post4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

oead-1.2.9.post4-pp39-pypy39_pp73-win_amd64.whl (1.3 MB view hashes)

Uploaded PyPy Windows x86-64

oead-1.2.9.post4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

oead-1.2.9.post4-pp38-pypy38_pp73-win_amd64.whl (1.3 MB view hashes)

Uploaded PyPy Windows x86-64

oead-1.2.9.post4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

oead-1.2.9.post4-pp37-pypy37_pp73-win_amd64.whl (1.3 MB view hashes)

Uploaded PyPy Windows x86-64

oead-1.2.9.post4-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

oead-1.2.9.post4-cp312-cp312-win_amd64.whl (1.3 MB view hashes)

Uploaded CPython 3.12 Windows x86-64

oead-1.2.9.post4-cp312-cp312-musllinux_1_2_x86_64.whl (2.6 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

oead-1.2.9.post4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

oead-1.2.9.post4-cp311-cp311-win_amd64.whl (1.3 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

oead-1.2.9.post4-cp311-cp311-musllinux_1_2_x86_64.whl (2.6 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

oead-1.2.9.post4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

oead-1.2.9.post4-cp310-cp310-win_amd64.whl (1.3 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

oead-1.2.9.post4-cp310-cp310-musllinux_1_2_x86_64.whl (2.6 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

oead-1.2.9.post4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

oead-1.2.9.post4-cp39-cp39-win_amd64.whl (1.3 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

oead-1.2.9.post4-cp39-cp39-musllinux_1_2_x86_64.whl (2.6 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

oead-1.2.9.post4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

oead-1.2.9.post4-cp38-cp38-win_amd64.whl (1.3 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

oead-1.2.9.post4-cp38-cp38-musllinux_1_2_x86_64.whl (2.6 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

oead-1.2.9.post4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page