Skip to content

Inquiry about Python Bindings for astc-encoder #505

Open
@K0lb3

Description

@K0lb3

Hello,
Over the past few days, I've developed Python bindings for astc-encoder and would appreciate some feedback from the developers and maintainers.

About the Bindings

The bindings are built using Python's limited API, which ensures that the wheels built for one version are compatible with all subsequent versions. For x86 architectures, the binary distribution (bdist) wheels contain multiple precompiled encoders optimized for different SIMD levels. Python detects the highest SIMD level supported by the local CPU at runtime and loads the appropriate encoder.
No SIMD encoders are shipped for other architectures, including ARM64, with the exception of NEON for ARM64. Once I find a reliable way to detect SVE within Python, I'm working on adding support for it.

Questions

Would you be interested in adding these bindings to the astc-encoder repository?

I understand the potential maintenance overhead might make this unlikely, but I wanted to ask, considering that many tests in the repository are written in Python. These bindings could simplify some of the testing workflows.

How should I handle attribution for parts copied from astc-encoder?

This primarily concerns the docstrings, which I've copied almost verbatim from astc-encoder, with minor modifications or additions. Would it be sufficient to mention this in the README and main documentation, noting that certain parts were copied and slightly adapted from the astc-encoder?

Are there any changes you would recommend for the bindings?

While I'm primarily asking about any legal considerations around attribution, I would also appreciate any feedback or suggestions regarding the code.

Lastly, I express my gratitude for creating and maintaining this excellent library. I look forward to your feedback or suggestions.
Thank you in advance for your time and response!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions