Skip to content

Simplifying package API by removing backend specific function variants #349

@matt-graham

Description

@matt-graham

We currently expose both the higher-level wrapper functions such as s2ftt.forward and s2fft.inverse and corresponding backend specific functions such as forward_jax, forward_numpy and forward_torch. This both makes our API surface larger than necessary, with multiple ways to do the same thing, and adds a level of redundancy as in having very similar docstrings across multiple functions. There are also various utility functions that are used mainly internally that are exposed as part of our API.

I would propose we expose a minimal public API of just the top-level wrapper functions and any utility functions we think are useful for users, and make all other functions undocumented / marked for internal use only by underscore prefixing the names. This would be a breaking change so would ideally be part of a major version bump.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions