open-index/open-npm huggingface dataset:
npm package: @metaplex-foundation/mpl-account-compression
Description: Create and interact with compressed Metaplex NFTs
Author: Metaplex Maintainers
Latest version: 0.0.1

# JavaScript client for Mpl Account Compression

A Umi-compatible JavaScript library for the project.

## Getting started

1. First, if you're not already using Umi, [follow these instructions to install the Umi framework](https://github.com/metaplex-foundation/umi/blob/main/docs/installation.md).
2. Next, install this library using the package manager of your choice.

   ```sh
   npm install @metaplex-foundation/mpl-account-compression
   ```

2. Finally, register the library with your Umi instance like so.

   ```ts
   import { mplAccountCompression } from '@metaplex-foundation/mpl-account-compression';
   umi.use(mplAccountCompression());
   ```

You can learn more about this library's API by reading its generated [TypeDoc documentation](https://mpl-account-compression-js-docs.vercel.app).

## Contributing

Check out the [Contributing Guide](./CONTRIBUTING.md) the learn more about how to contribute to this library.
npm package: @metaplex-foundation/mpl-agent-registry
Description: Identity Registry for MPL Agent
Author: Metaplex Maintainers
Latest version: 0.2.5

# JavaScript client for Mpl Agent Identity

A Umi-compatible JavaScript library for the project.

## Getting started

1. First, if you're not already using Umi, [follow these instructions to install the Umi framework](https://github.com/metaplex-foundation/umi/blob/main/docs/installation.md).
2. Next, install this library using the package manager of your choice.

   ```sh
   npm install @metaplex-foundation/mpl-agent-identity
   ```

3. Finally, register the library with your Umi instance like so.

   ```ts
   import { mplAgentIdentity } from '@metaplex-foundation/mpl-agent-identity';
   umi.use(mplAgentIdentity());
   ```

You can learn more about this library's API by reading its generated [TypeDoc documentation](https://mpl-agent-identity-js-docs.vercel.app).

## Setting up Benchmarks

The GitHub workflow will automatically run benchmarks on pushes to the `main` branch, however it needs a gh-pages branch to deploy the hosted graph website to. Run the commands below to setup the gh-pages branch.

```sh
git checkout --orphan gh-pages
git reset --hard
git commit --allow-empty -m "Initializing gh-pages branch"
git push origin gh-pages
git checkout master
```

Afterwards, the webpage will be available at `https://<GITHUB_ORG_OR_USERNAME>.github.io/<REPO_NAME>/dev/bench/`

## Contributing

Check out the [Contributing Guide](./CONTRIBUTING.md) the learn more about how to contribute to this library.
npm package: @metaplex-foundation/mpl-auction-house
Description: MPL Auction House JavaScript API.
Author: Metaplex Maintainers
Latest version: 2.5.1

# mpl-auction-house

This package contains the auction house contract SDK code. 

## Developing

In order to update the generated SDK when the rust contract was updated please run:

```
yarn api:gen
```

NOTE: at this point this only generates the IDL json file but later will generate TypeScript
definitions and SDK code as well, derived from that IDL.

## LICENSE

Apache v2.0
npm package: @metaplex-foundation/mpl-barista
Description: Access control protocol for programs
Author: Metaplex Maintainers
Latest version: 0.1.0-alpha.0

# JavaScript client for Metaplex Barista

A Umi-compatible JavaScript library for the project.

## Getting started

1. First, if you're not already using Umi, [follow these instructions to install the Umi framework](https://github.com/metaplex-foundation/umi/blob/main/docs/installation.md).
2. Next, install this library using the package manager of your choice.
   ```sh
   npm install @metaplex-foundation/mpl-barista
   ```
2. Finally, register the library with your Umi instance like so.
   ```ts
   import { mplBarista } from '@metaplex-foundation/mpl-barista';
   umi.use(barista());
   ```

You can learn more about this library's API by reading its generated [TypeDoc documentation](https://barista-js-docs.vercel.app).

## Contributing

