open-index/open-npm huggingface dataset:
npm package: @junaga/tts
Description: A simple CLI around `@google-cloud/text-to-speech`, with support for "Speech Markdown"
Author: junaga
Latest version: 0.2.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

A CLI to transform written text files (`.txt`, `.smd` and `.ssml`) into naturally sounding, spoken human voice, audio files (`.mp3` or `.wav`). Using the [partially free](https://cloud.google.com/text-to-speech/pricing), Google Cloud Platform, Machine Learning, Text to Speech API.

- [API demo](https://cloud.google.com/text-to-speech#section-2)
- [API docs](https://cloud.google.com/text-to-speech/docs/apis)
- [Speech Markdown (`.smd`) docs](https://www.speechmarkdown.org/basics/what/)

## Get a GCP service account

You need a GCP _service account_ JSON key file as credential to authenticate against the API. A service account is a Google account, but for computers/containers, not humans.

1. Option one

   Ask your local GCP admin. lol

1. Option two

   Follow [this guide](https://cloud.google.com/text-to-speech/docs/before-you-begin#overview), where you're going to:

   1. Create a [GCP Project](https://cloud.google.com/docs/overview), with billing enabled
   2. Turn on the Text to Speech API
   3. Generated a [service account](https://cloud.google.com/docs/authentication/production) that has project access (i.e. viewer)

Set the `GOOGLE_APPLICATION_CREDENTIALS` environment variable to the _absolute_, not _relative_ path of the key file. The variable is read by the `@google-cloud/text-to-speech` package, the APIs' official nodejs client used in this tool.

## Usage

```sh
sudo npm install --global @junaga/tts

# # Assuming the following:
# $ ls -1
# service-account.json
# text-smd-or-ssml-files/

# use the `$PWD` variable to save 5 seconds of your life
export GOOGLE_APPLICATION_CREDENTIALS=$PWD/service-account.json

# The default `--voice` is `germanSales`
tts --voice tikTok text-smd-or-ssml-files/ mp3-output/

# Check out `mp3-output/`
```

Run `tts --help` for all options.
npm package: @junaid1460/crawler
Description: Web Scraper
Author: Junaid
Latest version: 1.0.1

# Simple crawler
<span class="badge-npmversion"><a href="https://www.npmjs.com/package/@junaid1460/crawler" title="View this project on NPM"><img src="https://img.shields.io/npm/v/@junaid1460/crawler.svg" alt="NPM version" /></a></span>
Crawls hyperlink from provided base url

Example:
```typescript
 import fetch from 'node-fetch';
import { ThrottledAsyncCalls } from './async_throttle';
import { Crawler } from './crawler';

const mediumHostName = "medium.com"
const mediumCrawler = new Crawler(
     ThrottledAsyncCalls.wrap({
         concurrency:  5,
         func: fetch
     }).func,
     {
         baseUrl: `https://${mediumHostName}`,
         hostName: mediumHostName,
         startUrl: `https://${mediumHostName}`,
         depth: 3,
         verbose: true
     }
 )
mediumCrawler.start().then(async (e) => {
    // Now process data
    // play with it
})  
```

The repo contains also a simple wrapper to limit call concurreny to specified number.

Example
```typescript

import { ThrottledAsyncCalls } from '../src/async_throttle';

async function  test(x: number) {
  return x + 1
}

// Simple and powerfiul
const {func: func, object: boundObject} = ThrottledAsyncCalls.wrap({
    concurrency:  4,  // Max concurrent calls 
    func: test // function to wrap
})


// Call it like below

 function start(index) {
    return Promise.all([
     func(0).then(e => console.log(index)),
     func(0),
     func(0),
     func(0),
     func(0),
     func(0),
     func(0),
     func(0),
     func(0).then(e => console.log(index))
    ])
}

start(1).then(async e => {
    console.log("After all tasks done executing", e)
})

```



# License
MIT
npm package: @junaid1460/hapi-decorators
Description: Decorators for hapi 17+
Author: Junaid
Latest version: 1.0.1

## Simple redis cache
<span class="badge-npmversion"><a href="https://www.npmjs.com/package/@junaid1460/simple-redis-cache" title="View this project on NPM"><img src="https://img.shields.io/npm/v/@junaid1460/hapi-decorators.svg" alt="NPM version" /></a></span>
Cache data easily with a simple wrap.

```shell

npm i @junaid1460/hapi-decorators
```

### Usage
npm package: @junaid1460/hapiest
Description: Decorators for hapi 17+
Author: Junaid
Latest version: 1.0.13

## [Hapiest] Beautiful code is what I seek.
<span class="badge-npmversion"><a href="https://www.npmjs.com/package/@junaid1460/hapiest" title="View this project on NPM"><img src="https://img.shields.io/npm/v/@junaid1460/hapiest.svg" alt="NPM version" /></a></span>

```shell

npm i @junaid1460/hapiest
```

### Requirements
hapi 17+
typescript 3 (es6)

### Usage

```typescript
import { Request, ResponseToolkit, Server } from "hapi";
import { AbstractHapiModule, Decorators as d, HapiServerRoutes } from "@junaid1460/hapiest";

@d.routeGroup({ baseUrl: "api", auth: false })
export class AdminRoutes extends HapiServerRoutes {

    @d.get({path: ""}) // Path:  /api
    api(request: Request, toolkit: ResponseToolkit, err?: Error) {
        return "base\n"
    }

    @d.get() // Path: /api/getTest
    public getTest(request: Request, toolkit: ResponseToolkit, err?: Error) {
        return "hey, what's up?\n";
    }

    @d.get({path: 'name'}) // Path: /api/name
    public async getit(request: Request, toolkit: ResponseToolkit, err?: Error) {
        return "junaid\n";
    }
}


class ArenaMainModule extends AbstractHapiModule {
    public routeSets = [AdminRoutes];
    public baseUrl = "dev";
}

export const hapiServer = new Server({
    host: '0',
    port: 8000,
    routes: { cors: true },
});

async function start()  {
    await hapiServer.route(new ArenaMainModule().getRoutes())
    await hapiServer.start().then(e => {
        console.log("server started", hapiServer.table())
    })
}

start()


```
npm package: @junaid1460/simple-redis-cache
Description: Cache function return value in redis
Author: Junaid
Latest version: 1.0.13

## Simple redis cache
<span class="badge-npmversion"><a href="https://www.npmjs.com/package/@junaid1460/simple-redis-cache" title="View this project on NPM"><img src="https://img.shields.io/npm/v/@junaid1460/simple-redis-cache.svg" alt="NPM version" /></a></span>
Cache data easily with a simple wrap.

```shell

npm i @junaid1460/simple-redis-cache
```

### Usage

##### typescript:

``` typescript
import { RedisCache } from "@junaid1460/simple-redis-cache";

const cache = new RedisCache({
    host: "localhost",
});

function myFunc(x: number, y: number) {
    return cache.cached({
        expiresAfter: 10, // seconds
        keys: [x, y], // list of number or string to construct key
        // closure
        func: async () => {
            return x * y;
        },
    });
}

myFunc(1, 2).get().then((e) => console.log(e.hit, e.data));
```

##### Javascript:
```javascript

const redisCache = require('@junaid1460/simple-redis-cache')
const cache = new redisCache.RedisCache({
    host: 'localhost'
})


function myFunc(x, y) {
    return cache.cached({
        expiresAfter: 10, // seconds
        keys: [x, y], // list of number or string to construct key
        // closure
        func: async () => {
            return x * y;
        },
    });
}

myFunc(1, 2).delete().then((e) => console.log());
```
npm package: @junaidrahim/my-package
Description: Sample description
Author: Author
Latest version: 0.0.1

# Getting started with argopm - Atlan's Package Manager

This package was bootstrapped using argopm

-   Package Name: my-package

## Package Structure

```
.
├── README.md
├── index.js
├── package.json
├── configmaps
│   ├── README.md
│   ├── default-semaphore.yaml
│   └── default.yaml
├── cronworkflows
│   ├── README.md
│   └── default.yaml
├── pipelines
│   ├── README.md
│   └── default.yaml
├── secrets
│   ├── README.md
│   └── default.yaml
├── static
│   ├── README.md
│   └── data.json
└── templates
    ├── README.md
    └── default.yaml

6 directories, 16 files
```

## Available Commands

-   `argopm install`
-   `argopm list`
-   `argopm run`
-   `argopm info`

For more details on these commands run `argom --help`

## Pre-requisites

-   To run `argopm install` you must have `kubectl` access to the cluter where Argo is installed
-   Files added in the `static` subdirectory are uploaded to the configured S3 artifactory bucket, make sure you have
    the AWS credentials setup in your shell to upload static files.

## Grafana Dashboards

Argopm supports declaring and uploading grafana dashboards as a part of the package. Files available in `dashboards/grafana/` will be uploaded to
a specified Grafana instance.

Declare the following environment variables if you want to upload dashboards to grafana. You can put these in the `.env` file too for
local development.

-   `GRAFANA_URL` - URL of the grafana instance
-   `GRAFANA_API_TOKEN` - Grafana API Token

A post request is sent to `GRAFANA_URL` with the JSON file content in `dashboards/grafana` and `GRAFANA_API_TOKEN` is sent in the `Authorization` 
header as a bearer token. Refer to the [Grafana HTTP API Docs](https://grafana.com/docs/grafana/latest/http_api/) for more information.


## Helpful Documentation

-   https://argoproj.github.io/argo-workflows/
-   https://www.npmjs.com/package/argopm
npm package: @junbosque/iconsax-react-native-svg
Description: Iconsax React Native SVG package
Author: Jun Bosque
Latest version: 0.0.2

<article ><a name="user-content-readme-top"></a></p>

<div align="center">
  <h1 align="center"></a>Iconsax React Native SVG</h1>
  <p align="center">
    Latest Iconsax pack in different designs </strong>
  </p>
</div>

<br>
<br>

# Installation

- Install Yarn package

```bash
yarn add @junbosque/iconsax-react-native-svg
```

- Install NPM package

```bash
npm install @junbosque/iconsax-react-native-svg
```

## Usage

Local registration:

```jsx
import { Home1BoldIcon } from "@junbosque/iconsax-react-native-svg";

function App() {
  return (
    <div>
      <Home1BoldIcon size={24} color="white" />
    </div>
  );
}

export default App;
```

## Props

inherits [SVGSVGElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement) properties with

- Default size = `24`
- Default color = `black`

## Contact

Jun Bosque [https://github.com/bosquejun](https://github.com/bosquejun)

Project Link: [https://github.com/bosquejun/iconsax-monorepo](https://github.com/bosquejun/iconsax-monorepo)

</article >
npm package: @junbosque/iconsax-react-svg
Description: Iconsax React SVG package
Author: Jun Bosque
Latest version: 1.0.0

<article ><a name="user-content-readme-top"></a></p>

<div align="center">
  <h1 align="center"></a>Iconsax React SVG</h1>
  <p align="center">
    Latest Iconsax pack in different designs </strong>
  </p>
</div>

<br>
<br>

# Installation

- Install Yarn package

```bash
yarn add iconsax-react-svg
```

- Install NPM package

```bash
npm install @junbosque/iconsax-react-svg
```

## Usage

Local registration:

```jsx
import { Home1BoldIcon } from "@junbosque/iconsax-react-svg";

function App() {
  return (
    <div>
      <Home1BoldIcon size={24} color="white" />
    </div>
  );
}

export default App;
```

## Props

inherits [SVGSVGElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement) properties with

- Default size = `24`
- Default color = `black`

## Contact

Jun Bosque [https://github.com/bosquejun](https://github.com/bosquejun)

Project Link: [https://github.com/bosquejun/iconsax-monorepo](https://github.com/bosquejun/iconsax-monorepo)

</article >
npm package: @junbosque/iconsax-react-tamagui
Description: Iconsax Tamagui Icon package
Author: Jun Bosque
Latest version: 1.0.0

<article ><a name="user-content-readme-top"></a></p>

<div align="center">
  <h1 align="center"></a>Iconsax React Native SVG</h1>
  <p align="center">
    Latest Iconsax pack in different designs </strong>
  </p>
</div>

<br>
<br>

# Installation

- Install Yarn package

```bash
yarn add @junbosque/iconsax-react-tamagui
```

- Install NPM package

```bash
npm install @junbosque/iconsax-react-tamagui
```

## Usage

Local registration:

```jsx
import { Home1BoldIcon } from "@junbosque/iconsax-react-tamagui";

function App() {
  return (
    <div>
      <Home1BoldIcon size={24} color="white" />
    </div>
  );
}

export default App;
```

## Props

inherits [SVGSVGElement](https://developer.mozilla.org/en-US/docs/Web/API/SVGSVGElement) properties with

- Default size = `24`
- Default color = `black`

## Contact

Jun Bosque [https://github.com/bosquejun](https://github.com/bosquejun)

Project Link: [https://github.com/bosquejun/iconsax-monorepo](https://github.com/bosquejun/iconsax-monorepo)

</article >