Skip to main content

Binary Rust extension for skytemple-files

Project description

Build Status Version Downloads License (GPLv3) Supported Python versions Discord

Binary rust extensions for SkyTemple.

This implements a lot of file handlers for SkyTemple in Rust (prefixed st_). You can read more about the file types in the SkyTemple Files repository. This is also the main place that these file handlers are used.

Additionally it has Python bindings for the following Rust crates:

PLEASE NOTE that versions 1.3.4-1.3.x are intermediate releases. The only stable thing in it are the pmd_wan bindings!

Unit Tests

Unit tests for the st_ modules are located as Python Tests in SkyTemple Files. The reason for this is that they are tested together with the “legacy” Python implementations. When changing existing modules, be aware that I will run the Python tests on them before merging any Pull Requests.

Pure Rust

The st_ modules are primarily built for being used from Python. However by disabling the python feature, you can also use them from a pure Rust project as a library. Some of the data types normally provided by PyO3 (the Python binding crate) are replaced by stubs then. See the no-python module for more information.

However some things may be a bit strange when using it, compared to using “normal” Rust libraries, due to the fact ownership expectations between Rust and Python are wildly different and the stubs replace something that would normally be a reference increase on the Python heap with a clone in Rust. If you run into issues with this (performance- or otherwise) please open an issue. The pure Rust version of the st_ modules is not tested.

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

skytemple-rust-1.6.0b1.tar.gz (169.6 kB view hashes)

Uploaded Source

Built Distributions

skytemple_rust-1.6.0b1-cp311-cp311-win_amd64.whl (1.1 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

skytemple_rust-1.6.0b1-cp311-cp311-win32.whl (983.3 kB view hashes)

Uploaded CPython 3.11 Windows x86

skytemple_rust-1.6.0b1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

skytemple_rust-1.6.0b1-cp311-cp311-macosx_11_0_universal2.whl (1.3 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ universal2 (ARM64, x86-64)

skytemple_rust-1.6.0b1-cp310-cp310-win_amd64.whl (1.1 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

skytemple_rust-1.6.0b1-cp310-cp310-win32.whl (983.3 kB view hashes)

Uploaded CPython 3.10 Windows x86

skytemple_rust-1.6.0b1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

skytemple_rust-1.6.0b1-cp310-cp310-macosx_11_0_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.10 macOS 11.0+ x86-64

skytemple_rust-1.6.0b1-cp39-cp39-win_amd64.whl (1.1 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

skytemple_rust-1.6.0b1-cp39-cp39-win32.whl (984.5 kB view hashes)

Uploaded CPython 3.9 Windows x86

skytemple_rust-1.6.0b1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

skytemple_rust-1.6.0b1-cp39-cp39-macosx_11_0_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.9 macOS 11.0+ x86-64

skytemple_rust-1.6.0b1-cp38-cp38-win_amd64.whl (1.1 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

skytemple_rust-1.6.0b1-cp38-cp38-win32.whl (984.5 kB view hashes)

Uploaded CPython 3.8 Windows x86

skytemple_rust-1.6.0b1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

skytemple_rust-1.6.0b1-cp38-cp38-macosx_11_0_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.8 macOS 11.0+ 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