Check out the [Contributing Guide](./CONTRIBUTING.md) the learn more about how to contribute to this library.
npm package: @metaplex-foundation/mpl-bubblegum
Description: Create and interact with compressed Metaplex NFTs
Author: Metaplex Maintainers
Latest version: 5.0.2

# JavaScript client for Mpl Bubblegum

A Umi-compatible JavaScript library for the project.

## Getting started

1. First, if you're not already using Umi, [follow these instructions to install the Umi framework](https://github.com/metaplex-foundation/umi/blob/main/docs/installation.md).
2. Next, install this library using the package manager of your choice.
   ```sh
   npm install @metaplex-foundation/mpl-bubblegum
   ```
3. Finally, register the library with your Umi instance like so.
   ```ts
   import { mplBubblegum } from '@metaplex-foundation/mpl-bubblegum';
   umi.use(mplBubblegum());
   ```

You can learn more about this library's API by reading its generated [TypeDoc documentation](https://mpl-bubblegum-js-docs.vercel.app).

## Contributing

Check out the [Contributing Guide](./CONTRIBUTING.md) to learn more about how to contribute to this library.
npm package: @metaplex-foundation/mpl-candy-guard
Description: MPL Candy Guard JavaScript API. This MPL package is for the current generation of the Candy Guard
Author: Metaplex Maintainers
Latest version: 0.5.0

# mpl-candy-guard

This package contains the Metaplex Candy Guard contract SDK code.

## API Docs

