Skip to main content

A companion library for Arcade providing accelerated Rust functions

Project description

arcade-accelerate

An experimental library for accelerating Arcade using Rust. The module can be imported and monkey patch Arcade, replacing functions and types with rust versions.

import arcade_accelerate
arcade_accelerate.bootstrap()

import arcade

It is important to run the arcade-accelerate bootstrapping process before importing Arcade, otherwise the monkey-patched versions will not be fully applied.

Build / Setup

First create and activate a Python virtual environment, then install maturin:

pip install maturin

Install the crate as module in the current virtual environment using Maturin. Generally when working on performance enhancements you will want to use the --release flag.

# Debug
maturin develop

# Release
maturin develop --release

Then you can install Arcade into the same virtual environment and run any of it's examples:

cd <directory of arcade project>
pip install -e .

Optimally testing should be done against the development branch of Arcade. In order to enable arcade-accelerate add these two lines anytime before importing arcade. It is important that the bootstrap is done prior to importing Arcade, otherwise the monkey-patched functions/classes will not fully apply.

import arcade_accelerate
arcade_accelerate.bootstrap()

import arcade

If you would like to run Arcade's test suite with arcade-accelerate enabled, you can do so by setting the ARCADE_PYTEST_USE_RUST environment variable before running pytest on Arcade. You just need to ensure that both Arcade and arcade-accelerate are installed in the same environment.

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

arcade_accelerate-1.0.2.tar.gz (22.8 kB view hashes)

Uploaded Source

Built Distributions

arcade_accelerate-1.0.2-cp312-none-win_amd64.whl (173.3 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

arcade_accelerate-1.0.2-cp312-none-win32.whl (162.8 kB view hashes)

Uploaded CPython 3.12 Windows x86

arcade_accelerate-1.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

arcade_accelerate-1.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.2 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

arcade_accelerate-1.0.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.2 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

arcade_accelerate-1.0.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARMv7l

arcade_accelerate-1.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

arcade_accelerate-1.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.5+ i686

arcade_accelerate-1.0.2-cp312-cp312-macosx_11_0_arm64.whl (275.3 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

arcade_accelerate-1.0.2-cp312-cp312-macosx_10_12_x86_64.whl (280.5 kB view hashes)

Uploaded CPython 3.12 macOS 10.12+ x86-64

arcade_accelerate-1.0.2-cp311-none-win_amd64.whl (173.2 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

arcade_accelerate-1.0.2-cp311-none-win32.whl (164.1 kB view hashes)

Uploaded CPython 3.11 Windows x86

arcade_accelerate-1.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

arcade_accelerate-1.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.2 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

arcade_accelerate-1.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.2 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

arcade_accelerate-1.0.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

arcade_accelerate-1.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

arcade_accelerate-1.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.5+ i686

arcade_accelerate-1.0.2-cp311-cp311-macosx_11_0_arm64.whl (275.7 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

arcade_accelerate-1.0.2-cp311-cp311-macosx_10_12_x86_64.whl (281.0 kB view hashes)

Uploaded CPython 3.11 macOS 10.12+ x86-64

arcade_accelerate-1.0.2-cp310-none-win_amd64.whl (173.5 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

arcade_accelerate-1.0.2-cp310-none-win32.whl (164.3 kB view hashes)

Uploaded CPython 3.10 Windows x86

arcade_accelerate-1.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

arcade_accelerate-1.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.2 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

arcade_accelerate-1.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.2 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

arcade_accelerate-1.0.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

arcade_accelerate-1.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

arcade_accelerate-1.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.5+ i686

arcade_accelerate-1.0.2-cp310-cp310-macosx_11_0_arm64.whl (275.6 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

arcade_accelerate-1.0.2-cp310-cp310-macosx_10_12_x86_64.whl (280.8 kB view hashes)

Uploaded CPython 3.10 macOS 10.12+ x86-64

arcade_accelerate-1.0.2-cp39-none-win_amd64.whl (173.5 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

arcade_accelerate-1.0.2-cp39-none-win32.whl (163.6 kB view hashes)

Uploaded CPython 3.9 Windows x86

arcade_accelerate-1.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

arcade_accelerate-1.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.2 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

arcade_accelerate-1.0.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.2 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

arcade_accelerate-1.0.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARMv7l

arcade_accelerate-1.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

arcade_accelerate-1.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.5+ i686

arcade_accelerate-1.0.2-cp39-cp39-macosx_11_0_arm64.whl (275.3 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

arcade_accelerate-1.0.2-cp39-cp39-macosx_10_12_x86_64.whl (280.9 kB view hashes)

Uploaded CPython 3.9 macOS 10.12+ x86-64

arcade_accelerate-1.0.2-cp38-none-win_amd64.whl (173.6 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

arcade_accelerate-1.0.2-cp38-none-win32.whl (163.6 kB view hashes)

Uploaded CPython 3.8 Windows x86

arcade_accelerate-1.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.1 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

arcade_accelerate-1.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.2 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ s390x

arcade_accelerate-1.0.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.2 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

arcade_accelerate-1.0.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.1 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARMv7l

arcade_accelerate-1.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.1 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

arcade_accelerate-1.0.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl (1.1 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.5+ i686

arcade_accelerate-1.0.2-cp38-cp38-macosx_11_0_arm64.whl (276.4 kB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

arcade_accelerate-1.0.2-cp38-cp38-macosx_10_12_x86_64.whl (281.4 kB view hashes)

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