Skip to main content

Fast Unit - Rust Unit Management for Python

Originally created as a faster version of Unum for use in Python-based FRC robot code.

Building and Installing for Local Machine

maturin build --release  # This will generate wheels and put a native library in ./fast_unit/
pip install .  # Installs to your python interpreter

Cross Compilation for RoboRIO (WIP)

Getting Required Files

In order to compile for RoboRIO, you need to copy the contents of /usr/local/lib and update the RIO_ROOT to reflect where you copied them. This is assuming you have already installed python on your RIO using RobotPy.

This is the command I used to accomplish this:

scp lvuser@roboRIO-XXXX-FRC.local:/usr/local/lib ./RIO_ROOT/usr/local/lib

Installing ARM Linker

Rust needs an arm linker to compile arm binaries, which can be installed fairly easily. On debian, run the following:

sudo apt install gcc-arm-linux-gnueabi

Building

Once you have the required tools, running the script below should compile and build the wheels.

# Add RIO's target triple
rustup target add arm-unknown-linux-gnueabi

# Set cross-compilation environment variables
export PYO3_CROSS_PYTHON_VERSION=3.10
export PYO3_CROSS_LIB_DIR="RIO_ROOT/usr/local/lib"

# Build wheels for RIO
maturin build --target=arm-unknown-linux-gnueabi --rustc-extra-args="-C linker=arm-linux-gnueabi-gcc"

Metadata

Release files for fast-unit 0.5.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 fast-unit 0.5.1
File Size Uploaded
fast_unit-0.5.1.tar.gz 55.6 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for fast-unit 0.5.1
File
fast_unit-0.5.1-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl PyPy 3.7 PyPy 3.7 7.3 Linux glibc 2.24+ x86-64 Details
fast_unit-0.5.1-cp310-cp310-manylinux_2_24_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.24+ x86-64 Details
fast_unit-0.5.1-cp310-cp310-manylinux_2_24_armv7l.whl CPython 3.10 CPython 3.10 Linux glibc 2.24+ ARMv7l Details
fast_unit-0.5.1-cp310-cp310-linux_armv7l.whl CPython 3.10 CPython 3.10 linux armv7l Details
fast_unit-0.5.1-cp39-cp39-manylinux_2_24_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.24+ x86-64 Details
fast_unit-0.5.1-cp38-cp38-manylinux_2_24_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.24+ x86-64 Details
fast_unit-0.5.1-cp37-cp37m-manylinux_2_24_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.24+ x86-64 Details
fast_unit-0.5.1-cp36-cp36m-manylinux_2_24_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.24+ x86-64 Details

Total release size: 57.4 MB

Release files / fast_unit-0.5.1.tar.gz

Download URL fast_unit-0.5.1.tar.gz
Size 55.6 MB
Tags Source
SHA-256 checksum
How to use checksums
68536c4c531a3f42bd71b17bf39ab6d92d0a985fbe362ab02e6df8f2a21d9fee
BLAKE2b-256 checksum
How to use checksums
14a74a386c1d89f34e9ccffd8be1163219790382ed260af0ec27465a644a55b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / fast_unit-0.5.1-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl

Download URL fast_unit-0.5.1-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl
Size 228.8 kB
Tags Linux glibc 2.24+ x86-64 PyPy 3.7 PyPy 3.7 7.3
SHA-256 checksum
How to use checksums
7d2c5ea48189ebdbb5bc576f367e12d9ab17c997b22098068df9c2a9178aba04
BLAKE2b-256 checksum
How to use checksums
b4e846fc79fe898a7d9a0f79797d49f3c9f04cf588e8ca73ed86453e05ce1293
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / fast_unit-0.5.1-cp310-cp310-manylinux_2_24_x86_64.whl

