open-index/open-npm huggingface dataset:
npm package: @jbrette/homebridge-nexia-thermostat
Description: Nexia Thermostat plugin for homebridge: https://github.com/crizzwald/homebridge-nexia-thermostat
Latest version: 0.0.50

# homebridge-nexia-thermostat
Nexia Thermostat plugin for homebridge

You will need to use the register_nexia_api tool in this repo to get an api key

Visit https://www.mynexia.com/phones

Run

$ ./register_nexia_api -a <12 digit number>

REQUEST emitting complete https://www.mynexia.com/mobile/activate

{"xMobileId":XXXXXX,"xApiKey":"YYYYYYY"}
npm package: @jbroll/jsx6-build
Description: Build utility
Author: Davor hrg
Latest version: 0.3.0


## filters 

During copy task you can transform the copied file content using filters.

config for filter contains
- `filter` - function that transforms and returns new value, but can return `undefined` to say no changes happened
- `include` - list of include glob patterns
- `exclude` - list of exclude glob patterns

example filter

```js
const changeBg = {
  include: ['index.html'],
  exclude: [],
  filter: str => {
    let srch = 'background: #eee;'
    if (str.includes(srch)) return str.replace(srch, 'background: blue;')
  },
}
```
npm package: @jbrower95/eigenblob
Description: Post blobs to EigenDA.
Author: Justin Brower
Latest version: 1.0.2

# EigenBlob

**Disclosure -- This is a third party library. This repository is not affiliated with Eigen Labs, Layr Labs, or any related entity. Use at your own risk. See LICENSE for more info.**

![Unit Tests](https://github.com/jbrower95/eigenblob/actions/workflows/test.yaml/badge.svg)

EigenBlob is a convenience library that wraps [EigenDA](https://github.com/Layr-Labs/eigenda) for usage
in web and server applications.

It's sort of like decentralized S3 -- post some data, and get it back later. All without a backend. See "Constraints" for more info on what you can do.


# Getting Started

## Installation

`npm install @jbrower95/eigenblob`.

## Sample Usage

```typescript
const client = new EigenDA(); // defaults to testnet

// you can `.put()` any JS object that is serializable.
const putRequest = client.put({hello: 'world'});

// putting takes a while... potentially a few minutes.
const blob = await putRequest.wait(10_000 /* max deadline in MS */);

// if something comes up, and you want to cancel an inflight request, try;
try {
    await putRequest.cancel();
} catch {};


// you can use the `putRequest` to fetch this item back later.
const blob = await client.get(putRequest);
expect(blob.hello).toEqual('world');

// if you want to be able to fetch the blob later, just serialize `putRequest`.
window.localStorage.setItem("my-blob", putRequest.toString()); // set

// then, later:
const contents = await client.get(
    EigenBlob.from(window.localStorage.getItem("my-blob"));
)
```

# More Information

## Under the hood

- `EigenBlob` uses `CompressionStream` to gzip encode your object after JSON encoding it.
- `EigenBlob` handles polling for different intermediate states and making sure that your blob is successfully added to the network
before returning.

## Constraints

- A `.put()` can take 3-8 minutes, as the SDK waits for the blob to finalize on the network.
- A `.get()` is typically much faster, on the order of seconds.
- Blobs can't be more than 2MB in size.
- Blobs exist for 14 days on the network.
- Testnet's free tier is limited to 1.28 kb/s. ([source](https://www.blog.eigenlayer.xyz/eigenda-updated-pricing/)).
- For mainnet, you can contact Eigen for access. ([source](https://docs.google.com/forms/d/e/1FAIpQLSdXvfxgRfIHWYu90FqN-2yyhgrYm9oExr0jSy7ERzbMUimJew/viewform)). Simply override the URL in your `EigenDA()` client.