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)
| File | Size | Uploaded | |
|---|---|---|---|
| fast_unit-0.5.1.tar.gz | 55.6 MB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| 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
|