open-index/open-npm huggingface dataset:
npm package: @openfeed/sdk-js
Description: JavaScript SDK for Barchart OpenFeed
Author: Dejan Maksimovic
Latest version: 1.6.0

# TS/JS SDK for Barchart Openfeed

TypeScript and JavaScript SDK for Barchart Openfeed is a library that can be used to subscribe to market data messages served by the Barchart [Openfeed](https://openfeed.com/) servers.

## Obtaining the Library

Using npm:

```shell
npm i --save @openfeed/sdk-js
```

Using yarn:

```shell
yarn add @openfeed/sdk-js
```

## User Guide

The User Guide for this project can be found in the [documentation](DOCUMENTATION.md) page.

## Development

This library uses [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) for clarity, tracking changes and versioning. It's recommended to install [Conventional Commits Extension for VS Code](https://marketplace.visualstudio.com/items?itemName=vivaxy.vscode-conventional-commits) when contributing to the library.

### Updating proto

To update the proto files, run:

```shell
yarn generate
```

Then commit the changes.

### Preparing a new version

For updating the version and automatically collecting changes, run:

```shell
yarn build:prepare-release
git push --follow-tags origin master
```

### Updating the Dependencies

To update the protobuf auto-generated files, follow the steps:

1. Download the latest protoc executable from [here](https://github.com/protocolbuffers/protobuf/releases).
2. Put the protoc.exe in the root folder of the project
3. Run the following command: `yarn generate`
npm package: @openfield/arena-core
Description: Arena core module
Author: OpenForis
Latest version: 0.0.162

# arena-core

Arena core module includes all the arena type definitions

## Installation

### 1. Authentication

You must use a personal access token with the appropriate scopes to install the package from GitHub Packages.

You can authenticate to GitHub Packages with npm by either editing your per-user ~/.npmrc file to include your personal access token or by logging in to npm on the command line using your username and personal access token.

To authenticate by adding your personal access token to your ~/.npmrc file, edit the ~/.npmrc file for your project to include the following line, replacing TOKEN with your personal access token. Create a new ~/.npmrc file if one doesn't exist.

```shell
//npm.pkg.github.com/:_authToken=TOKEN
```

To authenticate by logging in to npm, use the npm login command, replacing USERNAME with your GitHub username, TOKEN with your personal access token, and PUBLIC-EMAIL-ADDRESS with your email address.

If GitHub Packages is not your default package registry for using npm and you want to use the npm audit command, we recommend you use the --scope flag with the owner of the package when you authenticate to GitHub Packages.

```shell
$ npm login --scope=@OWNER --registry=https://npm.pkg.github.com

> Username: USERNAME
> Password: TOKEN
> Email: PUBLIC-EMAIL-ADDRESS
```

> For more information see [Authenticating to GitHub Packages](https://docs.github.com/en/packages/guides/configuring-npm-for-use-with-github-packages#authenticating-to-github-packages)

### 2. .npmrc

Create a new .npmrc file if one doesn't exist and add:

```shell
@openforis:registry=https://npm.pkg.github.com
always-auth = true
```

### 3. .yarnrc

Create a new .yarnrc file if one doesn't exist and add:

```shell
"@openforis:registry" "https://npm.pkg.github.com"
```

### 4. Add the package

```shell
yarn add @openforis/arena-core
```

or

```shell
npm install @openforis/arena-core
```
npm package: @openfin/express-statsd
Description: express-statsd ============== Simple middleware that provide basic statsd metrics for your express app.
Author: Nigel Edwards
Latest version: 2.0.0

express-statsd
==============
Simple middleware that provide basic statsd metrics for your express app.

`npm i @openfin/express-statsd`

## Usage

```javascript
import statsdMiddleware from '@openfin/express-statsd';
app.use(statsdMiddleware(opts))
```

```javascript
import * as express from 'express';
import statsdMiddleware from '@openfin/express-statsd';
import * as HotShots from 'hot-shots'; // Replace with statsd library of choice

const statsd = new HotShots();
const app = express();
app.use(
  statsdMiddleware({
    increment: statsd.increment.bind(statsd),
    timing: statsd.timing.bind(statsd)
  })
);
app.get('/', function(req, res) {
  res.status(200).send('Getting them hot metrics');
});

app.listen(8080);
 
```

## Options

### `tags`
The tags to send with each metric. Not all statsd providers support this. Default: `method:<request method>` `protocol:<request protocol>` `path:<request path>` For the timing metric an additional tag is sent. `response_code:<response code>`

### `increment(<key>.response_code.<response_code>, 1, 1, tags) => void`

The increment statsd call. Exposed as `service.http.response_code.<response_code>` Note if increment and timing methods are not present the middleware will attempt to use `sendStats`. If thats also not present it will throw an error.

### `timing(<key>.response_time, <responseTimeInMs>, 1, tags) => void`

The timing statsd call.

### `key:string`

The key prefix used in the metric. Defaults to `service.http`

### `sendStats(request, response, responseTimeInMs, tags) => void`

If set this function will be called instead of the increment and timing ones. Allowing you to send your own metrics.

### `onErr(err)`

Called if the response pipe errors