Skip to main content

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)

Source distribution for goblin-cpu-features 0.1.0
File Size Uploaded
goblin_cpu_features-0.1.0.tar.gz 24.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for goblin-cpu-features 0.1.0
File
goblin_cpu_features-0.1.0-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details
goblin_cpu_features-0.1.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
goblin_cpu_features-0.1.0-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details
goblin_cpu_features-0.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
goblin_cpu_features-0.1.0-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details
goblin_cpu_features-0.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
goblin_cpu_features-0.1.0-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
goblin_cpu_features-0.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
goblin_cpu_features-0.1.0-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details
goblin_cpu_features-0.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
goblin_cpu_features-0.1.0-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details
goblin_cpu_features-0.1.0-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details

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

Release history Release notifications | RSS feed

This release

0.1.0 This release

13 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