Metadata-Version: 2.4
Name: unxt-api
Version: 2.0.0
Summary: Abstract dispatch API definitions for unxt
Project-URL: Bug Tracker, https://github.com/GalacticDynamics/unxt/issues
Project-URL: Homepage, https://github.com/GalacticDynamics/unxt
Author-email: GalacticDynamics <nstarman@users.noreply.github.com>, Nathaniel Starkman <nstarman@users.noreply.github.com>
License: BSD-3-Clause
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: unxts-api>=2.0.0
Description-Content-Type: text/markdown

# unxt-api

> **Note:** As of v2.0.0, `unxt-api` is a backward-compatible shim for [`unxts.api`](https://pypi.org/p/unxts.api) — the new canonical location for this package. No code changes are required: `import unxt_api` continues to work exactly as before. New projects should prefer `pip install unxts.api` and `import unxts.api`.

Abstract dispatch API for [unxt](https://github.com/GalacticDynamics/unxt).

`unxt-api` defines the abstract dispatch interfaces that `unxt` and other packages implement. It provides a minimal dependency foundation for packages that want to define or use `unxt`'s multiple-dispatch-based API without pulling in the full `unxt` implementation.

## Installation

```bash
pip install unxt-api          # legacy name — continues to work long-term
pip install unxts.api         # canonical name going forward
```

## Migration

If you currently depend on `unxt-api`, you have two options:

1. **Do nothing** — `unxt-api` re-exports the full public API from `unxts.api` and will be maintained long-term. Existing code requires no changes.

2. **Migrate to `unxts.api`** — change your dependency and imports:

   ```diff
   - pip install unxt-api
   + pip install unxts.api
   ```

   ```diff
   - import unxt_api as uapi
   + import unxts.api as uapi
   ```

   All public symbols (`uconvert`, `ustrip`, `unit`, `dimension`, etc.) are identical — the canonical package is the source of truth and the shim simply re-exports from it.

## Core API

- **Dimensions** — `dimension`, `dimension_of`
- **Units** — `unit`, `unit_of`
- **Quantities** — `uconvert`, `uconvert_value`, `ustrip`, `is_unit_convertible`, `wrap_to`
- **Unit Systems** — `unitsystem_of`

## Documentation

- [unxts.api documentation](https://unxt.readthedocs.io/en/latest/packages/unxts.api/)
- [unxt documentation](https://unxt.readthedocs.io/)
