A command-line tool to help manage ethPM packages and registries.


ethPM CLI is currently in public Alpha:

  • It is expected to have bugs and is not meant to be used in production
  • Things may be ridiculously slow or not work at all

ethpm create

Commands to help generate manifests for local smart contracts.

ethpm install

Install an ethPM package to a local _ethpm_packages directory.

ethpm list

List all installed ethPM packages in a local _ethpm_packages directory.

ethpm uninstall

Uninstall an ethPM package from a local _ethpm_packages directory.

ethpm release

Release a package on the currently active registry. Requires an active registry set via ethpm registry and authentication for tx signing set via ethpm auth.

ethpm registry

Commands to help manage your local registry store.

ethpm auth

Link a keyfile to authorize on-chain transactions (i.e. deploying a registry / releasing a package). To generate a keyfile, use eth-keyfile.

# Example script to generate your own keyfile
import json
from pathlib import Path
from eth_keyfile import create_keyfile_json

keyfile_json = create_keyfile_json(
   private_key = b"11111111111111111111111111111111",  # A bytestring of length 32
   password = b"foo"  # A bytestring which will be the password that can be used to decrypt the resulting keyfile.
keyfile_path = Path.cwd() / 'keyfile.json'

ethpm scrape

Scrape a blockchain for all IPFS data associated with any package release. This command will scrape for all VersionRelease events (as specified in ERC 1319). It will lookup all associated IPFS assets with that package, and write them to your ethPM XDG directory.