Download URL fast_unit-0.5.1-cp310-cp310-manylinux_2_24_x86_64.whl
Size 227.9 kB
Tags CPython 3.10 Linux glibc 2.24+ x86-64
SHA-256 checksum
How to use checksums
773e912bf7a2efef3dc7e9dc6e24ba1a1af1ded4877b9b094daa93af2dddd480
BLAKE2b-256 checksum
How to use checksums
69070d7774a0d1102fd9f80d9cc5b217df0a83dde49a63d40531308a6476bd41
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / fast_unit-0.5.1-cp310-cp310-manylinux_2_24_armv7l.whl

Download URL fast_unit-0.5.1-cp310-cp310-manylinux_2_24_armv7l.whl
Size 223.3 kB
Tags CPython 3.10 Linux glibc 2.24+ ARMv7l
SHA-256 checksum
How to use checksums
6f5d106c2a9433bf98f504656cfceb70d2bb0117ce377339f113531712a388c9
BLAKE2b-256 checksum
How to use checksums
224b560409d908fe038372bb52c0f0f5f8613445436438b7fe50612039b1d475
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / fast_unit-0.5.1-cp310-cp310-linux_armv7l.whl

Download URL fast_unit-0.5.1-cp310-cp310-linux_armv7l.whl
Size 223.3 kB
Tags CPython 3.10 linux armv7l
SHA-256 checksum
How to use checksums
9afe8fa8b3f2e9f57b4cdeb6d975c514d00f369fd9b7ba9b9c4ddfb5c223626b
BLAKE2b-256 checksum
How to use checksums
417774c2402117e85c3dc629c62d18b93abda315fb962beda77a85905ad05621
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / fast_unit-0.5.1-cp39-cp39-manylinux_2_24_x86_64.whl

Download URL fast_unit-0.5.1-cp39-cp39-manylinux_2_24_x86_64.whl
Size 227.9 kB
Tags CPython 3.9 Linux glibc 2.24+ x86-64
SHA-256 checksum
How to use checksums
ad3cf66c709a1071aabce2941aba544f8f7750525874f9e66d565dd7f6e36fbd
BLAKE2b-256 checksum
How to use checksums
07eb4d2c92e823ce1c3e98870b9068b137412e61b9ab84fe77fa5079628b4fed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / fast_unit-0.5.1-cp38-cp38-manylinux_2_24_x86_64.whl

Download URL fast_unit-0.5.1-cp38-cp38-manylinux_2_24_x86_64.whl
Size 227.8 kB
Tags CPython 3.8 Linux glibc 2.24+ x86-64
SHA-256 checksum
How to use checksums
bfebfe1d977f0f09593712e371baf9b719c8a9dc5395c25ad2e29a96e72975bc
BLAKE2b-256 checksum
How to use checksums
fbb938befa277f690c09dbeeb571210276a3d98a18568186d4f0b9e8b80fb8a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / fast_unit-0.5.1-cp37-cp37m-manylinux_2_24_x86_64.whl

Download URL fast_unit-0.5.1-cp37-cp37m-manylinux_2_24_x86_64.whl
Size 227.7 kB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.24+ x86-64
SHA-256 checksum
How to use checksums
a38522c2e3042de10938c293c7028a8fd14b5c5c63d4c2e39081b9467dc25a91
BLAKE2b-256 checksum
How to use checksums
1b395204198958dd55d662c5f67a998a88624a1bca18d723bf344fe2158a6f50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release files / fast_unit-0.5.1-cp36-cp36m-manylinux_2_24_x86_64.whl

Download URL fast_unit-0.5.1-cp36-cp36m-manylinux_2_24_x86_64.whl
Size 225.2 kB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.24+ x86-64
SHA-256 checksum
How to use checksums
49d16f74826846ce99a84f779da55a35137a16dd116da53efb40baf7029b072a
BLAKE2b-256 checksum
How to use checksums
3eb62666b41c2d1d8930c47b7ffc6f6e424c02e74d1dcf8a0cec4be50474d26d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/0.12.9

Release history Release notifications | RSS feed

This release

0.5.1 This release

9 release files

0.5.0

8 release files

0.4.0

7 release files

0.3.0

7 release files

0.2.0

8 release files

0.1.0

8 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