open-index/open-npm huggingface dataset:
npm package: @nlocnila/lsdb
Description: LevelUP & localStorageDOWN
Author: nlocnila
Latest version: 1.0.1

# lsdb
[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)
[![Build Status](https://travis-ci.org/nlocnila/lsdb.svg?branch=master)](https://travis-ci.org/nlocnila/lsdb)

LevelUP & LocalstorageDOWN

## Why

You get the benefit of both localStorage as a storage backend and a MemDB-like implementation (in-memory storage) as a fallback for the price of one package.

## Install

    $ npm install @nlocnila/lsdb

## Usage
```javascript
'use strict'

var LSDB = require('../index')

var db = LSDB('mydb')

db.put('test', 'hello world', function (err) {
  if (err) { 
    return console.error(err)
  }
  db.get('test', function (err, value) {
    if (err) {
      return console.error(err)
    }
    console.log(value) // hello world
  })
})
```

## API
### LSDB(location, [options], [callback])
```javascript
{
  location: String,
  options: Object,
  callback: Function
}
```
Initializes a new `lsdb`, `location` is the only parameter required. See [LevelUP](https://www.npmjs.com/package/levelup#ctor) for more details. 

### db#put
### db#get
### db#del
Supports basic functionality implemented on top of the [Abstract LevelDOWN API](https://github.com/Level/abstract-leveldown). See [localstorage-down](https://github.com/No9/localstorage-down) package for more details.

## Browser Support
Check out the following [link](https://github.com/No9/localstorage-down#browser-support) to see what is supported out of box

## License
MIT
npm package: @nlovell/elden-ring-utils
Description: Some maths related to Elden Ring rune calculations
Author: nlovell
Latest version: 1.0.1

# Elden Ring Utils
_Some maths related to Elden Ring rune calculations_

I've been playing Elden Ring a _lot_ recently, and I have always struggled finding the optimal number of Golden Runes in my inventory without being wasteful... So I decided the only way forward was to make an NPM package I can then use on a website in order to deal with this nasty maths for me. By nasty I mean simple. I just refuse to Think while playing videogames.

---


## How to Use

```typescript

import * from @nlovell/eldenringutils


/*
 * Calculates which Golden Runes should be 'popped' in order to minimally achieve the required total cost
 * [{ runeLevel: 2, value: 400, count: 1 }]
 */
goldenRunesNeeded(800, 1100); 


```
npm package: @nlovell/polygon-coordinates
Description: Generate [x,y] coordinates for a regular polygon of given sides and radius
Author: nlovell
Latest version: 0.0.1

<p align="center">
  <a href="" rel="noopener">
 <img width=200px height=200px src=".\docs\logo.png" alt="Project logo"></a>
</p>

<h1 align="center">Vector Polygons</h1>


<div align="center">

![Status](https://img.shields.io/badge/status-active-success)
[![GitHub Issues](https://img.shields.io/github/issues/nlovell/vector-polygons)](https://github.com/nlovell/vector-polygons/issues)
[![GitHub Pull Requests](https://img.shields.io/github/issues-pr/nlovell/vector-polygons)](https://github.com/nlovell/vector-polygons/pulls)
[![License](https://img.shields.io/github/license/nlovell/vector-polygons)](/LICENSE)

</div>
<h1></h1>

<p align="center"> Easily generate coordinates for regular polygons
    <br> 
</p>

Just a little function that takes some parameters, and spits out vertex coordinates for any regular 2d polygons with `n` number of sides. It was a tangent on something else I was working on, and a fun little exercise in TypeScript. I'm also using this minor project to work on documentation and testing tools, so this will likely be overkill.

Feel free to submit an issue or pull request if you want to see anything changed.

- [Usage](#usage)
- [Development](#development)
- [Built with](#built-with)
- [License](#license)

## Usage

Download the library from `undecided package manager`, and import the library into your project to get started.

![Import example](./docs/carbon-import.png)


Click [here](https://www.desmos.com/calculator/ascq20nscb) to view the resulting nonagon on Desmos!

## Development

Want to contribute? Great!

To fix a bug or enhance the project, please follow these steps:

- Fork the repo
- Create a new branch (`git checkout -b branch-name`)
- Make the appropriate changes in the files
- Add changes to reflect the changes made
- Commit your changes (`git commit -am 'Stuff Fixed'`)
- Push to the branch (`git push origin branch-name`)
- Create a Pull Request

## Built with

- [Typescript](https://github.com/microsoft/TypeScript)


## License

MIT License - found [here](./license.md).
npm package: @nlpsl202/svelte-data-tabu
Description: A simple, small, light-weight but powerful data table in svelte.
Author: Kalan
Latest version: 0.0.1

## svelte-data-tabu

A simple, small, light-weight but powerful data table in svelte.

## Usage

### Config

```js
export const config = {
  no: {
    name: "name", // head column
    type: "number", // number, string -> will align in different way
    formatter: (t) => `#${t}`, // how to format data
    hideMobile: true, // hide in mobile (will deprecate probably)
  },
  name: {
    name: "FISH",
    type: "text",
    align: "left", // text align
    className: "fishName", // custom class name
  },
  price: {
    name: "價格",
    sortable: true, // sortable in table head
    formatter: function priceFormatter(t) {
      return formatNumber(t);
    },
    comparator: priceComparator, // when sortable is ture, comparator is required.
  },
  price08: {
    accessor: (d) => d.price, // a function to define how to get data in this column
  },
};
```

## TODOs

- [ ] pagination support
- [x] Fixed header
- [x] sortable
- [ ] slot
- [ ] expanded view
- [ ] group
- [ ] row and column event handler
- [ ] selectable
- [ ] Event communication
- [ ] a11y support
- [ ] test
- [ ] TypeScript support
npm package: @nlptools/comparison
Description: Programmatically create text comparisons, powered by Demo Macro.
Author: Demo Macro
Latest version: 0.0.1

# @nlptools/comparison

![npm version](https://img.shields.io/npm/v/@nlptools/comparison)
![npm downloads](https://img.shields.io/npm/dw/@nlptools/comparison)
![npm license](https://img.shields.io/npm/l/@nlptools/comparison)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](https://www.contributor-covenant.org/version/2/1/code_of_conduct/)

> Programmatically create text comparisons, powered by Demo Macro.

## Getting started

```bash
# npm
$ npm install @nlptools/comparison

# yarn
$ yarn add @nlptools/comparison

# pnpm
$ pnpm add @nlptools/comparison
```

## Usage

```ts
// diff
import { createDiffComparison } from "@nlptools/comparison";

const diff = createDiffComparison("Hello, world!", "Hello, world?", {
  // options
  ignoreCase: false,
  lang: "en",
  segmentation: "chars",
});

// similarity
import { createSimilarityComparison } from "@nlptools/comparison";

const similarity = createSimilarityComparison(
  "Hello, world!",
  "Hello, world?",
  {
    // options
    lang: "en",
    threshold: 10,
  },
);
```

## License

- [MIT](LICENSE) &copy; [Demo Macro](https://imst.xyz/)
npm package: @nlptools/segmentation
Description: Programmatically create text segmentations, powered by Demo Macro.
Author: Demo Macro
Latest version: 0.0.1

# @nlptools/segmentation

![npm version](https://img.shields.io/npm/v/@nlptools/segmentation)
![npm downloads](https://img.shields.io/npm/dw/@nlptools/segmentation)
![npm license](https://img.shields.io/npm/l/@nlptools/segmentation)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](https://www.contributor-covenant.org/version/2/1/code_of_conduct/)

> Programmatically create text segmentations, powered by Demo Macro.

## Getting started

```bash
# npm
$ npm install @nlptools/segmentation

# yarn
$ yarn add @nlptools/segmentation

# pnpm
$ pnpm add @nlptools/segmentation
```

## Usage

```ts
import { createSegmentation } from "@nlptools/segmentation";

const segmentation = createSegmentation("Hello, world!", {
  // options
  lang: "en",
  segmentation: "words",
});
```

## License

- [MIT](LICENSE) &copy; [Demo Macro](https://imst.xyz/)
npm package: @nlptools/similarity
Description: Multiple algorithms for similarity, powered by Demo Macro.
Author: Demo Macro
Latest version: 0.0.1

# @nlptools/similarity

![npm version](https://img.shields.io/npm/v/@nlptools/similarity)
![npm downloads](https://img.shields.io/npm/dw/@nlptools/similarity)
![npm license](https://img.shields.io/npm/l/@nlptools/similarity)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](https://www.contributor-covenant.org/version/2/1/code_of_conduct/)

> Multiple algorithms for similarity, powered by Demo Macro.

## Getting started

```bash
# npm
$ npm install @nlptools/similarity

# yarn
$ yarn add @nlptools/similarity

# pnpm
$ pnpm add @nlptools/similarity
```

## Usage

```ts
// levenshtein distance
import { levenshteinDistance } from "@nlptools/similarity";

const distance = levenshteinDistance("Hello, world!", "Hello, world?");
```

## License

- [MIT](LICENSE) &copy; [Demo Macro](https://imst.xyz/)
npm package: @nlptools/splitter
Description: Text splitting utilities - LangChain.js text splitters wrapper for NLPTools
Author: Demo Macro
Latest version: 0.0.5

# @nlptools/splitter

![npm version](https://img.shields.io/npm/v/@nlptools/splitter)
![npm license](https://img.shields.io/npm/l/@nlptools/splitter)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](https://www.contributor-covenant.org/version/2/1/code_of_conduct/)

> Text splitting utilities - LangChain.js text splitters wrapper for NLPTools

This package provides convenient access to LangChain.js text splitting utilities through the NLPTools ecosystem. It includes various text splitters for chunking documents and processing large texts.

## Installation

```bash
# Install with npm
npm install @nlptools/splitter

# Install with yarn
yarn add @nlptools/splitter

# Install with pnpm
pnpm add @nlptools/splitter
```

## Usage

### Basic Setup

```typescript
import {
  RecursiveCharacterTextSplitter,
  CharacterTextSplitter,
  MarkdownTextSplitter,
  TokenTextSplitter,
} from "@nlptools/splitter";
```

### Available Splitters

- **RecursiveCharacterTextSplitter** - Splits text recursively using different separators
- **CharacterTextSplitter** - Splits text by character count
- **MarkdownTextSplitter** - Specialized splitter for Markdown documents
- **TokenTextSplitter** - Splits text by token count
- **LatexTextSplitter** - Specialized splitter for LaTeX documents

### Example Usage

```typescript
import { RecursiveCharacterTextSplitter } from "@nlptools/splitter";

const splitter = new RecursiveCharacterTextSplitter({
  chunkSize: 1000,
  chunkOverlap: 200,
});

const text = "Your long text content here...";
const chunks = await splitter.splitText(text);
console.log(chunks);
```

## Features

- 📝 **Multiple Splitting Strategies**: Character, token, and format-aware splitting
- 🔧 **Configurable**: Customizable chunk size and overlap
- 📦 **TypeScript First**: Full type safety
- 🚀 **Based on LangChain.js**: Reliable and well-tested implementations

## References

This package incorporates and builds upon the following excellent open source projects:

- [LangChain.js Text Splitters](https://docs.langchain.com/oss/javascript/integrations/splitters) - Core text splitting implementations via `@langchain/textsplitters`

## License

[MIT](../../LICENSE) &copy; [Demo Macro](https://www.demomacro.com/)
npm package: @nlptools/tokenizer
Description: Tokenization utilities - HuggingFace tokenizers wrapper for NLPTools
Author: Demo Macro
Latest version: 0.0.5

# @nlptools/tokenizer

![npm version](https://img.shields.io/npm/v/@nlptools/tokenizer)
![npm license](https://img.shields.io/npm/l/@nlptools/tokenizer)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](https://www.contributor-covenant.org/version/2/1/code_of_conduct/)

> Tokenization utilities - HuggingFace tokenizers wrapper for NLPTools

This package provides convenient access to HuggingFace tokenization utilities through the NLPTools ecosystem. It includes fast, client-side tokenization for various LLM models and supports both browser and Node.js environments.

## Installation

```bash
# Install with npm
npm install @nlptools/tokenizer

# Install with yarn
yarn add @nlptools/tokenizer

# Install with pnpm
pnpm add @nlptools/tokenizer
```

## Usage

### Basic Setup

```typescript
import { Tokenizer } from "@nlptools/tokenizer";
```

### Available Functions

- **Tokenizer** - Main tokenizer class for encoding and decoding text
- **encode()** - Convert text to token IDs and tokens
- **decode()** - Convert token IDs back to text
- **tokenize()** - Split text into token strings
- ** AddedToken** - Custom token configuration class

### Example Usage

```typescript
import { Tokenizer } from "@nlptools/tokenizer";

// Load tokenizer from HuggingFace Hub
const modelId = "HuggingFaceTB/SmolLM3-3B";
const tokenizerJson = await fetch(
  `https://huggingface.co/${modelId}/resolve/main/tokenizer.json`,
).then((res) => res.json());
const tokenizerConfig = await fetch(
  `https://huggingface.co/${modelId}/resolve/main/tokenizer_config.json`,
).then((res) => res.json());

// Create tokenizer instance
const tokenizer = new Tokenizer(tokenizerJson, tokenizerConfig);

// Encode text
const encoded = tokenizer.encode("Hello World");
console.log(encoded.ids); // [9906, 4435]
console.log(encoded.tokens); // ['Hello', 'ĠWorld']
console.log(encoded.attention_mask); // [1, 1]

// Decode back to text
const decoded = tokenizer.decode(encoded.ids);
console.log(decoded); // 'Hello World'

// Get token count
const tokenCount = tokenizer.encode("This is a sentence.").ids.length;
console.log(`Token count: ${tokenCount}`);
```

## Features

- 🚀 **Fast & Lightweight**: Zero-dependency implementation for client-side use
- 🔧 **Model Compatible**: Works with HuggingFace model tokenizers
- 📱 **Cross-Platform**: Supports both browser and Node.js environments
- 📦 **TypeScript First**: Full type safety with comprehensive API
- 🌐 **HuggingFace Hub**: Direct integration with model repositories

## References

This package incorporates and builds upon the following excellent open source projects:

- [HuggingFace Tokenizers.js](https://github.com/huggingface/tokenizers.js) - Core tokenization implementations via `@huggingface/tokenizers`

## License

[MIT](../../LICENSE) &copy; [Demo Macro](https://www.demomacro.com/)
npm package: @nlscript/nlscript-microscope-language
Description: Use nlScript to develop a language based on natural English syntax to control microscope acquisition pipelines
Author: Benjamin Schmid
Latest version: 0.3.0

# nlScript microscope language

A natural language for configuring complex microscope timelapse experiments, based on nlScript.

Even on modern microscopes, time-lapse experiments are often limited to data acquisition at fixed intervals. At each time point, images are acquired at a fixed number of planes, at fixed stage positions, possibly repeated for a fixed set of channels. The dynamic nature of biological processes often requires a more flexible imaging pipeline to be observed optimally, e.g., with the imaging interval adapted to the rate of change, with different channels imaged at varying intervals, or with different positions imaged with varying magnification. The hardware of modern microscope allows for such a flexibility, the limiting factor is the software. The reasons for this is the effort needed to design and develop a user interface that is intuitive and yet allows to configure such a flexible imaging experiment.

To address this gap, we have developed a language for describing flexible time-lapse imaging experiments on microscopes. While our language has been developed for the Zeiss Celldiscoverer 7, it is easily adaptable to other microscope modalities. Remarkably, only a few sentence templates are sufficient to configure time-lapse experiments that (i) provide flexible intervals, (ii) select positions and channels at each time point, (iii) adopt magnification, (iv) adopt channel settings such as laser power, (v) provide adjustable environmental settings (temperature and CO2 concentration).

More information about how to use nlScript to develop custom natural language interfaces can be found here:
- https://nlScript.github.io/nlScript-java
- https://github.com/nlScript/nlScript-java

You can interactively try the language at https://nlScript.github.io/nlScript-microscope-language-js.


## License

This project is licensed under the MIT License - see the [LICENSE.txt](LICENSE.txt) file for details.