goblin-cpu-features
Cross-platform CPU feature detection for packages that choose their own SIMD backend at import time.
import goblin_cpu_features as cpu
features = cpu.detect()
if {cpu.Feature.X86_AVX2, cpu.Feature.X86_FMA}.issubset(features):
from mypkg import _avx2 as impl
elif cpu.Feature.ARM_SVE2 in features:
from mypkg import _sve2 as impl
else:
from mypkg import _generic as impl
goblin_cpu_features only reports host CPU features. It does not choose or
import application backends.
Build
Local x86_64 manylinux and musllinux wheels are configured for Podman through cibuildwheel:
python -m pip install '.[dev]'
python -m cibuildwheel --platform linux --output-dir wheelhouse .
The configured x86_64 build set is CPython 3.9 through 3.14 for both
manylinux_x86_64 and musllinux_x86_64.
On non-x86 targets with pyenv-hosted interpreters, build one native wheel per interpreter from the target environment:
for minor in 3.9 3.10 3.11 3.12 3.13 3.14; do
for py in "$HOME"/.pyenv/versions/"$minor".*/bin/python; do
[ -x "$py" ] || continue
"$py" -m pip wheel --no-deps -w wheelhouse .
done
done
For manylinux or musllinux tags on those targets, run the pyenv build inside the corresponding compliant build environment or repair/tag the wheels using the target platform's normal wheel policy tooling.
goblin-cpu-features
Metadata
Release files for goblin-cpu-features 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| goblin_cpu_features-0.1.0.tar.gz | 24.9 kB | Details |
Built distributions (wheels)
Total release size: 1.5 MB
Release files / goblin_cpu_features-0.1.0.tar.gz
| Download URL | goblin_cpu_features-0.1.0.tar.gz |
|---|---|
| Size | 24.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
daaa5b09f40b0eecc17cb083f8ff13c968793458d82dc009fbc38f90c05444ff
|
|
BLAKE2b-256 checksum How to use checksums |
84f2c8638ce99b79aef8143f8a747e2e32897f717451d6c0f936bce60810ddc6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / goblin_cpu_features-0.1.0-cp314-cp314-musllinux_1_2_x86_64.whl
| Download URL | goblin_cpu_features-0.1.0-cp314-cp314-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 173.3 kB |
| Tags | CPython 3.14 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
f75d42a61cd5c4c8a6ae57d283ec42b7a55c5a71f04d290e657d643d2aa14a68
|
|
BLAKE2b-256 checksum How to use checksums |
9e0c627a53f3cbe3e0948731ca71088bec123590ad71ef04f741031dc05f1d55
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / goblin_cpu_features-0.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | goblin_cpu_features-0.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 74.4 kB |
| Tags | CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
5dd9e2e36b99a57c7145ec803f9d967eec27f4dd761ea762d5e278cc8f6542c4
|
|
BLAKE2b-256 checksum How to use checksums |
b3655d78e847be31fd902ae6e6c4861435dca06cd30d651c916318286a0054ee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / goblin_cpu_features-0.1.0-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | goblin_cpu_features-0.1.0-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 173.4 kB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
26d0c6bbac10f931928b4575110efa6ff909bd0e4ef6c79c82738b8376e94e4f
|
|
BLAKE2b-256 checksum How to use checksums |
8fa47d5c0653aeffa50547f70f8e2818ad5ee15be75346da4126a24827500afb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / goblin_cpu_features-0.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | goblin_cpu_features-0.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 74.5 kB |
| Tags | CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
1c83295893b543c05c4c7f92177017997fb9ce9dc19131d4613af0179a54eb68
|
|
BLAKE2b-256 checksum How to use checksums |
057a261294b7d35e71212fa66cdf4ce2b0d3d015294507b8da7e24edf6b5b273
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / goblin_cpu_features-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | goblin_cpu_features-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 173.4 kB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
403403246f902c66a858800b10523b66fbdae151163c80a5eef06639147df38e
|
|
BLAKE2b-256 checksum How to use checksums |
2450dae52409f6eea2f44047a7a81c9cf0bb418756ea840867483627a8a3eca2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / goblin_cpu_features-0.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | goblin_cpu_features-0.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 74.5 kB |
| Tags | CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
0679b6a09a5680948a06228d0a81f1fd545404cfb4f8f973d41706c130c21f8f
|
|
BLAKE2b-256 checksum How to use checksums |
516dd8731cb6fa3ee8820549b01f63493a81826473c994cee2ee89311c77ca4f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / goblin_cpu_features-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | goblin_cpu_features-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 173.6 kB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
739a5d4695db9ab8e2dd4cb0443596620fee0bb603955730b09e57dd608e5b2e
|
|
BLAKE2b-256 checksum How to use checksums |
836b03aace914ac267ce1943444b82ad2237e19394491ab8d88ce0389a02e70b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / goblin_cpu_features-0.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | goblin_cpu_features-0.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 74.7 kB |
| Tags | CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
788eb203ae54b2eac9fe042064158594f16c0f16a3e56ce237e3a8c68a4ec8b8
|
|
BLAKE2b-256 checksum How to use checksums |
9531195bb9bf55088409be5b7cb9d11d288c15e48de7e8d45d560e55717e381f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / goblin_cpu_features-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | goblin_cpu_features-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 173.0 kB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
1e80f42c15455911423578432bb00898052bf583d105b89b4de64196a1e4d416
|
|
BLAKE2b-256 checksum How to use checksums |
58364388870bbd169c7f97af4872e84f02b53603c94132a1d60bd6130959674d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / goblin_cpu_features-0.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | goblin_cpu_features-0.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 74.3 kB |
| Tags | CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
2b9b791b1a1a709f16f394ded32181d728a7aba3dc6980305a3babd9de83c573
|
|
BLAKE2b-256 checksum How to use checksums |
f1800a861c15322ec16b7659e378d0d5595d299cbc361ca754b655cb9d89ab9e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / goblin_cpu_features-0.1.0-cp39-cp39-musllinux_1_2_x86_64.whl
| Download URL | goblin_cpu_features-0.1.0-cp39-cp39-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 173.1 kB |
| Tags | CPython 3.9 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
c0c24749d301af6e20422a5277ca59722fec09f919e3d301478ca97758d5059f
|
|
BLAKE2b-256 checksum How to use checksums |
cf7f53e65cd92a7e0d97358f414e99545267c6d743a338e259ebeefed79da35d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / goblin_cpu_features-0.1.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | goblin_cpu_features-0.1.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 74.4 kB |
| Tags | CPython 3.9 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
b0fdbf92b0a0702a81b0e655d3521936c4e81b189ffffc2ca3f96e5e511a6856
|
|
BLAKE2b-256 checksum How to use checksums |
fbaa8515d57ba3c16e7066e4ef209566043e76f6eb6bfe58c0011f96d6b76b6b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|