open-index/open-npm huggingface dataset:
npm package: @litert/typeguard-php
Description: The PHP language implement for TypeGuard.
Author: Angus.Fenying
Latest version: 0.1.0

# LiteRT/TypeGuard-PHP

[![npm version](https://img.shields.io/npm/v/@litert/typeguard-php.svg?colorB=brightgreen)](https://www.npmjs.com/package/@litert/typeguard-php "Stable Version")
[![License](https://img.shields.io/npm/l/@litert/typeguard-php.svg?maxAge=2592000?style=plastic)](https://github.com/litert/typeguard-php/blob/master/LICENSE)
[![GitHub issues](https://img.shields.io/github/issues/litert/typeguard-php.js.svg)](https://github.com/litert/typeguard-php.js/issues)
[![GitHub Releases](https://img.shields.io/github/release/litert/typeguard-php.js.svg)](https://github.com/litert/typeguard-php.js/releases "Stable Release")

The PHP language implement for TypeGuard.

## Installation

```sh
npm install @litert/typeguard-php -D
```

## Requirements

- Node.js v8.x (Or newer)
- TypeScript v3.1.x (Or newer)

## License

This library is published under [Apache-2.0](./LICENSE) license.
npm package: @litert/udp
Description: The UDP library based on LiteRT.
Author: Angus.Fenying
Latest version: 0.1.0

# LiteRT/UDP

[![npm version](https://img.shields.io/npm/v/@litert/udp.svg?colorB=brightgreen)](https://www.npmjs.com/package/@litert/udp "Stable Version")
[![License](https://img.shields.io/npm/l/@litert/udp.svg?maxAge=2592000?style=plastic)](https://github.com/litert/udp/blob/master/LICENSE)
[![GitHub issues](https://img.shields.io/github/issues/litert/udp.js.svg)](https://github.com/litert/udp.js/issues)
[![GitHub Releases](https://img.shields.io/github/release/litert/udp.js.svg)](https://github.com/litert/udp.js/releases "Stable Release")

The UDP library based on LiteRT.

## Installation

```sh
npm install @litert/udp --save
```

## Requirements

- Node.js v8.x (Or newer)
- TypeScript v3.1.x (Or newer)

## License

This library is published under [Apache-2.0](./LICENSE) license.
npm package: @litert/urlencode
Description: A simple URL encoding/decoding utilities library.
Author: Angus.Fenying
Latest version: 0.1.0

# LiteRT/URLEncode

[![npm version](https://img.shields.io/npm/v/@litert/urlencode.svg?colorB=brightgreen)](https://www.npmjs.com/package/@litert/urlencode "Stable Version")
[![License](https://img.shields.io/npm/l/@litert/urlencode.svg?maxAge=2592000?style=plastic)](https://github.com/litert/urlencode/blob/master/LICENSE)
[![node](https://img.shields.io/node/v/@litert/urlencode.svg?colorB=brightgreen)](https://nodejs.org/dist/latest-v8.x/)
[![GitHub issues](https://img.shields.io/github/issues/litert/urlencode.js.svg)](https://github.com/litert/urlencode.js/issues)
[![GitHub Releases](https://img.shields.io/github/release/litert/urlencode.js.svg)](https://github.com/litert/urlencode.js/releases "Stable Release")

A simple URL encoding/decoding utilities library.

## Requirement

- TypeScript v4.8.1 (or newer)
- Node.js v14.0.0 (or newer)

## Installation

Install by NPM:

```sh
npm i @litert/urlencode --save
```

## Document

Preparing...

## License

This library is published under [Apache-2.0](./LICENSE) license.
npm package: @litert/utils
Description: The utilities for JavaScript/TypeScript.
Latest version: 2.0.0

# LiteRT/Utils

[![Strict TypeScript Checked](https://badgen.net/badge/TS/Strict "Strict TypeScript Checked")](https://www.typescriptlang.org)
[![npm version](https://img.shields.io/npm/v/@litert/utils.svg?colorB=brightgreen)](https://www.npmjs.com/package/@litert/utils "Stable Version")
[![License](https://img.shields.io/npm/l/@litert/utils.svg?maxAge=2592000?style=plastic)](https://github.com/litert/utils.js/blob/master/LICENSE)
[![node](https://img.shields.io/node/v/@litert/utils.svg?colorB=brightgreen)](https://nodejs.org/dist/latest-v8.x/)
[![GitHub issues](https://img.shields.io/github/issues/litert/utils.js.svg)](https://github.com/litert/utils.js/issues)
[![GitHub Releases](https://img.shields.io/github/release/litert/utils.js.svg)](https://github.com/litert/utils.js/releases "Stable Release")

The utility functions/classes/constants for JavaScript/TypeScript.

## Requirement

- TypeScript v5.0.0 (or newer)
- Node.js v22.0.0 (or newer)

## Namespaces

The [bundle package `@litert/utils`](https://www.npmjs.com/package/@litert/utils) includes all utility functions/classes/constants, exported each sub-package as a namespace.

| Namespace | Sub-package | Documentation |
| --- | --- | --- |
| `Root` | `@litert/utils` | [Read](https://litert.org/projects/utils.js/) |
| `Array` | `@litert/utils-array` | [Read](https://litert.org/projects/utils.js/en/api/namespaces/array/) |
| `Async` | `@litert/utils-async` | [Read](https://litert.org/projects/utils.js/en/api/namespaces/async/) |
| `Concurrent` | `@litert/concurrent` | [Read](https://litert.org/projects/utils.js/en/api/namespaces/concurrent/) |
| (Exported in Root)  | `@litert/utils-flow-control` | [Read](https://litert.org/projects/utils.js/en/api/namespaces/flow-control/) |
| `Network` | `@litert/utils-network` | [Read](https://litert.org/projects/utils.js/en/api/namespaces/network/) | |
| `Number` | `@litert/utils-number` | [Read](https://litert.org/projects/utils.js/en/api/namespaces/number/) |
| `Object` | `@litert/utils-object` | [Read](https://litert.org/projects/utils.js/en/api/namespaces/object/) |
| `String` | `@litert/utils-string` | [Read](https://litert.org/projects/utils.js/en/api/namespaces/string/) |
| `Test` | `@litert/utils-test` | [Read](https://litert.org/projects/utils.js/en/api/namespaces/test/) |
| (Exported in Root)  | `@litert/utils-ts-types` | [Read](https://litert.org/projects/utils.js/en/api/namespaces/ts-types/) |

## Installation

```sh
npm i @litert/utils --save
```

## License

This library is published under [Apache-2.0](https://github.com/litert/utils.js/blob/master/LICENSE) license.

## AI Disclaimer

This project may use AI tools to assist in documentation writing and inspiration for unit test cases, but all code is written and reviewed by human developers.
npm package: @litert/utils-array
Description: The array utilities for JavaScript/TypeScript.
Latest version: 2.0.0

# LiteRT/Utils - Array

[![Strict TypeScript Checked](https://badgen.net/badge/TS/Strict "Strict TypeScript Checked")](https://www.typescriptlang.org)
[![npm version](https://img.shields.io/npm/v/@litert/utils-array.svg?colorB=brightgreen)](https://www.npmjs.com/package/@litert/utils-array "Stable Version")
[![License](https://img.shields.io/npm/l/@litert/utils-array.svg?maxAge=2592000?style=plastic)](https://github.com/litert/utils.js/blob/master/LICENSE)
[![node](https://img.shields.io/node/v/@litert/utils-array.svg?colorB=brightgreen)](https://nodejs.org/dist/latest-v8.x/)
[![GitHub issues](https://img.shields.io/github/issues/litert/utils.js.svg)](https://github.com/litert/utils.js/issues)
[![GitHub Releases](https://img.shields.io/github/release/litert/utils.js.svg)](https://github.com/litert/utils.js/releases "Stable Release")

The utility functions/classes/constants about arrays for JavaScript/TypeScript.

## Requirement

- TypeScript v5.0.0 (or newer)
- Node.js v22.0.0 (or newer)

## Installation

```sh
npm i @litert/utils-array --save
```

## Documentation

- [en-US](https://litert.org/projects/utils.js/en/api/namespaces/array/)

## License

This library is published under [Apache-2.0](https://github.com/litert/utils.js/blob/master/LICENSE) license.

## AI Disclaimer

This project may use AI tools to assist in documentation writing and inspiration for unit test cases, but all code is written and reviewed by human developers.
npm package: @litert/utils-flow-control
Description: The flow-control utilities for JavaScript/TypeScript.
Latest version: 2.0.0

# LiteRT/Utils - Flow Control

[![Strict TypeScript Checked](https://badgen.net/badge/TS/Strict "Strict TypeScript Checked")](https://www.typescriptlang.org)
[![npm version](https://img.shields.io/npm/v/@litert/utils-flow-control.svg?colorB=brightgreen)](https://www.npmjs.com/package/@litert/utils-flow-control "Stable Version")
[![License](https://img.shields.io/npm/l/@litert/utils-flow-control.svg?maxAge=2592000?style=plastic)](https://github.com/litert/utils.js/blob/master/LICENSE)
[![node](https://img.shields.io/node/v/@litert/utils-flow-control.svg?colorB=brightgreen)](https://nodejs.org/dist/latest-v8.x/)
[![GitHub issues](https://img.shields.io/github/issues/litert/utils.js.svg)](https://github.com/litert/utils.js/issues)
[![GitHub Releases](https://img.shields.io/github/release/litert/utils.js.svg)](https://github.com/litert/utils.js/releases "Stable Release")

The utility functions/classes/constants about flow-controlling for JavaScript/TypeScript.

## Requirement

- TypeScript v5.0.0 (or newer)
- Node.js v22.0.0 (or newer)

## Installation

```sh
npm i @litert/utils-flow-control --save
```

## Documentation

- [en-US](https://litert.org/projects/utils.js/en/api/namespaces/flow-control/)

## License

This library is published under [Apache-2.0](https://github.com/litert/utils.js/blob/master/LICENSE) license.

## AI Disclaimer

This project may use AI tools to assist in documentation writing and inspiration for unit test cases, but all code is written and reviewed by human developers.
npm package: @litert/utils-network
Description: The network utilities for JavaScript/TypeScript.
Latest version: 2.0.0

# LiteRT/Utils - Network

[![Strict TypeScript Checked](https://badgen.net/badge/TS/Strict "Strict TypeScript Checked")](https://www.typescriptlang.org)
[![npm version](https://img.shields.io/npm/v/@litert/utils-network.svg?colorB=brightgreen)](https://www.npmjs.com/package/@litert/utils-network "Stable Version")
[![License](https://img.shields.io/npm/l/@litert/utils-network.svg?maxAge=2592000?style=plastic)](https://github.com/litert/utils.js/blob/master/LICENSE)
[![node](https://img.shields.io/node/v/@litert/utils-network.svg?colorB=brightgreen)](https://nodejs.org/dist/latest-v8.x/)
[![GitHub issues](https://img.shields.io/github/issues/litert/utils.js.svg)](https://github.com/litert/utils.js/issues)
[![GitHub Releases](https://img.shields.io/github/release/litert/utils.js.svg)](https://github.com/litert/utils.js/releases "Stable Release")

The utility functions/classes/constants about network for JavaScript/TypeScript.

## Requirement

- TypeScript v5.0.0 (or newer)
- Node.js v22.0.0 (or newer)

## Installation

```sh
npm i @litert/utils-network --save
```

## Documentation

- [en-US](https://litert.org/projects/utils.js/en/api/namespaces/network/)

## License

This library is published under [Apache-2.0](https://github.com/litert/utils.js/blob/master/LICENSE) license.

## AI Disclaimer

This project may use AI tools to assist in documentation writing and inspiration for unit test cases, but all code is written and reviewed by human developers.
npm package: @litert/utils-number
Description: The number utilities for JavaScript/TypeScript.
Latest version: 2.0.0

# LiteRT/Utils - Number

[![Strict TypeScript Checked](https://badgen.net/badge/TS/Strict "Strict TypeScript Checked")](https://www.typescriptlang.org)
[![npm version](https://img.shields.io/npm/v/@litert/utils-number.svg?colorB=brightgreen)](https://www.npmjs.com/package/@litert/utils-number "Stable Version")
[![License](https://img.shields.io/npm/l/@litert/utils-number.svg?maxAge=2592000?style=plastic)](https://github.com/litert/utils.js/blob/master/LICENSE)
[![node](https://img.shields.io/node/v/@litert/utils-number.svg?colorB=brightgreen)](https://nodejs.org/dist/latest-v8.x/)
[![GitHub issues](https://img.shields.io/github/issues/litert/utils.js.svg)](https://github.com/litert/utils.js/issues)
[![GitHub Releases](https://img.shields.io/github/release/litert/utils.js.svg)](https://github.com/litert/utils.js/releases "Stable Release")

The utility functions/classes/constants about number for JavaScript/TypeScript.

## Requirement

- TypeScript v5.0.0 (or newer)
- Node.js v22.0.0 (or newer)

## Installation

```sh
npm i @litert/utils-number --save
```

## Documentation

- [en-US](https://litert.org/projects/utils.js/en/api/namespaces/number/)

## License

This library is published under [Apache-2.0](https://github.com/litert/utils.js/blob/master/LICENSE) license.

## AI Disclaimer

This project may use AI tools to assist in documentation writing and inspiration for unit test cases, but all code is written and reviewed by human developers.
npm package: @litert/utils-object
Description: The object utilities for JavaScript/TypeScript.
Latest version: 2.0.0

# LiteRT/Utils - Object

[![Strict TypeScript Checked](https://badgen.net/badge/TS/Strict "Strict TypeScript Checked")](https://www.typescriptlang.org)
[![npm version](https://img.shields.io/npm/v/@litert/utils-object.svg?colorB=brightgreen)](https://www.npmjs.com/package/@litert/utils-object "Stable Version")
[![License](https://img.shields.io/npm/l/@litert/utils-object.svg?maxAge=2592000?style=plastic)](https://github.com/litert/utils.js/blob/master/LICENSE)
[![node](https://img.shields.io/node/v/@litert/utils-object.svg?colorB=brightgreen)](https://nodejs.org/dist/latest-v8.x/)
[![GitHub issues](https://img.shields.io/github/issues/litert/utils.js.svg)](https://github.com/litert/utils.js/issues)
[![GitHub Releases](https://img.shields.io/github/release/litert/utils.js.svg)](https://github.com/litert/utils.js/releases "Stable Release")

The utility functions/classes/constants about object for JavaScript/TypeScript.

## Requirement

- TypeScript v5.0.0 (or newer)
- Node.js v22.0.0 (or newer)

## Installation

```sh
npm i @litert/utils-object --save
```

## Documentation

- [en-US](https://litert.org/projects/utils.js/en/api/namespaces/object/)

## License

This library is published under [Apache-2.0](https://github.com/litert/utils.js/blob/master/LICENSE) license.

## AI Disclaimer

This project may use AI tools to assist in documentation writing and inspiration for unit test cases, but all code is written and reviewed by human developers.
npm package: @litert/utils-string
Description: The string utilities for JavaScript/TypeScript.
Latest version: 2.0.0

# LiteRT/Utils - String

[![Strict TypeScript Checked](https://badgen.net/badge/TS/Strict "Strict TypeScript Checked")](https://www.typescriptlang.org)
[![npm version](https://img.shields.io/npm/v/@litert/utils-string.svg?colorB=brightgreen)](https://www.npmjs.com/package/@litert/utils-string "Stable Version")
[![License](https://img.shields.io/npm/l/@litert/utils-string.svg?maxAge=2592000?style=plastic)](https://github.com/litert/utils.js/blob/master/LICENSE)
[![node](https://img.shields.io/node/v/@litert/utils-string.svg?colorB=brightgreen)](https://nodejs.org/dist/latest-v8.x/)
[![GitHub issues](https://img.shields.io/github/issues/litert/utils.js.svg)](https://github.com/litert/utils.js/issues)
[![GitHub Releases](https://img.shields.io/github/release/litert/utils.js.svg)](https://github.com/litert/utils.js/releases "Stable Release")

The utility functions/classes/constants about string for JavaScript/TypeScript.

## Requirement

- TypeScript v5.0.0 (or newer)
- Node.js v22.0.0 (or newer)

## Installation

```sh
npm i @litert/utils-string --save
```

## Documentation

- [en-US](https://litert.org/projects/utils.js/en/api/namespaces/string/)

## License

This library is published under [Apache-2.0](https://github.com/litert/utils.js/blob/master/LICENSE) license.

## AI Disclaimer

This project may use AI tools to assist in documentation writing and inspiration for unit test cases, but all code is written and reviewed by human developers.
npm package: @litert/uuid
Description: A uuid generator library for NodeJS.
Author: Angus.Fenying
Latest version: 2.1.0

# LiteRT/UUID

[![Strict TypeScript Checked](https://badgen.net/badge/TS/Strict "Strict TypeScript Checked")](https://www.typescriptlang.org)
[![npm version](https://img.shields.io/npm/v/@litert/uuid.svg?colorB=brightgreen)](https://www.npmjs.com/package/@litert/uuid "Stable Version")
[![License](https://img.shields.io/npm/l/@litert/uuid.svg?maxAge=2592000?style=plastic)](https://github.com/litert/uuid/blob/master/LICENSE)
[![node](https://img.shields.io/node/v/@litert/uuid.svg?colorB=brightgreen)](https://nodejs.org/dist/latest-v8.x/)
[![GitHub issues](https://img.shields.io/github/issues/litert/uuid.js.svg)](https://github.com/litert/uuid.js/issues)
[![GitHub Releases](https://img.shields.io/github/release/litert/uuid.js.svg)](https://github.com/litert/uuid.js/releases "Stable Release")

A uuid generator library for NodeJS.

## Requirement

- TypeScript v5.0.0 (or newer)
- Node.js v18.0.0 (or newer)

## Installation

Install by NPM:

```sh
npm i @litert/uuid --save
```

## Documents

- [English](https://litert.org/projects/uuid.js)

## Algorithms

- [Snowflake](https://blog.twitter.com/engineering/en_us/a/2010/announcing-snowflake.html)

    A 64-bit integer UUID algorithm provided by X (Twitter).

- [Snowflake-SI](./docs/en-US/Snowflake-SI.md)

    The Snowflake-SI algorithm generates safe integer (53-bits integer) for
    JavaScript, with capacity 128 uuids per milliseconds, and 64 machine parallel
    working.

- UUIDv4

    The UUID version 4 algorithm generates random UUIDs.

- UUIDv5

    The UUID version 5 algorithm generates UUIDs based on SHA-1 hash of a namespace and a name.

## Examples

- [Snowflake](./src/examples/Snowflake.ts)
- [Snowflake-SI](./src/examples/SnowflakeSI.ts)
- [UUIDv4](./src/examples/UUIDv4.ts)
- [UUIDv5](./src/examples/UUIDv5.ts)

## License

This library is published under [Apache-2.0](./LICENSE) license.
npm package: @litert/websocket
Description: The websocket protocol library for LiteRT.
Author: Angus.Fenying
Latest version: 0.2.8

# LiteRT/WebSocket

[![Strict TypeScript Checked](https://badgen.net/badge/TS/Strict "Strict TypeScript Checked")](https://www.typescriptlang.org)
[![npm version](https://img.shields.io/npm/v/@litert/websocket.svg?colorB=brightgreen)](https://www.npmjs.com/package/@litert/websocket "Stable Version")
[![License](https://img.shields.io/npm/l/@litert/websocket.svg?maxAge=2592000?style=plastic)](https://github.com/litert/websocket.js/blob/master/LICENSE)
[![GitHub issues](https://img.shields.io/github/issues/litert/websocket.js.svg)](https://github.com/litert/websocket.js/issues)
[![GitHub Releases](https://img.shields.io/github/release/litert/websocket.js.svg)](https://github.com/litert/websocket.js/releases "Stable Release")

The WebSocket implementation written in TypeScript, for Node.JS.

## Installation

```sh
npm i @litert/websocket --save
```

## Usage

- [HTTP Demo](./src/examples/http/)
- [HTTPS Demo](./src/examples/https/)

## Requirements

- Node.js v18.x (Or newer)
- TypeScript v5.0.x (Or newer)

## Documentation

- [en-US](https://litert.org/projects/websocket.js/)

    - [Quick Start](https://litert.org/projects/websocket.js/guides/quick-start.html)
    - [FAQ](https://litert.org/projects/websocket.js/guides/faq.html)
    - [API Reference](https://litert.org/projects/websocket.js/api/)

## License

This library is published under [Apache-2.0](./LICENSE) license.
npm package: @litert/ws-utils
Description: A C++ native extension providing utilities for WebSocket, in NodeJS.
Author: Angus.Fenying
Latest version: 0.1.0

# LiteRT/WebSocket Utilities

[![npm version](https://img.shields.io/npm/v/@litert/ws-utils.svg?colorB=brightgreen)](https://www.npmjs.com/package/@litert/ws-utils "Stable Version")
[![License](https://img.shields.io/npm/l/@litert/ws-utils.svg?maxAge=2592000?style=plastic)](https://github.com/litert/node-ws-utils/blob/master/LICENSE)
[![GitHub issues](https://img.shields.io/github/issues/litert/node-ws-utils.svg)](https://github.com/litert/node-ws-utils/issues)
[![GitHub Releases](https://img.shields.io/github/release/litert/node-ws-utils.svg)](https://github.com/litert/node-ws-utils/releases "Stable Release")

A C++ native extension providing utilities for WebSocket, in NodeJS.

> This module is an optional dependency of `@litert/websocket`, install it as you need.

## Installation

By NPM directly:

```sh
npm install @litert/ws-utils --save
```

However, if you don't wanna install GCC/MAKE/PYTHON in your environment, you can install/build this module in another
environment (e.g. a docker container), and then copy it to your project.

## Requirements

- Node.js v18.x (Or newer)
- TypeScript v5.0.x (Or newer)

## License

This library is published under [Apache-2.0](./LICENSE) license.
npm package: @litertjs/core
Description: LiteRT.js package
Latest version: 2.4.0

# @litertjs/core

Core web runtime for [LiteRT](https://ai.google.dev/edge/litert) ([previously
TFLite](https://developers.googleblog.com/en/tensorflow-lite-is-now-litert/)),
Google's open-source high performance runtime for on-device AI.

This package provides the core functionality to load and run arbitrary LiteRT
(`.tflite`) models directly in the browser, with support for WebGPU and CPU
acceleration.

This is the primary package for LiteRT.js. For integration with TensorFlow.js,
see
[`@litertjs/tfjs-interop`](https://www.npmjs.com/package/@litertjs/tfjs-interop).
To test and benchmark your models, check out the
[`@litertjs/model-tester`](https://www.npmjs.com/package/@litertjs/model-tester).

## Features

-   Load and run a LiteRT (.tflite) model.
-   Run with WebGPU acceleration on supported browsers.
-   Run with ([XNNPack](https://github.com/google/XNNPACK))-accelerated CPU
    kernels on any browser.
-   Slot into existing [TensorFlow.js](https://github.com/tensorflow/tfjs)
    pipelines as a replacement for [TFJS Graph
    Models](https://js.tensorflow.org/api/latest/#loadGraphModel). See
    [`@litertjs/tfjs-interop`](https://www.npmjs.com/package/@litertjs/tfjs-interop)
    package for details.

## Usage

For a complete guide, see our docs at
[ai.google.dev/edge/litert/web](https://ai.google.dev/edge/litert/web).

The following code snippet loads LiteRT.js, loads a MobileNetV2 model, and runs
it on a sample input tensor.

```typescript
import {loadLiteRt, loadAndCompile, Tensor} from '@litertjs/core';

// Initialize LiteRT.js's Wasm files.
// These files are located in `node_modules/@litertjs/core/wasm/`
// and need to be served by your web server.
await loadLiteRt('/path/to/wasm/directory/');

const model = await loadAndCompile(
  '/path/to/your/model/torchvision_mobilenet_v2.tflite',
  {accelerator: 'webgpu'},
);

// Create an input tensor.
const inputTypedArray = new Float32Array(1 * 3 * 224 * 224);
const inputTensor = new Tensor(inputTypedArray, [1, 3, 224, 224]);

// Move the tensor to the GPU for a WebGPU-accelerated model.
const gpuTensor = await inputTensor.moveTo('webgpu');

// Run the model.
const results = model.run(gpuTensor);

// All tensors that are not moved to another backend with `moveTo` must
// eventually be freed with `.delete()`.
gpuTensor.delete();

// Move the result back to the CPU to read the data.
const result = results[0].moveTo('wasm');
console.log(result.toTypedArray());

// Clean up the result tensor.
result.delete();
```
npm package: @litertjs/model-tester
Description: Model Tester runs your LiteRT models in the browser using LiteRT.js on both WebGPU and Wasm. It helps catch issues with the model before you start writing code.
Latest version: 2.4.0

# LiteRT.js Model Tester

Model Tester runs your LiteRT models in the browser using LiteRT.js on both
WebGPU and Wasm. It helps catch issues with the model before you start writing
code.

## Features

### Test Compatibility

A good first step in running a model on LiteRT.js is to test it in Model Tester.
Model Tester exposes compatibility issues and unsupported operations before you
begin writing code for your model pipeline.

### Test Correctness

Model Tester compares the output of running the model on Wasm CPU to the output
of running on WebGPU to ensure your model has the same outputs on both
accelerators.

### Benchmark Performance

Model Tester benchmarks your model on WebGPU and Wasm CPU so you can see if it
performs well enough for your application.

## Get Started

Install Model Tester with `npm i @litertjs-model-tester`. Then, run it with `npx
model-tester`. It will launch a local server that hosts the model tester site.

Model Tester supports the following CLI options:

```
$ npx model-tester --help
usage: model-tester [-h] [--public] [--port PORT] [--open]

LiteRT.js Model Tester

optional arguments:
  -h, --help   Show this help message and exit
  --public     Host the model tester publicly. By default, only connections from localhost are allowed.
  --port PORT
  --open       Whether to open Chrome. Defaults to true
```

## Development

Model Tester is part of the LiteRT.js monorepo, so you should first build the
monorepo by running `npm run build` in the root directory (`../../` relative to
this directory). Then, you can return to this directory and run `npm run dev` to
run the devserver.