Find the [candy-guard API docs published here](https://metaplex-foundation.github.io/mpl-candy-guard/index.html).

## Installation

```shell
npm install @metaplex-foundation/mpl-candy-guard --save
```

## Developing

In order to update the generated SDK when the rust contract was updated please run:

```
yarn api:gen
```

and then update the wrapper code and tests.

## LICENSE

Apache v2.0
npm package: @metaplex-foundation/mpl-candy-machine
Description: Client library for Candy Machine related programs
Author: Metaplex Maintainers
Latest version: 6.1.0

# JavaScript client for Mpl Candy Machine

A Umi-compatible JavaScript library for candy machines.

## Getting started

1. First, if you're not already using Umi, [follow these instructions to install the Umi framework](https://github.com/metaplex-foundation/umi/blob/main/docs/installation.md).
2. Next, install this library using the package manager of your choice.
   ```sh
   npm install @metaplex-foundation/mpl-candy-machine
   ```
2. Finally, register the library with your Umi instance like so.
   ```ts
   import { mplCandyMachine } from '@metaplex-foundation/mpl-candy-machine';
   umi.use(mplCandyMachine());
   ```

You can learn more about this library's API by reading its generated [TypeDoc documentation](https://mpl-candy-machine-js-docs.vercel.app).

## Contributing

Check out the [Contributing Guide](./CONTRIBUTING.md) the learn more about how to contribute to this library.
npm package: @metaplex-foundation/mpl-candy-machine-core
Description: MPL Candy Machine Core JavaScript API. This MPL package is for the current generation of the Candy Machine Core (a.k.a. Candy Machine V3).
Author: Metaplex Maintainers
Latest version: 0.2.2

# mpl-candy-machine-core

This package contains the Metaplex Candy Machine Core contract SDK code.

## API Docs

Find the [candy-machine-core API docs published here](https://metaplex-foundation.github.io/metaplex-program-library/docs/candy-machine-core/index.html).

## Installation

```shell
npm install @metaplex-foundation/mpl-candy-machine-core --save
```

## Developing

In order to update the generated SDK when the rust contract was updated please run:

```
yarn api:gen
```

and then update the wrapper code and tests.

## LICENSE

Apache v2.0
npm package: @metaplex-foundation/mpl-core-candy-machine
Description: Client library for Candy Machine related programs
Author: Metaplex Maintainers
Latest version: 0.3.0

# JavaScript client for Mpl Candy Machine

A Umi-compatible JavaScript library for candy machines.

## Getting started

1. First, if you're not already using Umi, [follow these instructions to install the Umi framework](https://github.com/metaplex-foundation/umi/blob/main/docs/installation.md).
2. Next, install this library using the package manager of your choice.
   ```sh
   npm install @metaplex-foundation/mpl-core-candy-machine
   ```
2. Finally, register the library with your Umi instance like so.
   ```ts
   import { mplCandyMachine } from '@metaplex-foundation/mpl-core-candy-machine';
   umi.use(mplCandyMachine());
   ```

You can learn more about this library's API by reading its generated [TypeDoc documentation](https://mpl-candy-machine-js-docs.vercel.app).

## Contributing

Check out the [Contributing Guide](./CONTRIBUTING.md) the learn more about how to contribute to this library.
npm package: @metaplex-foundation/mpl-core-oracle-example
Description: Digital Assets
Author: Metaplex Maintainers
Latest version: 0.0.2

# JavaScript client for Mpl Core Oracle Example

A Umi-compatible JavaScript library for the project.

## Getting started

1. First, if you're not already using Umi, [follow these instructions to install the Umi framework](https://github.com/metaplex-foundation/umi/blob/main/docs/installation.md).


You can learn more about this library's API by reading its generated [TypeDoc documentation](https://mpl-core-js-docs.vercel.app).

## Contributing

Check out the [Contributing Guide](./CONTRIBUTING.md) the learn more about how to contribute to this library.
npm package: @metaplex-foundation/mpl-distro
Description: A simple program for distributing tokens via claim or airdrop
Author: Metaplex Maintainers
Latest version: 0.4.0

# JavaScript client for Mpl Distro

A Umi-compatible JavaScript library for the project.

## Getting started

1. First, if you're not already using Umi, [follow these instructions to install the Umi framework](https://github.com/metaplex-foundation/umi/blob/main/docs/installation.md).
2. Next, install this library using the package manager of your choice.
   ```sh
   npm install @metaplex-foundation/mpl-distro
   ```
2. Finally, register the library with your Umi instance like so.
   ```ts
   import { mplDistro } from '@metaplex-foundation/mpl-distro';
   umi.use(mplDistro());
   ```

You can learn more about this library's API by reading its generated [TypeDoc documentation](https://mpl-distro-js-docs.vercel.app).

## Setting up Benchmarks
The GitHub workflow will automatically run benchmarks on pushes to the `main` branch, however it needs a gh-pages branch to deploy the hosted graph website to. Run the commands below to setup the gh-pages branch.
```sh
git checkout --orphan gh-pages
git reset --hard
git commit --allow-empty -m "Initializing gh-pages branch"
git push origin gh-pages
git checkout master
```

Afterwards, the webpage will be available at `https://<GITHUB_ORG_OR_USERNAME>.github.io/<REPO_NAME>/dev/bench/`

## Contributing

Check out the [Contributing Guide](./CONTRIBUTING.md) the learn more about how to contribute to this library.
npm package: @metaplex-foundation/mpl-distro-resize
Description: A simple program for distributing tokens via claim or airdrop
Author: Metaplex Maintainers
Latest version: 0.3.1

# JavaScript client for Mpl Distro

A Umi-compatible JavaScript library for the project.

## Getting started

1. First, if you're not already using Umi, [follow these instructions to install the Umi framework](https://github.com/metaplex-foundation/umi/blob/main/docs/installation.md).
2. Next, install this library using the package manager of your choice.
   ```sh
   npm install @metaplex-foundation/mpl-distro
   ```
2. Finally, register the library with your Umi instance like so.
   ```ts
   import { mplDistro } from '@metaplex-foundation/mpl-distro';
   umi.use(mplDistro());
   ```

You can learn more about this library's API by reading its generated [TypeDoc documentation](https://mpl-distro-js-docs.vercel.app).

## Setting up Benchmarks
The GitHub workflow will automatically run benchmarks on pushes to the `main` branch, however it needs a gh-pages branch to deploy the hosted graph website to. Run the commands below to setup the gh-pages branch.
```sh
git checkout --orphan gh-pages
git reset --hard
git commit --allow-empty -m "Initializing gh-pages branch"
git push origin gh-pages
git checkout master
```

Afterwards, the webpage will be available at `https://<GITHUB_ORG_OR_USERNAME>.github.io/<REPO_NAME>/dev/bench/`

## Contributing

Check out the [Contributing Guide](./CONTRIBUTING.md) the learn more about how to contribute to this library.
npm package: @metaplex-foundation/mpl-engraver
Description: NFT engraver.
Author: Metaplex Maintainers
Latest version: 0.2.4

# JavaScript client for Mpl Engraver

A Umi-compatible JavaScript library for the project.

## Getting started

1. First, if you're not already using Umi, [follow these instructions to install the Umi framework](https://github.com/metaplex-foundation/umi/blob/main/docs/installation.md).
2. Next, install this library using the package manager of your choice.
   ```sh
   npm install @metaplex-foundation/mpl-engraver
   ```
2. Finally, register the library with your Umi instance like so.
   ```ts
   import { mplEngraver } from '@metaplex-foundation/mpl-engraver';
   umi.use(mplEngraver());
   ```

You can learn more about this library's API by reading its generated [TypeDoc documentation](https://mpl-engraver-js-docs.vercel.app).

## Contributing

Check out the [Contributing Guide](./CONTRIBUTING.md) the learn more about how to contribute to this library.
npm package: @metaplex-foundation/mpl-essentials
Description: Auto-generated essential Solana and Metaplex programs
Author: Metaplex Maintainers
Latest version: 0.5.9
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# mpl-essentials

⚠️ **This package has been moved to `@metaplex-foundation/mpl-toolbox`.** ⚠️
npm package: @metaplex-foundation/mpl-fixed-price-sale
Description: MPL Fixed Price Sale JavaScript API.
Author: Metaplex Maintainers
Latest version: 0.13.0

# mpl-fixed-price-sale

This package contains the fixed sale price contract SDK code.

## Developing

In order to update the generated SDK when the rust contract was updated please run:

```
yarn api:gen
```

NOTE: at this point this only generates the IDL json file but later will generate TypeScript
definitions and SDK code as well, derived from that IDL.

## LICENSE

Apache v2.0

## Test

To run tests locally use

```
yarn amman:start
yarn build
yarn test
```
npm package: @metaplex-foundation/mpl-gavel
Description: Protocol for on-chain auctions
Author: Metaplex Maintainers
Latest version: 0.2.0-alpha.0

# JavaScript client for Gavel

A Umi-compatible JavaScript library for the project.

## Getting started

1. First, if you're not already using Umi, [follow these instructions to install the Umi framework](https://github.com/metaplex-foundation/umi/blob/main/docs/installation.md).
2. Next, install this library using the package manager of your choice.
   ```sh
   npm install @metaplex-foundation/mpl-gavel
   ```
2. Finally, register the library with your Umi instance like so.
   ```ts
   import { mplGavel } from '@metaplex-foundation/mpl-gavel';
   umi.use(mplGavel());
   ```

You can learn more about this library's API by reading its generated [TypeDoc documentation](https://mpl-gavel-js-docs.vercel.app).

## Contributing

Check out the [Contributing Guide](./CONTRIBUTING.md) the learn more about how to contribute to this library.
npm package: @metaplex-foundation/mpl-gumdrop
Description: MPL Gumdrop JavaScript API.
Author: Metaplex Maintainers
Latest version: 0.1.0

# mpl-gumdrop

This package contains the Metaplex Gumdrop contract SDK code.

## API Docs

Find the [gumdrop API docs published here](https://metaplex-foundation.github.io/metaplex-program-library/docs/gumdrop/index.html).

## Installation

```shell
npm install @metaplex-foundation/mpl-gumdrop --save
```

## Developing

In order to update the generated SDK when the rust contract was updated please run:

```
yarn api:gen
```

and then update the wrapper code and tests.

## LICENSE

Apache v2.0
npm package: @metaplex-foundation/mpl-hydra
Description: JavaScript client for the Hydra program
Author: Metaplex Maintainers
Latest version: 1.0.1

# JavaScript client for Mpl Hydra

A Umi-compatible JavaScript library for the project.

## Getting started

1. First, if you're not already using Umi, [follow these instructions to install the Umi framework](https://github.com/metaplex-foundation/umi/blob/main/docs/installation.md).
2. Next, install this library using the package manager of your choice.
   ```sh
   npm install @metaplex-foundation/mpl-hydra
   ```
2. Finally, register the library with your Umi instance like so.
   ```ts
   import { mplHydra } from '@metaplex-foundation/mpl-hydra';
   umi.use(mplHydra());
   ```

You can learn more about this library's API by reading its generated [TypeDoc documentation](https://mpl-hydra-js-docs.vercel.app).

## Contributing

Check out the [Contributing Guide](./CONTRIBUTING.md) the learn more about how to contribute to this library.
npm package: @metaplex-foundation/mpl-inscription
Description: A simple program for inscribing bytes on chain.
Author: Metaplex Maintainers
Latest version: 0.8.1

# JavaScript client for Mpl Inscription

A Umi-compatible JavaScript library for the project.

## Getting started

1. First, if you're not already using Umi, [follow these instructions to install the Umi framework](https://github.com/metaplex-foundation/umi/blob/main/docs/installation.md).
2. Next, install this library using the package manager of your choice.
   ```sh
   npm install @metaplex-foundation/mpl-inscription
   ```
2. Finally, register the library with your Umi instance like so.
   ```ts
   import { mplInscription } from '@metaplex-foundation/mpl-inscription';
   umi.use(mplInscription());
   ```

3. Inscribe any binary data on chain
   ```ts
   const inscriptionAccount = generateSigner(umi);
   const inscriptionShardAccount = findInscriptionShardPda(umi, { shardNumber: Math.floor(Math.random() * 32) })
   const metadataAccount = await findInscriptionMetadataPda(umi, {
     inscriptionAccount: inscriptionAccount.publicKey,
   });

   await initialize(umi, {
     inscriptionAccount,
     metadataAccount,
     inscriptionShardAccount,
   }).add(
     writeData(umi, {
       inscriptionAccount: inscriptionAccount.publicKey,
       metadataAccount,
       value: Buffer.from(
         'any data that I want to put here! yay'
       ),
     })
   ).sendAndConfirm(umi);
   const inscriptionMetadata = await fetchInscriptionMetadata(umi, metadataAccount);
   console.log("Inscription number: ", inscriptionMetadata.inscriptionRank.toString())
   ```

4. Example on how to mint a simple inscription with small metadata
   ```ts

   // Step 1: Mint an NFT or pNFT
   // See https://developers.metaplex.com/token-metadata/mint

   // Step 2: Inscribe metadata

   const inscriptionAccount = await findMintInscriptionPda(umi, { mint: mint.publicKey });
   const inscriptionMetadataAccount = await findInscriptionMetadataPda(umi, { inscriptionAccount: inscriptionAccount[0] });
   const inscriptionShardAccount = findInscriptionShardPda(umi, { shardNumber: Math.floor(Math.random() * 32) })

   await initializeFromMint(umi, {
     mintInscriptionAccount: inscriptionAccount,
     metadataAccount: inscriptionMetadataAccount,
     mintAccount: mint.publicKey,
     tokenMetadataAccount, // The metadata account from token metadata
     inscriptionShardAccount, // For concurrency
   }).add(
     writeData(umi, {
       inscriptionAccount,
       metadataAccount: inscriptionMetadataAccount,
       value: Buffer.from(
         JSON.stringify(metadata) // your NFT's metadata to be inscribed
       ),
     }
   )).sendAndConfirm(umi);

   const inscriptionMetadata = await fetchInscriptionMetadata(umi, inscriptionMetadataAccount);
   console.log("Inscription number: ", inscriptionMetadata.inscriptionRank.toString())
   ```


You can learn more about this library's API by reading its generated [TypeDoc documentation](https://mpl-inscription-js-docs.vercel.app).

## Contributing

Check out the [Contributing Guide](./CONTRIBUTING.md) the learn more about how to contribute to this library.