open-index/open-npm huggingface dataset:
npm package: @hdml/common
Description: The `@hdml/common` package is part of the **HDML-Utilities** monorepo. It serves as a centralized module for re-exporting commonly used third-party libraries, ensuring consistency and simplifying dependency management across HDML-related projects.
Latest version: 0.0.2-alpha.13

# @hdml/common

The `@hdml/common` package is part of the **HDML-Utilities** monorepo. It serves as a centralized module for re-exporting commonly used third-party libraries, ensuring consistency and simplifying dependency management across HDML-related projects.

## Features

This package re-exports the following libraries:

- **[apache-arrow](https://github.com/apache/arrow)**: A cross-language development platform for in-memory data.
- **[uuid](https://github.com/uuidjs/uuid)**: A library for generating universally unique identifiers (UUIDs).
- **[throttle-debounce](https://github.com/niksy/throttle-debounce)**: A utility library for throttling and debouncing functions.

## Installation

To use `@hdml/common` in your project, install it via npm or yarn:

```bash
npm install @hdml/common
# or
yarn add @hdml/common
```

## Usage

Import the desired functionality directly from @hdml/common:

```typescript
import { uuid, arrow, throdeb } from '@hdml/common';

const { v4 } = uuid;
const { debounce } = throdeb;
const { Table } = arrow;

// Example: Generate a UUID
const id = uuidv4();

// Example: Use Apache Arrow
const table = Table.new(...);

// Example: Use a debounced function
const debouncedFunc = debounce(300, () => console.log('Debounced!'));
debouncedFunc();

```

## License

Apache License Version 2.0
npm package: @hdml/database
Description: [![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)
Latest version: 0.0.0-alpha.12

# @hdml/database

[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)

## Overview

Re-export of `@finos/perspective` and `apache-arrow` libraries.

## Packaging

`@hdml/database` is written in `TypeScript`, and compiled to `ESM` and `CommonJS` module formats and `UMD` bundle. It also provides `*.d.ts` types definitions.

## Supported Browsers and Platforms

The bundles we compile support `Node.js` and moderns browser (`Firefox`, `Chrome`, `Edge`, and `Safari`) and are tested via `playwright`. We do not support `Internet Explorer`.
npm package: @hdml/elements
Description: [![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)
Latest version: 0.0.0-alpha.12

# @hdml/elements

[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)

## Overview

A set of `WebComponent` that extends the semantics of `HTML` and allows users to describe complex analytical queries, as well as a graphical representation of the retrieved data using `HTML`.

## Packaging

`@hdml/elements` is written in `TypeScript` and compiled to `ESM` and `CommonJS` module formats and `UMD` bundle. It also provides `*.d.ts` types definitions.

## Supported Browsers and Platforms

The bundles we compile support `Node.js` and moderns browser (`Firefox`, `Chrome`, `Edge`, and `Safari`) and are tested via `playwright`. We do not support `Internet Explorer`.
npm package: @hdml/hash
Description: `@hdml/hash` is a lightweight utility library designed for hashing and generating unique identifiers. It provides various functions to handle hashing and timestamp-related operations, making it ideal for applications that require unique and consistent ide
Latest version: 0.0.2-alpha.13

# @hdml/hash

`@hdml/hash` is a lightweight utility library designed for hashing and generating unique identifiers. It provides various functions to handle hashing and timestamp-related operations, making it ideal for applications that require unique and consistent identifiers or time-based hashing. This module is part of the **HDML-Utilities** monorepo, which aims to provide tools for working with hierarchical data structures in web-based environments.

## Features

* **MD5 Hashing**: Compute MD5 hash values for strings.
* **UUID Generation**: Generate session-unique UUID-like strings.
* **Hashify**: Convert content to a unique hash name using a specific charset.
* **Hashed Timestamp**: Generate a consistent hash for a timestamp based on a timestep value.
* **Parse Time Hash**: Retrieve the timestamp from a hashed time string.

## Installation

To install `@hdml/hash`, use npm:

```bash
npm install @hdml/hash
```

## API

`md5(content: string): string`

Generates an MD5 hash from the provided string.

`uid(): string`

Generates a session-unique UUID-like string.

`hashify(content: string): string`

Converts a string to a unique hash name using a custom charset based on its MD5 value.

`hashtime(timestamp: number, timestep: number = 1): string`

Returns a persistent hash for the provided timestamp rounded by the given timestep (in milliseconds). The hash is represented in base-36 format.

`parsetime(hashtime: string, timestep: number = 1): number`

Converts the base-36 hashtime string back to its original timestamp using the provided timestep.

## License

Apache License Version 2.0
npm package: @hdml/io.common
Description: [![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)
Latest version: 0.0.0-alpha.12

# @hdml/io.common

[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)

## Overview

`@hdml/io.common` is a set of base classes that encapsulate the behavior and structure of common services as well as common types. In addition, this module re-exports the main types of the `pulsar-client` module.

## Packaging

`@hdml/io.common` is written in `TypeScript` and compiled into `ESM` and `CommonJS`. It also provides `*.d.ts` types definitions.

## Supported Browsers and Platforms

The bundles we compile support `Node.js` and do not support any browser.
npm package: @hdml/io.gateway
Description: [![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)
Latest version: 0.0.0-alpha.12

# @hdml/io.gateway

[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)

## Overview

The `@hdml/io.gateway` module consists of two services designed to process incoming HTTP requests, such as session initialization, data requests, and others. Also, these services are responsible for some auxiliary operations, such as reading user data from disk, compiling user `hdml` files, and others.

## Packaging

`@hdml/io.querier` is written in `TypeScript` and compiled into `ESM` and `CommonJS`. It also provides `*.d.ts` types definitions.

## Supported Browsers and Platforms

The bundles we compile support `Node.js` and do not support any browser.
npm package: @hdml/io.querier
Description: [![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)
Latest version: 0.0.0-alpha.12

# @hdml/io.querier

[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)

## Overview

The `@hdml/io.querier` module is a service that is designed to send a query to the SQL engine. Query results are converted to the `arrow.Table` format and stored in the cache for later reading.

## Packaging

`@hdml/io.querier` is written in `TypeScript` and compiled into `ESM` and `CommonJS`. It also provides `*.d.ts` types definitions.

## Supported Browsers and Platforms

The bundles we compile support `Node.js` and do not support any browser.
npm package: @hdml/orchestrator
Description: [![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)
Latest version: 0.0.0-alpha.12

# @hdml/orchestrator

[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)

## Overview

This module provides the `getSQL` and `getHTML` functions that convert the `@hdml/schema.Query` object to a `SQL` or `HTML` string, respectively.

## Packaging

`@hdml/orchestrator` is written in `TypeScript`, and compiled to `ESM` and `CommonJS` module formats and `UMD` bundle. It also provides `*.d.ts` types definitions.

## Supported Browsers and Platforms

The bundles we compile support `Node.js` and moderns browser (`Firefox`, `Chrome`, `Edge`, and `Safari`) and are tested via `playwright`. We do not support `Internet Explorer`.
npm package: @hdml/parser
Description: This module is part of the **HDML-Utilities** monorepo and provides a set of utility functions to parse **HTML** and **HDML** (HyperData Markup Language) documents into **DOM** and **HDOM** (HyperData Object Model) objects. It enables further manipulation
Latest version: 0.0.2-alpha.13

# @hdml/parser

This module is part of the **HDML-Utilities** monorepo and provides a set of utility functions to parse **HTML** and **HDML** (HyperData Markup Language) documents into **DOM** and **HDOM** (HyperData Object Model) objects. It enables further manipulation and traversal of the document's structure.

## Features

This package provides the following `parser` functions:

1. **parseHTML**: Parse an HTML string, and return the root of the generated DOM object.
2. **parseHDML**: Parses an HDML string and converts it into an HDOM object.

## Dependencies

This module depends on the `@hdml/schemas` package, which distributes FlatBuffers schema-based classes for serialization, and `@hdml/types` package that distributes TypeScript interface definitions for HDML components.

## Installation

To install this module, simply add it to your project:

```bash
npm install @hdml/parser
```

## Usage

Here’s a basic example of how to use the parser functions in your project:

```typescript
import { parseHDML, parseHTML } from "@hdml/parser";

const hdml = "<hdml-model>...</hdml-model>";
const hdom = parseHDML(hdml);
console.log(hdom);

const html = "<html>...</html>";
const dom = parseHTML(html);
console.log(dom);
```

## License

Apache License Version 2.0
npm package: @hdml/schemas
Description: The `@hdml/schemas` package is a part of the **HDML-Utilities** monorepo and provides TypeScript types generated by the [FlatBuffers](https://google.github.io/flatbuffers/) tool. These types define the HyperData object model, facilitating consistent data 
Latest version: 0.0.2-alpha.13

# @hdml/schemas

The `@hdml/schemas` package is a part of the **HDML-Utilities** monorepo and provides TypeScript types generated by the [FlatBuffers](https://google.github.io/flatbuffers/) tool. These types define the HyperData object model, facilitating consistent data handling and transfer across the HDML ecosystem.

## Features

- **FlatBuffers-based:** Uses FlatBuffers to ensure efficient and compact serialization and deserialization of data.
- **TypeScript support:** Provides strongly typed interfaces for the HyperData object model.
- **Automated updates:** Types are auto-generated from FlatBuffers schemas during the build process, ensuring synchronization with the latest schema definitions.

## Installation

To include `@hdml/schemas` in your project, install it using npm or yarn:

```bash
npm install @hdml/schemas
# or
yarn add @hdml/schemas
```

## Usage

Import the generated types into your TypeScript project to leverage the HyperData object model:

```typescript
import { HDOM } from "@hdml/types";
import { ConnectorTypesEnum } from "@hdml/schemas";
import { serialize, structurize } from "@hdml/buffer";

const hdom: HDOM = {
  includes: [],
  connections: [
    {
      name: "",
      description: null,
      options: {
        connector: ConnectorTypesEnum.Postgres,
        parameters: {
          host: "",
          user: "",
          password: "",
          ssl: false,
        },
      },
    },
  ],
  models: [],
  frames: [],
};
const buf = serialize(hdom);
const struct = structurize(buf);
```

## Schema Compilation

The `@hdml/schemas` package is the target for FlatBuffers schema compilation. The schemas are maintained in a separate repository, [HDML-Schemas](https://github.com/HDML-Foundation/HDML-Schemas), which is included in the monorepo as a git submodule. This structure ensures a clean separation of schema definitions and their generated outputs.

### Development Workflow

* Update schemas: Make necessary changes to the FlatBuffers schemas in the HDML-Schemas repository.
* Remap commit: After updating the schemas, remap the corresponding commit from the HDML-Schemas repository to the monorepo by updating the git submodule reference.
* Compile schemas: Run the build process in the monorepo to generate updated TypeScript types from the schemas.
* Use updated types: The latest types are now available in the @hdml/schemas package for use in your projects.

## License

Apache License Version 2.0
npm package: @hdml/stringifier
Description: The `@hdml/stringlifier` package is part of the **HDML-Utilities** monorepo. It provides a suite of functions to convert HDML data structures into SQL or HTML string representations for further processing, enabling seamless integration of HDML components 
Latest version: 0.0.2-alpha.13

# @hdml/stringlifier

The `@hdml/stringlifier` package is part of the **HDML-Utilities** monorepo. It provides a suite of functions to convert HDML data structures into SQL or HTML string representations for further processing, enabling seamless integration of HDML components into web and database workflows.

## Features

This package offers the following stringification functions:

* `getConnectionHTML`: Converts a connection structure into an HTML string.
* `getConnectionSQLs`: Generates SQL statements for a connection.
* `getFrameHTML`: Converts a frame structure into an HTML string.
* `getFrameSQL`: Converts a frame structure into an SQL query string.
* `getModelHTML`: Converts a model structure into an HTML string.
* `getModelSQL`: Converts a model structure into an SQL query string.

These functions operate on data structures parsed using the `@hdml/buffer` package's structurize function.

## Installation

To install this package, add it to your project:

```bash
npm install @hdml/stringlifier
```

## Usage

Here’s an example of using the `@hdml/stringlifier` functions:

```typescript
import { HDOM } from "@hdml/types";
import { ConnectorTypesEnum } from "@hdml/schemas";
import { serialize, structurize } from "@hdml/buffer";
import { getConnectionSQLs, getConnectionHTML } from "@hdml/stringlifier";

const hdom: HDOM = {
  includes: [],
  connections: [
    {
      name: "",
      description: null,
      options: {
        connector: ConnectorTypesEnum.Postgres,
        parameters: {
          host: "",
          user: "",
          password: "",
          ssl: false,
        },
      },
    },
  ],
  models: [],
  frames: [],
};
const buf = serialize(hdom);
const struct = structurize(buf);
const conn = struct.connections(0)!;
const sqls = getConnectionSQLs(conn);
const html = getConnectionHTML(conn);
```

## License

Apache License Version 2.0
npm package: @hdml/types
Description: This module is part of the **HDML-Utilities** monorepo and provides type definitions for working with **HDML** (HyperData Markup Language). It includes a comprehensive set of TypeScript interfaces and type definitions that are essential for representing t
Latest version: 0.0.2-alpha.13

# @hdml/types

This module is part of the **HDML-Utilities** monorepo and provides type definitions for working with **HDML** (HyperData Markup Language). It includes a comprehensive set of TypeScript interfaces and type definitions that are essential for representing the structure and data of HDML documents, models, and their associated components.

## Overview

**@hdml/types** defines the core types required to interact with and manipulate HDML documents and data structures within the HDML ecosystem. These types act as the foundation for various operations, including parsing, serialization, and transformation of HDML content.

## Dependencies

This module depends on the `@hdml/schemas` package, which distributes FlatBuffers schema-based classes for serialization.

## Installation

To install this module, simply add it to your project:

```bash
npm install @hdml/types
```

## License

Apache License Version 2.0