open-index/open-npm huggingface dataset:
npm package: @pioug/md-virtual-repeater
Description: Standalone version of md-virtual-repeat directive from angular/material
Author: Gilles Piou
Latest version: 1.0.4

`md-virtual-repeater` is a directive from [angular/material](https://github.com/angular/material).

## Demo

https://pioug.github.io/md-virtual-repeater/

Source: https://github.com/pioug/md-virtual-repeater/blob/gh-pages/index.html

## Why?

- Best implementation of the infinite list for Angular 1.x
- Standalone version (no dependency to Angular Material)
- Simple installation (no external CSS, no bundle tool required)
- Safe for minification ([DI annotation](https://docs.angularjs.org/guide/di) included)

## Installation

```bash
# With NPM
npm install @pioug/md-virtual-repeater

# With Bower
bower install md-virtual-repeater
```

Include the script `virtual-repeater.js` in your HTML:

```html
<!-- If you used NPM previously -->
<script src="node_modules/@pioug/md-virtual-repeater/virtual-repeater.js"></script>

<!-- If you used Bower previously -->
<script src="bower_components/md-virtual-repeater/virtual-repeater.js"></script>
```

Load the Angular module `virtualRepeat` in your JS:

```js
angular.module('myAngularApp', ['virtualRepeat']);
```

## Usage

```html
<md-virtual-repeat-container md-top-index="topIndex">
  <div md-virtual-repeat="i in items" md-item-size="20">Hello {{i}}!</div>
</md-virtual-repeat-container>
```

```css
md-virtual-repeat-container {
  height: 100%;
  overflow-x: hidden;
  overflow-y: scroll;
  position: absolute;
  width: 100%;
}

md-virtual-repeat-container:-webkit-scrollbar {
  width: 0 !important;
}
```

## Documentation

- `mdVirtualRepeat`: https://material.angularjs.org/latest/api/directive/mdVirtualRepeat
- `mdVirtualRepeatContainer`: https://material.angularjs.org/latest/api/directive/mdVirtualRepeatContainer
npm package: @pioug/ng-dependencies
Description: > Analyze javascript code using [esprima](https://github.com/ariya/esprima) and return a list of objects representing the module dependencies in the code.
Latest version: 2.0.0

# ng-dependencies

> Analyze javascript code using [esprima](https://github.com/ariya/esprima) and return a list of objects representing the module dependencies in the code.

This is based on [gulp-angular-filesort](https://github.com/klei/gulp-angular-filesort). I extracted the module dependency code because I need to find a way to dynamically generate a root angular module that depends on a list of angular modules as Bower packages.

### Usage
```js
var fs = require('fs');
var ngDeps = require('ng-dependencies');

var deps = ngDeps(fs.readFileSync('./someNgModule.js'));

console.log(deps);
```

If the content of `./someNgModle.js` is as following:
```js
angular.module('test', ['one']).run(function () {
  // run some logic
});
angular.module('another', []);
angular.module('another').Controller('Ctrl', ['$scope', function ($scope) {
  // some controller logic
}]);
angular.module('useThis').run(function () {
  // ...
});
```

This will output:
```js
{
  dependencies: ['one', 'useThis'],
  modules: {
    'test': ['one'],
    'another': []
  }
}
```

### Special Cases
If multiple declarations of the same module is encountered, (according to [Angular Doc](https://docs.angularjs.org/guide/module)), the later declaration will overwrite any existing module that is declared with the same module name.

For example, the following content:
```js
angular.module('test', ['one']);
angular.module('test', ['another']);
```

will output:
```js
  {
    dependencies: ['another'],
    modules: {
      'test': ['another']
    }
  }
```

### Change log

2.0.0 - use Babel parser; handle rest and spread properties

1.0.1 - update Esprima; handle JSX syntax

0.1.1 - fixing repo url in `package.json` and removing unnecessary dependency.

0.1.0 - simplified output format; added detection for angular.js itself.
npm package: @pioug/poloniex
Description: A tiny Node.js wrapper for Poloniex API
Author: Gilles Piou
Latest version: 1.0.1

# @pioug/poloniex

> A tiny Node.js wrapper for Poloniex API.

I created this module because I believe that simple and readable code matters for code audit since [Poloniex API](https://poloniex.com/) can be used for trading real money.

## Features

- Complete implementation of Poloniex HTTP API
- About 100 lines on code
- One dependency ([axios](https://github.com/mzabriskie/axios))
- Promise-based
- Environment variables for API key and secret

## Setup

### Requirements

- Node 8 (for **object rest and spread properties** support)
- npm 5.1.0 (for **npm lockfiles** support)

### Installation

```sh
npm install --save @pioug/poloniex
```

## Usage

It is recommended to use environment variables for `POLONIEX_KEY` and `POLONIEX_SECRET`:

```sh
POLONIEX_KEY=my_api_key POLONIEX_SECRET=my_secret node app.js
```

The wrapper API is following this format:

```
Poloniex.<command>(<Object with query strings or POST parameters>)
```

For authenticated requests (_trading API_), additional parameters can be passed:

- **nonce**: An integer which must always be greater than the previous nonce used
  - Optional
  - Default is `Date.now()`
- **key**: Your Poloniex API key
  - Optional
  - Default is `process.env.POLONIEX_KEY`
- **secret**: Your Poloniex key secret
  - Optional
  - Default is `process.env.POLONIEX_SECRET`

Every method returns a promise.

## Code example

### Public request

```js
const Poloniex = require('@pioug/poloniex');

Poloniex.returnLoanOrders({
  currency: 'BTC'
})
  .then(console.log);
```

### Authenticated request

```js
const Poloniex = require('@pioug/poloniex');

Poloniex.buy({
  amount: '338.8732',
  currencyPair: 'BTC_XVC',
  rate: '0.00000173',

  nonce: 1
  key: 'my_api_key',
  secret: 'my_secret'
})
  .then(console.log);
```

## API Reference

See the full documentation of Poloniex API: https://poloniex.com/support/api/.
npm package: @pioug/quantize
Description: A node.js module for color quantization, based on Leptonica.
Author: Olivier Lesnicki
Latest version: 1.2.0

quantize
========

Node.js module for color quantization, based on Leptonica.


Install
-------

	npm install quantize

Quick Overview
--------------

### Usage

`````javascript
var quantize = require('quantize');

var arrayOfPixels = [[190,197,190], [202,204,200], [207,214,210], [211,214,211], [205,207,207]];
var maximumColorCount = 4;

var colorMap = quantize(arrayOfPixels, maximumColorCount);
`````

* `arrayOfPixels` - An array of pixels (represented as [R,G,B arrays]) to quantize
* `maxiumColorCount` - The maximum number of colours allowed in the reduced palette

##### Reduced Palette

The `.palette()` method returns an array that contains the reduced color palette.

`````javascript
// Returns the reduced palette
colorMap.palette(); 
// [[204, 204, 204], [208,212,212], [188,196,188], [212,204,196]]
`````

##### Reduced pixel

The `.map(pixel)` method maps an individual pixel to the reduced color palette.

`````javascript
// Returns the reduced pixel
colorMap.map(arrayOfPixels[0]);
// [188,196,188]
`````

Author
------

* [Olivier Lesnicki](https://github.com/olivierlesnicki)

Contributors
------------

* [Nick Rabinowitz](https://github.com/nrabinowitz)
* [Mike Bostock](https://github.com/mbostock)

License
-------

Licensed under the MIT License.
npm package: @pioug/rollup-plugin-css-only
Description: Rollup plugin that bundles imported css
Author: Thomas Ghysels
Latest version: 5.0.0

# Rollup plugin that bundles imported css

<a href="LICENSE">
  <img src="https://img.shields.io/badge/license-MIT-brightgreen.svg" alt="Software License" />
</a>
<a href="https://github.com/thgh/rollup-plugin-css-only/issues">
  <img src="https://img.shields.io/github/issues/thgh/rollup-plugin-css-only.svg" alt="Issues" />
</a>
<a href="http://standardjs.com/">
  <img src="https://img.shields.io/badge/code%20style-standard-brightgreen.svg" alt="JavaScript Style Guide" />
</a>
<a href="https://npmjs.org/package/rollup-plugin-css-only">
  <img src="https://img.shields.io/npm/v/rollup-plugin-css-only.svg?style=flat-squar" alt="NPM" />
</a>
<a href="https://github.com/thgh/rollup-plugin-css-only/releases">
  <img src="https://img.shields.io/github/release/thgh/rollup-plugin-css-only.svg" alt="Latest Version" />
</a>

## Features

- CSS is emitted as 1 asset
- Order of imports is guaranteed
- Watches CSS imports
- Typescript types

## Installation

```
# v5 is compatible with Rollup 4 & 3 & 2
npm install --save-dev rollup-plugin-css-only
```

## Usage

```js
// rollup.config.js
import css from 'rollup-plugin-css-only'

export default {
  input: 'input.js',
  output: {
    file: 'output.js',
    format: 'es',
    assetFileNames: 'assets/[name]-[hash][extname]'
  },
  plugins: [css()]
}
```

```js
// entry.js
import './reset.css'
import './layout.css'
```

```css
/* layout.css */
@import './nested.css';
@import './more.css';
```

### Options

There is 1 option: `output`.  
By default the plugin will use `output.assetFileNames` to decide the filename.

```js
css({
  // Optional: filename to write all styles to
  output: 'bundle.css'
})
```

## Changelog

Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.

## Contributing

Contributions and feedback are very welcome.

To get it running:

1. Clone the project.
2. `npm install`
3. `npm run build`

## Credits

- [Thomas Ghysels](https://github.com/thgh)
- [All Contributors][link-contributors]

## License

The MIT License (MIT). Please see [License File](LICENSE) for more information.

[link-author]: https://github.com/thgh
[link-contributors]: ../../contributors
[rollup-plugin-vue]: https://www.npmjs.com/package/rollup-plugin-vue
[rollup-plugin-buble]: https://www.npmjs.com/package/rollup-plugin-buble
[rollup-plugin-babel]: https://www.npmjs.com/package/rollup-plugin-babel
[vue-template-compiler]: https://www.npmjs.com/package/vue-template-compiler
npm package: @piouson/react-modules-template
Description: A collection of react modules
Author: Piouson
Latest version: 0.1.0

# React Modules

Template for creating a React component library with [TypeScript](https://react-typescript-cheatsheet.netlify.app/), [Rollup](https://rollupjs.org/guide/en/), and [Storybook](https://storybook.js.org/).
npm package: @pipags/sudoku-solver
Description: Sudoku solver and generator with TypeScript
Author: PipaGs
Latest version: 1.3.0

# Sudoku Solver

A TypeScript library for solving and generating Sudoku puzzles.

## Installation

```bash
npm install @pipags/sudoku-solver
```

## Usage

```typescript
import { Sudoku, Generator } from '@pipags/sudoku-solver';

// Create a new Sudoku puzzle
const generator = new Generator();
const result = generator.generateSudoku('easy');

// result contains: { id: string, puzzle: number[][], solution: number[][] }
console.log('Puzzle:', result.puzzle);
console.log('Solution:', result.solution);
console.log('ID:', result.id); // ID is in base64url format

// Solve the puzzle
const sudoku = new Sudoku(result.puzzle);
const solution = sudoku.getSolution();
console.log('Solved:', solution);
```

## Features

- Solve any valid Sudoku puzzle
- Generate new puzzles with different difficulty levels:
  - Easy
  - Medium
  - Hard
  - Extreme
- TypeScript support with type definitions
- 100% test coverage
- Generate unique IDs in base64url format for each puzzle

## API

### Sudoku Class

```typescript
class Sudoku {
  constructor(grid: number[][]);
  isValid(row: number, col: number, num: number): boolean;
  solve(): boolean;
  getSolution(): number[][];
}
```

### Generator Class

```typescript
class Generator {
  generateSudoku(difficulty: 'easy' | 'medium' | 'hard' | 'extreme'): { id: string, puzzle: number[][], solution: number[][] };
  generateFromId(id: string, difficulty?: 'easy' | 'medium' | 'hard' | 'extreme'): { id: string, puzzle: number[][], solution: number[][] };
  generateMultipleSudoku(count: number, difficulty?: 'easy' | 'medium' | 'hard' | 'extreme'): { id: string, puzzle: number[][], solution: number[][] }[];
}
```

## Project Structure

- `src/index.ts` - exports library components
- `src/sudoku.ts` - Sudoku solving logic
- `src/generator.ts` - puzzle generator
- `src/examples.ts` - usage examples

## How it Works

Uses backtracking to solve Sudoku puzzles:

1. Find empty cell
2. Try numbers 1-9
3. Check row, column and box
4. Move to next cell if valid
5. Backtrack if stuck

## License

MIT

## Project Structure

- `src/index.ts` - exports library components
- `src/sudoku.ts` - Sudoku solving logic
- `src/generator.ts` - puzzle generator
- `src/examples.ts` - usage examples

## How it Works

Uses backtracking to solve Sudoku puzzles:

1. Find empty cell
2. Try numbers 1-9
3. Check row, column and box
4. Move to next cell if valid
5. Backtrack if stuck
npm package: @pipcook/create-pipcook-plugin
Description: Create plugin for Pipcook in only one command.
Author: Yorkie Liu
Latest version: 1.0.1

# @pipcook/create-pipcook-plugin

Create plugin for Pipcook in only one command via [npm-init](https://docs.npmjs.com/cli/v6/commands/npm-init).

## Getting started

The are many ways to create a plugin for Pipcook.

```sh
# via NPM
$ npm init @pipcook/pipcook-plugin --category data-collect my-plugin

# via Pipcook
$ pipcook plugin create my-plugin --category data-collect
```

To create a TypeScript(default) plugin:

```sh
$ npm init @pipcook/pipcook-plugin my-plugin
```

To create a plugin with its category:

```sh
$ npm init @pipcook/pipcook-plugin --category data-collect my-plugin
```

Supported categories of plugin are:

- `data-collect`
- `data-access`
- `data-process`
- `model-define`
- `model-train`
- `model-evaluate`

To create a Python plugin:

```sh
$ npm init @pipcook/create-pipcook-plugin --python
```

## How to write a template for new plugin

1. create a directory at ./templates, and name in `v1-default-${plugin-category}`.
2. create an `index.ts` under created template directory, and write the template there.
3. submit a Pull Request to this repository.

To debug the new plugin template, we could use `npx` command:

```sh
$ npm link
$ npx @pipcook/create-pipcook-plugin foobar --category new-category
```

## License

MIT.