google / google/etils

Enhancement: Utilize array-api-compat for enp Backend

Open
#669 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
259
Forks
34
Avg merge
57m
Merged PRs (30d)
1

Description

Currently, `enp` implements custom code to support JAX, PyTorch, and TensorFlow.

The `array-api-compat` library provides a uniform API for numerical computation across multiple frameworks. By leveraging this library, we could potentially:

- Eliminate the need for custom code handling framework-specific functionalities.
- Simplify updates and bug fixes by relying on a standardized API.
- Ensure uniform behavior across different frameworks.

I propose exploring the feasibility of integrating `array-api-compat` as a backend for `enp`. This might involve refactoring existing code to utilize the library's API. Popular libraries like scikit-learn (https://labs.quansight.org/blog/array-api-support-scikit-learn) and SciPy (https://labs.quansight.org/blog/scipy-array-api) have already successfully implemented this API.

Integrating `array-api-compat` would not only streamline the codebase but also broaden the number of frameworks compatible with `enp`. I'm happy to discuss this further and potentially contribute to the implementation if the maintainers agree this is a worthwhile enhancement. Please share your thoughts and suggestions on this proposal.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.