open-index/open-npm huggingface dataset:
npm package: @souptik/immich
Description: Immich CLI
Author: Alex Tran
Latest version: 0.44.0

# IMMICH CLI

**Note:** This is a forked version of the official Immich CLI providing an extra command for deleting assets. [Original Github Repo](https://github.com/immich-app/CLI) --> [Forked Github Repo](https://github.com/Souptik2001/immich-cli).

For deleting all images of an album:

```bash
immich delete --key <key> --server https://example.com/api --album <album_id>
```

For deleting all images within a given timeframe:

```bash
immich delete --key <key> --server https://example.com/api --date_lower_limit "2 July 2023" --date_upper_limit "10 July 2023"
```

CLI utilities to help with some operations with the Immich app

You can find instructions for using the CLI [in the official Immich documentation](https://immich.app/docs/features/bulk-upload).
npm package: @sour-lemon/sour-lemon
Description: [![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](LICENSE)
Latest version: 1.0.5

# sour-lemon

[![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](LICENSE)

## Installation

```
$ npm install @sour-lemon/sour-lemon -g
```
npm package: @sourav_chanduka/oidc-client
Description: To get id token from oidc provider
Author: Sourav Chanduka
Latest version: 1.0.16

<h2>@sourav_chanduka/oidc-client</h2>

<h3>Usage</h3>

You can use this package to interact with the github oidc provider.

<h3>Get the ID token</h3>

Method Name: getIDToken

<h3>Inputs</h3>

audience : optional

<h3>Example:</h3>

```
const core = require('@actions/core');
const id = require('@actions/oidc-client')


async function getID(){
   const id_token = await id.getIDToken('client-id', 'client-secret')
   const val = `ID token is ${id_token}`
   core.setOutput('id_token', id_token);
      
}

getID()
```
npm package: @souravdey/time-ago
Description: get the time difference with current time with a simple function
Author: Sourav Dey
Latest version: 2.0.0

# 🕒time-ago

Get the time difference with current time as string with a simple npm package.

## Installation

```
npm install @souravdey/time-ago
```

## Usage

```
import getTimeAgoString from '@souravdey/time-ago';

var timeAgo = getTimeAgoString(unixtimestamp);
var timeAgoAbbreviation = getTimeAgoString(unixtimestamp,true);

console.log(timeAgo) // output eg. 21 minutes
console.log(timeAgoAbbreviation) // output eg. 21 mins
```

#### params for the function

- unixtimestamp in miliseconds eg. 1617799359000
- abbreviation as `true` or `false`. It is not a mandatory feild and default value is false. If passed true it will abbreviate the units eg. minutes to mins.

`getTimeAgoString` function returns a string as per the time diffrence of the current time.

- `x seconds/secs` if the diffrence between current time and unix timestamp is within 59 secs.

- `x minutes/mins` if the diffrence between current time and unix timestamp is within 1 min to 59 mins.

- `x hours/hrs` if the diffrence between current time and unix timestamp is within 1 hr to 23 hrs.

- `x days/ds` if the diffrence between current time and unix timestamp is within 1 day to 30 days.

- `x months/mths` if the diffrence between current time and unix timestamp is within 1 month to 11 months.

- `x years/yrs` if the diffrence between current time and unix timestamp is more than 1 year.
npm package: @souravhere/conpop
Description: A colorful console printing library
Author: Sourav Chhimpa
Latest version: 1.1.0

# ConPop - Pop Some Color into Your Console!

A fun, lightweight library to make your console logs burst with style! Created by Sourav Chhimpa for coders who want their logs to pop with personality. Whether you're debugging or just flexing your flair, ConPop’s got your back—works everywhere JavaScript does!

## Installation

Pop it into your project with one command:

```bash
npm install @souravchhimpa1/conpop
```

## Usage

Turn boring logs into eye-candy with just a few lines. Check out these vibes:

### JavaScript Vibes

```javascript
const { ConsolePrinter } = require('@souravchhimpa1/conpop');

const data = {
    content: ['Party Time!', 'Dance', 'Groove'],
    options: {
        color: 'hotpink',
        size: '18px',
        bold: true
    }
};

ConsolePrinter.print(data); // Logs go *POP*!
ConsolePrinter.clear(); // Wipe the dance floor clean!
```

### TypeScript Swagger

```typescript
import { ConsolePrinter, PrintData } from '@souravchhimpa1/conpop';

const data: PrintData = {
    content: 'Hello, World!',
    options: {
        color: 'limegreen',
        background: 'black',
        size: '20px',
        italic: true
    }
};

ConsolePrinter.print(data); // Boom—styled logs!
```

## Features That Pop

- **Color Explosion**: Add hues, backgrounds, and sizes to your logs.
- **Group Groove**: Print arrays as collapsible console groups.
- **Type-Safe Fun**: Full TypeScript support for smooth coding.
- **Framework Party**: Works with React, Node, Vue, Angular—any JS gig!
- **No Baggage**: Zero dependencies, super light.

## Quick Start

1. Install with `npm install @souravchhimpa1/conpop`.
2. Import `ConsolePrinter` and toss in your data.
3. Watch your console light up like a disco ball!

### Example: Party Mode

```javascript
ConsolePrinter.print({
    content: ['DISCO', 'Let’s', 'Dance!'],
    options: { color: 'purple', size: '16px', bold: true }
});
```

## Why ConPop?

Because plain logs are meh, and you deserve wow! This is a passion project by Sourav Chhimpa to sprinkle some fun into the dev world. Built with ❤️ and a dash of mischief.

## License

MIT - Free to remix, share, and pop off however you like!

## Say Hi!

Got ideas to make ConPop pop harder? Hit me up:

- [thenextlabs.com](https://thenextlabs.com)
- npm: [@souravchhimpa1](https://www.npmjs.com/~souravchhimpa1)

Let’s make coding colorful together!
npm package: @souravojha/countdown-timer
Description: A simple React countdown timer. The timer can be started, paused, and reset.
Author: Sourav Ojha
Latest version: 0.0.3

# useCountdownTimer

A simple React countdown timer. The timer can be started, paused, and reset.

## Installation

```bash
npm install @souravojha/countdown-timer
```

## Usage

```ts
import { useCountdownTimer } from "@souravojha/countdown-timer";

const timer = useCountdownTimer();

timer.start(1000, () => console.log("Done!"));
```

## Methods

```
    seconds: number;
    start: (sec: number, callback: () => void) => void;
    pause: () => void;
    resume: () => void;
    reset: () => void;
    executeCallback: () => void;
    clear: () => void;
    status: string;
```

## API

```ts
useCountdownTimer;
```

## License

MIT License

Copyright (c) 2022 Sourav Ojha

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

```

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md)
```
npm package: @source-bug/magic-design-react
Description: A component library that can achieve magic effects
Author: 774933704@qq.com
Latest version: 0.0.11

# magic-design
A component library that can achieve magic effects

## install
```
pnpm add @source-bug/magic-design-react
```

## start
引入基本样式
```
import "@source-bug/magic-design-react/index.css"
import {Weather} from "@source-bug/magic-design-react"
```

## todos

- [ ] 按需引入
- [ ] 自动引入CSS
npm package: @source-cooperative/viewers
Description: Source Cooperative Data Viewers
Author: radiantearth
Latest version: 1.0.2

# Source Cooperative Viewers

The Source Cooperative Viewers is a library of interactive data viewers for data served through HTTP.
These viewers power the dataset browser on Source Cooperative but can operate independtly from Source Cooperative.

## Project Goals

The goal for this project is to enable large datasets to be explored through a browser.
By focusing on supporting cloud-native data formats we can enable the exploration of these datasets without having to download the entire dataset.

## Demo

Viewers can be explored and interacted with at [https://viewers.source.coop](https://viewers.source.coop).
These viewers currently support any file served through HTTP.

## Current Viewers

- Markdown
- Text File
- PMTiles
- GeoJSON

## Creating or Improving a Viewer

For more information on how to contribute to this project, see the [contribution guide](CONTRIBUTING.md).
npm package: @source-health/bridge
Description: Official SDK for Source Health iframe plugins.
Author: Source Health, Inc
Latest version: 0.0.4

# Source Bridge SDK

| :bangbang: | This SDK is still in beta, and may change significantly before its public release. |
| :--------: | :--------------------------------------------------------------------------------- |

The Source Bridge library is a required dependency for customer-built 'frame' plugins that run within the main
Source Health web UI.

This SDK is written in TypeScript and compiled to ES6.

## Getting Started

Getting started with Source Bridge is easy. First, install the package via NPM:

```bash
yarn add @source-health/bridge # or npm install @source-health/bridge
```

Then, import the SourceBridge API:

```typescript
import { SourceBridge } from '@source-health/bridge'
```

Subscribe to context updates from the parent window.
Note: after rendering for the first time, your application must call `SourceBridge.ready()`
in order to clear the loading state and display the plugin.

```typescript
await SourceBridge.onContextUpdate(async (context) => {
  // Handle the context, set and render your application
  await doSomeStuff(context.member)

  // Call ready() to clear the loading state for the plugin
  SourceBridge.ready()
})
```

And, finally, kick off the handshake with the parent window (which will lead to the context callback being run):

```typescript
await SourceBridge.init()
```

The SourceBridge client will keep a refreshed application token available. At
any point after the initial context update is received (including inside the
`onContextUpdate` callback), you can obtain a valid token by calling:

```typescript
const { token, expiresAt } = await SourceBridge.currentToken()
```

These tokens expire within a few minutes. When you need a token (e.g. to inject
an Authorization header into a request you are making to your backend), you
should call `currentToken()`.

## Plugin Developer Documentation

Early access developer documentation for plugin development is available for
invited developers and will be be published publicly when the feature is
generally available. In the meantime, an example plugin is available at
[source-health/source-demo-frame-plugin](https://github.com/source-health/source-demo-frame-plugin).

# Testing

We have some minimal jest unit tests, these can be run with:

```
yarn test
```

Because this library is fundamentally about communicating between a parent
window and a child window, we also have a browser-based (Playwright) end-to-end
test capability using some static html and scripts adapted from the demo plugin.
The tests and config for this are under ./e2e, including a separate webpack
build with webpack-dev-server for bundling the test code and serving the html.

To run the E2E tests:

```
yarn e2e
```
npm package: @source-health/formula
Description: Zero-dependency package for parsing and evaluating user-supplied formulas
Latest version: 1.0.2-alpha.0

# Formula

Zero-dependency package for parsing and evaluating user-supplied formulas.

## Getting Started

In the terminal:
```
yarn install @source-health/formula
```

Then, simply:

```typescript
import { engine } from '@source-health/formula'

const result = engine.evaluate('x + 3', {
  x: 1
})

console.log(result) // 4
```
npm package: @source-health/js-bridge
Description: Zero-dependency typescript library for cross-frame communication
Latest version: 1.0.0-alpha.0

# JS Bridge

This is a low-level library that facilitaties communication between web workers orwindows using a simple Promise-based API

## Feaures

- 🔁 Parent and child can both expose methods and/or events.
- 🔎 Optional strong typing of method names, arguments, return values, and more.
- 🔗 Support multiple concurrent connectionz.
- 🌱 Zero dependencies - about 8KB before gzip.
- 👐 Open source (MIT)

## Usage

The first step of using the Bridge is to declare a channel that identifies the two parties. This library currently supports `WindowChannel`, which enables communication between two Windows. 

Then, you can initialize the host:

```typescript
import { Bridge, WindowChannel } from '@source-health/js-bridge'

const channel = new WindowChannel({
  localWindow: window,
  remoteWindow: frame.contentWindow,
  expectedOrigin: 'https://my.origin',
})

const host = Bridge.host(channel)

host.connect().then(() => {
  console.log('connected')
})
```

And initialize the guest:

```typescript
import { Bridge, WindowChannel } from '@source-health/js-bridge'

const channel = new WindowChannel({
  localWindow: window,
  remoteWindow: window.parent,
  expectedOrigin: '*',
})

const guest = Bridge.guest(channel)

host.connect().then(() => {
  console.log('connected')
})
```

Once both are intialized, you can start communicating!

## Events

Events are fire-and-forget notifications that can be broadcast from one side of the bridge, and observed from the other.

On the host:

```typescript
bridge.on('someEvent', (data) => console.log(Data))
```

On the guest:

```typescript
bridge.broadcast('someEvent', { key: 'value' })
```

Note that events can be broadcast from either side. Guests can receive events from the host, and host can receive events from the guest. There is no notification of an event being received. The protocol only emits the event.

## Methods

Methods are bidirectional request/response call pairs. Calling methods can accept arguments and return values. All calls are asynchronous at the protocol layer.

On the host:

```typescript
const bridge = Bridge.host(channel, {
  methods: {
    token: () => 'VerySecureValue'
  }
})
```

On the guest:

```typescript
const guest = Bridge.guest(channel)
const token = await guest.call('token')

// VerySecureValue
```

Methods have a default timeout of 5s (5000ms), which can be configured when instantiating the Bridge.
npm package: @source-protocol-cosmos/sourceblocks
Description: > Sourceswap verse UI library
Author: Source protocol
Latest version: 0.2.2

# sourceblocks

> Sourceswap verse UI library

[![NPM](https://img.shields.io/npm/v/sourceblocks.svg)](https://www.npmjs.com/package/sourceblocks) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

## Install

```bash
yarn add sourceblocks
```

## Usage

```tsx
import React, { Component } from 'react'
import { Button, Text, styled } from 'sourceblocks'

const StyledText = styled(Text, {
  textTransform: 'uppercase',
  // Access internal theme variables using tokens
  padding: '$2 0',
  // read more https://stitches.dev/docs/tokens
  color: '$textColor$success'
})

const Example = () => {
  return (
    <>
      <StyledText variant='hero'>Welcome to sourceblocks!</StyledText>
      <Button
        variant='primary'
        onClick={() => require('source').navigateToTheMoon()}
        css={{ marginTop: '$12' }}
      >
        Join our team here
      </Button>
    </>
  )
}
```

## Storybook

Build sourceblocks locally and preview documented components using storybook.

```bash
yarn storybook
```

## Dev mode

This application can be used in dev mode under the yarn link strategy.

For this you can run the following script, this will create a link to your application.

```bash
  yarn run link:app --path <path of your app>
```

Now you can start to code with dev mode

```bash
  yarn run dev
```

The changes you make to this code should be refresh in your application.

For more information visit this link [https://classic.yarnpkg.com/en/docs/cli/link](https://classic.yarnpkg.com/en/docs/cli/link)

When you finish run the following script to unlink packages

```bash
 yarn run unlink:app --path <path of your app>
```

## Contributing

Please submit your suggestions, feature requests or bugs reports to the [GitHub Issues](https://github.com/Source-Protocol-Cosmos/sourceblocks/issues).

## License

MIT © [Source-Protocol-Cosmos](https://github.com/Source-Protocol-Cosmos)