skillfed

astc-encoder-py

a python wrapper for astc-encoder

astc-encoder-py v0.1.12 147.3K downloads/30d#11,069 on PyPI3
Permissive license MIT License Copyright (c) 2024 Rudolf Kolbe Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal… (full text in the JSON record) AGING released

What it is and what it does

astc-encoder-py is a Python wrapper around the ARM ASTC encoder library, exposing both low-level compression and decompression APIs. It lets you convert images to ASTC texture format (used in graphics pipelines) and back, with support for different color profiles, block dimensions, and quality settings.

The package supports Python 3.7 through 3.13 with prebuilt wheels for most architectures. It depends only on archspec. The binding is relatively new (first release October 2024) and sees infrequent updates, with the last release 342 days ago.

Use it for:

  • Compress game textures to ASTC format for mobile or console deployment.
  • Convert ASTC-compressed textures back to standard formats for inspection or re-encoding.
  • Experiment with different ASTC block sizes and quality settings to optimize texture memory usage.
  • Automate texture asset preparation in graphics pipelines.
  • Integrate ASTC encoding into batch image processing workflows.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

astc-encoder-py compresses and decompresses images to and from ASTC texture format, with optional codec integration for direct image handling.

Yes, if you need ASTC texture compression in Python. The package installs cleanly with prebuilt wheels across most platforms, has no known vulnerabilities, and carries an unrestrictive MIT license. However, the project is aging (last release 342 days ago) with low adoption (3 GitHub stars), so evaluate whether you need active maintenance or community support before committing to it for production use.

Install

astc-encoder-py on PyPI

pip

pip install astc-encoder-py

uv

uv add astc-encoder-py

poetry

poetry add astc-encoder-py

Installing astc-encoder-py

Before you install

Medium install friction due to compiled wheels; prebuilt wheels cover most platforms including x86_64, ARM, PowerPC, and s390x on Linux, macOS, and Windows. Last release was 342 days ago; repository is active but aging.

License in practice

MIT License permits commercial and private use with minimal restrictions; you must include the license notice in distributions but face no copyleft obligations.

Quickstart

from astc_encoder import ASTCConfig, ASTCContext, ASTCImage, ASTCProfile, ASTCSwizzle, ASTCType

config = ASTCConfig(ASTCProfile.LDR_SRGB, 4, 4)
context = ASTCContext(config)
image = ASTCImage(ASTCType.U8, 512, 512, data=b'')
swizzle = ASTCSwizzle.from_str("RGBA")
compressed = context.compress(image, swizzle)

Requires Python 3.7 or later; archspec is a runtime dependency.

Verify before relying

  • Performance characteristics (compression speed, output size) relative to other texture formats.
  • Stability and maturity of the binding relative to the underlying astc-encoder library.
  • Whether SVE support for ARM (listed as TODO) affects performance on modern ARM systems.
  • Real-world use cases and adoption beyond the 3 GitHub stars currently visible.

Package facts

License MIT License Copyright (c) 2024 Rudolf Kolbe Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal… (full text in the JSON record) (permissive)
Python support supports the current Python release (>=3.7)
Install friction medium — platform-specific wheel
Runtime dependencies 1 — archspec
Maintenance aging — 342 days since the last release
Last repo commit
First released
Downloads 147,334/month — #11,069 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: astc_encoder_py-0.1.12-cp37-abi3-macosx_10_9_x86_64.whl; astc_encoder_py-0.1.12-cp37-abi3-macosx_11_0_arm64.whl; astc_encoder_py-0.1.12-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; astc_encoder_py-0.1.12-cp37-abi3-manylinux_2_17_i686.manylinux2014_i686.whl; astc_encoder_py-0.1.12-cp37-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; astc_encoder_py-0.1.12-cp37-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl; astc_encoder_py-0.1.12-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; astc_encoder_py-0.1.12-cp37-abi3-musllinux_1_2_aarch64.whl; astc_encoder_py-0.1.12-cp37-abi3-musllinux_1_2_armv7l.whl; astc_encoder_py-0.1.12-cp37-abi3-musllinux_1_2_i686.whl; astc_encoder_py-0.1.12-cp37-abi3-musllinux_1_2_ppc64le.whl; astc_encoder_py-0.1.12-cp37-abi3-musllinux_1_2_s390x.whl; astc_encoder_py-0.1.12-cp37-abi3-musllinux_1_2_x86_64.whl; astc_encoder_py-0.1.12-cp37-abi3-win32.whl; astc_encoder_py-0.1.12-cp37-abi3-win_amd64.whl; astc_encoder_py-0.1.12-cp37-abi3-win_arm64.whl; astc_encoder_py-0.1.12-pp310-pypy310_pp73-macosx_10_15_x86_64.whl; astc_encoder_py-0.1.12-pp310-pypy310_pp73-macosx_11_0_arm64.whl; astc_encoder_py-0.1.12-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; astc_encoder_py-0.1.12-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl

Keywords: astc, texture

Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Multimedia :: GraphicsTopic :: Software Development :: Libraries :: Python Modules

Tags

astc texture compressionimage compression libraryastc encoder decodertexture format conversionimage codec astcarm astc encodingimage data compression
texture-compressionimage-processinggame-development

More Python Modules packages