npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

pontus-x_cli

v1.2.5

Published

Command Line Interface for the Pontus-X Data Space Ecosystem

Readme

pontus-x_cli

A new CLI generated with oclif

oclif Version Downloads/week

Usage

$ npm install -g pontus-x_cli
$ pontus-x_cli COMMAND
running command...
$ pontus-x_cli (--version)
pontus-x_cli/1.2.5 linux-x64 node-v25.6.1
$ pontus-x_cli --help [COMMAND]
USAGE
  $ pontus-x_cli COMMAND
...

Spec declarative format

Example:

metadata:
  type: algorithm
  author: Universitat de Lleida (UdL)
  name: Exploratory Data Analysis
  description: description.md
  ...

Check samples/publish folder for more examples.

Manifest declarative format

Example:

accounts:
  - name: Universitat de Lleida (UdL)
    address: '0xd999baae98ac5246568fd726be8832c49626867d'
    privateKeyPath: keys/d999baae98ac5246568fd726be8832c49626867d.json
    passwordEnvKey: UDL_KEY_PASSWORD

Commands

pontus-x_cli access DID

Access an asset that can be downloaded given its DID

USAGE
  $ pontus-x_cli access DID

ARGUMENTS
  DID  DID of the asset

DESCRIPTION
  Access an asset that can be downloaded given its DID

EXAMPLES
  $ pontus-x_cli access did:op:af3e93c4f18903f91b108e7204b8a752e7605f4547ed507212bd6aca63af5686

See code: src/commands/access.ts

pontus-x_cli autocomplete [SHELL]

Display autocomplete installation instructions.

USAGE
  $ pontus-x_cli autocomplete [SHELL] [-r]

ARGUMENTS
  [SHELL]  (zsh|bash|powershell) Shell type

FLAGS
  -r, --refresh-cache  Refresh cache (ignores displaying instructions)

DESCRIPTION
  Display autocomplete installation instructions.

EXAMPLES
  $ pontus-x_cli autocomplete

  $ pontus-x_cli autocomplete bash

  $ pontus-x_cli autocomplete zsh

  $ pontus-x_cli autocomplete powershell

  $ pontus-x_cli autocomplete --refresh-cache

See code: @oclif/plugin-autocomplete

pontus-x_cli change-price DID NEWPRICE

Change the price keeping the existing currency for an asset with the given DID

USAGE
  $ pontus-x_cli change-price DID NEWPRICE [-y]

ARGUMENTS
  DID       DID of the asset
  NEWPRICE  New price for the asset

FLAGS
  -y, --yes  Automatic yes to prompts

DESCRIPTION
  Change the price keeping the existing currency for an asset with the given DID

EXAMPLES
  $ pontus-x_cli change-price did:op:ffeee8c8f19328985ef6743b08e61ef89d5141027fd47612e32e7900cacd2b7a 10

See code: src/commands/change-price.ts

pontus-x_cli check-participant-compliance

Use Gaia-X Compliance to check a participant Verifiable Presentation

USAGE
  $ pontus-x_cli check-participant-compliance -p <value> --vp <value>

FLAGS
  -p, --participant=<value>  (required) Path to the JSON file including the required participant data
      --vp=<value>           (required) Path to the participant Verifiable Presentation file

DESCRIPTION
  Use Gaia-X Compliance to check a participant Verifiable Presentation

EXAMPLES
  $ pontus-x_cli check-participant-compliance -p ./CEP.data.json --vp ./CEP.vp.json

See code: src/commands/check-participant-compliance.ts

pontus-x_cli compute [ALGORITHM]

Compute the algorithm on one or more datasets.

USAGE
  $ pontus-x_cli compute [ALGORITHM] [-d <value>...] [-y] [-m <value>] [-n PONTUSXDEV|PONTUSXTEST]

ARGUMENTS
  [ALGORITHM]  Algorithm DID (did:op:...)

FLAGS
  -d, --datasets=<value>...  Dataset DIDs (did:op:...)
  -m, --manifest=<value>     Path to manifest file with the accounts to use for authentication
  -n, --network=<option>     Network to use (env: NETWORK)
                             <options: PONTUSXDEV|PONTUSXTEST>
  -y, --yes                  Automatic yes to prompts

DESCRIPTION
  Compute the algorithm on one or more datasets.

EXAMPLES
  $ pontus-x_cli compute <algorithmDid> -d <datasetDid1> <datasetDid2> ...

  $ pontus-x_cli compute <algorithmDid> -t <tag1> -t <tag2> ...

See code: src/commands/compute.ts

pontus-x_cli compute-results JOBID

Get the compute job results.

USAGE
  $ pontus-x_cli compute-results JOBID -p <value>

ARGUMENTS
  JOBID  Compute job ID

FLAGS
  -p, --provider=<value>  (required) [default: https://provider.agrospai.udl.cat] The Provider URL

DESCRIPTION
  Get the compute job results.

EXAMPLES
  $ pontus-x_cli compute-results 215bae450c8f40f59bfc5d1ccada3931 -p https://provider.agrospai.udl.cat

See code: src/commands/compute-results.ts

pontus-x_cli compute-status JOBID

Check compute job status.

USAGE
  $ pontus-x_cli compute-status JOBID -p <value>

ARGUMENTS
  JOBID  Compute job ID

FLAGS
  -p, --provider=<value>  (required) [default: https://provider.agrospai.udl.cat] The Provider URL

DESCRIPTION
  Check compute job status.

EXAMPLES
  $ pontus-x_cli compute-status 215bae450c8f40f59bfc5d1ccada3931 -p https://provider.agrospai.udl.cat

See code: src/commands/compute-status.ts

pontus-x_cli edit-additional-metadata DID METADATAFILE

Change the container additional metadata for a given DID

USAGE
  $ pontus-x_cli edit-additional-metadata DID METADATAFILE [-y]

ARGUMENTS
  DID           Algorithm DID
  METADATAFILE  JSON metadata file path

FLAGS
  -y, --yes  Skip confirmation prompt

DESCRIPTION
  Change the container additional metadata for a given DID

EXAMPLES
  $ pontus-x_cli edit-additional-metadata did:op:dcdb747f8feff3122c6d6c0f45a339a6e09415e721f98f61cc2c1d62ab35a21f ./metadata.json

See code: src/commands/edit-additional-metadata.ts

pontus-x_cli edit-algo DID IMAGE TAG CHECKSUM ENTRYPOINT

Change the container metadata for a given algorithm DID

USAGE
  $ pontus-x_cli edit-algo DID IMAGE TAG CHECKSUM ENTRYPOINT [-y]

ARGUMENTS
  DID         Algorithm DID
  IMAGE       Container image
  TAG         Container tag
  CHECKSUM    Image checksum
  ENTRYPOINT  Algorithm entrypoint

FLAGS
  -y, --yes  Skip confirmation prompt

DESCRIPTION
  Change the container metadata for a given algorithm DID

EXAMPLES
  $ pontus-x_cli edit-algo did:op:dcdb747f8feff3122c6d6c0f45a339a6e09415e721f98f61cc2c1d62ab35a21f rogargon/pandas-profiling 4.16 sha256:81dca5439f07dff4d56097546a9fce7335be3de8e2622dc105c64e54376f86b5 "python /algorithm/src/main.py"

See code: src/commands/edit-algo.ts

pontus-x_cli edit-asset-url DID URL

Change the URL of an asset DID

USAGE
  $ pontus-x_cli edit-asset-url DID URL [-y]

ARGUMENTS
  DID  DID of the asset
  URL  New URL for the asset

FLAGS
  -y, --yes  Automatic yes to prompts

DESCRIPTION
  Change the URL of an asset DID

EXAMPLES
  $ pontus-x_cli edit-asset-url did:op:af3e93c4f18903f91b108e7204b8a752e7605f4547ed507212bd6aca63af5686 https://raw.githubusercontent.com/plotly/datasets/refs/heads/master/titanic.csv

See code: src/commands/edit-asset-url.ts

pontus-x_cli edit-trusted-algos

Overwrite datasets trusted algorithms

USAGE
  $ pontus-x_cli edit-trusted-algos [-d <value>...] [-a <value>...] [-y] [-m <value>] [-p] [-n PONTUSXDEV|PONTUSXTEST]

FLAGS
  -a, --algorithms=<value>...  Trusted algorithm DIDs (did:op:...)
  -d, --datasets=<value>...    Dataset DIDs (did:op:...)
  -m, --manifest=<value>       Path to manifest file with the accounts to use for authentication
  -n, --network=<option>       Network to use (env: NETWORK)
                               <options: PONTUSXDEV|PONTUSXTEST>
  -p, --public                 Make dataset public (set all algorithms as trusted)
  -y, --yes                    Skip confirmation prompt

DESCRIPTION
  Overwrite datasets trusted algorithms

EXAMPLES
  $ pontus-x_cli edit-trusted-algos -d <datasetDid1> <datasetDid2> ... -a <algorithmDid1> <algorithmDid2> ...

See code: src/commands/edit-trusted-algos.ts

pontus-x_cli edit-trusted-publishers

Overwrite datasets trusted publishers

USAGE
  $ pontus-x_cli edit-trusted-publishers [-d <value>...] [-p <value>...] [-y] [-m <value>] [-n PONTUSXDEV|PONTUSXTEST]

FLAGS
  -d, --datasets=<value>...    Dataset DIDs (did:op:...)
  -m, --manifest=<value>       Path to manifest file with the accounts to use for authentication
  -n, --network=<option>       Network to use (env: NETWORK)
                               <options: PONTUSXDEV|PONTUSXTEST>
  -p, --publishers=<value>...  Trusted publisher DIDs (did:op:...)
  -y, --yes                    Skip confirmation prompt

DESCRIPTION
  Overwrite datasets trusted publishers

EXAMPLES
  $ pontus-x_cli edit-trusted-publishers -d <datasetDid1> <datasetDid2> ... -p <publisherDid1> <publisherDid2> ...

See code: src/commands/edit-trusted-publishers.ts

pontus-x_cli export-private-key

Export your private key as a JSON file, to use later with the login command or for Pontus-X portals automation

USAGE
  $ pontus-x_cli export-private-key [-f <value>] [-p <value>] [-k <value>]

FLAGS
  -f, --filepath=<value>    File path to save the encrypted private key (default is <address>.json)
  -k, --privateKey=<value>  Your private key
  -p, --password=<value>    Password to encrypt the private key file

DESCRIPTION
  Export your private key as a JSON file, to use later with the login command or for Pontus-X portals automation

EXAMPLES
  $ pontus-x_cli export-private-key

See code: src/commands/export-private-key.ts

pontus-x_cli generate-asset-credentials DID

Generate the Gaia-X credentials for the input DID asset, including its verifiable presentation

USAGE
  $ pontus-x_cli generate-asset-credentials DID -c <value> -d <value> -p <value> [-w <value>]

ARGUMENTS
  DID  DID of the asset

FLAGS
  -c, --certificate=<value>  (required) Path to the certificate.key file
  -d, --didjson=<value>      (required) Path to the did.json file
  -p, --participant=<value>  (required) Path to the JSON file including the required participant data
  -w, --password=<value>     Password for the private key file (if not provided, it will be asked interactively)

DESCRIPTION
  Generate the Gaia-X credentials for the input DID asset, including its verifiable presentation

EXAMPLES
  $ pontus-x_cli generate-asset-credentials -p ./CEP.data.json -d ./did.json -c certificate.key did:op:01f8bc1e797a854dc718bd7a802acb07c5fc39f706b03dd454bceb66be6828c6

See code: src/commands/generate-asset-credentials.ts

pontus-x_cli generate-did-web

Generate a did.json to set up a DID-Web source to publish Gaia-X complaint credentials

USAGE
  $ pontus-x_cli generate-did-web -c <value> -d <value>

FLAGS
  -c, --certificate=<value>  (required) Path to the file with the certificate chain for the DID domain URL
  -d, --domain=<value>       (required) URL where the DID-Web document will be hosted

DESCRIPTION
  Generate a did.json to set up a DID-Web source to publish Gaia-X complaint credentials

EXAMPLES
  $ pontus-x_cli generate-did-web -d <https://compliance.agrospai.udl.cat> -c certificate-chain.crt

See code: src/commands/generate-did-web.ts

pontus-x_cli generate-participant-credentials

Generate the Gaia-X credentials for the participant including their verifiable presentation

USAGE
  $ pontus-x_cli generate-participant-credentials -c <value> -d <value> -p <value> [-w <value>]

FLAGS
  -c, --certificate=<value>  (required) Path to the certificate.key file
  -d, --didjson=<value>      (required) Path to the did.json file
  -p, --participant=<value>  (required) Path to the JSON file including the required participant data
  -w, --password=<value>     Password for the private key file (if not provided, it will be asked interactively)

DESCRIPTION
  Generate the Gaia-X credentials for the participant including their verifiable presentation

EXAMPLES
  $ pontus-x_cli generate-participant-credentials -p ./CEP.data.json -d ./did.json -c certificate.key

See code: src/commands/generate-participant-credentials.ts

pontus-x_cli get DID

Get the available metadata to the asset with the given DID

USAGE
  $ pontus-x_cli get DID

ARGUMENTS
  DID  DID of the asset

DESCRIPTION
  Get the available metadata to the asset with the given DID

EXAMPLES
  $ pontus-x_cli get did:op:ffeee8c8f19328985ef6743b08e61ef89d5141027fd47612e32e7900cacd2b7a

See code: src/commands/get.ts

pontus-x_cli help [COMMAND]

Display help for pontus-x_cli.

USAGE
  $ pontus-x_cli help [COMMAND...] [-n]

ARGUMENTS
  [COMMAND...]  Command to show help for.

FLAGS
  -n, --nested-commands  Include all nested commands in the output.

DESCRIPTION
  Display help for pontus-x_cli.

See code: @oclif/plugin-help

pontus-x_cli login KEYFILE

Login to retrieve your private key from a JSON key store and store it in .env

USAGE
  $ pontus-x_cli login KEYFILE [-p <value>]

ARGUMENTS
  KEYFILE  Path to the keyFile.json

FLAGS
  -p, --password=<value>  Password to decrypt the key file

DESCRIPTION
  Login to retrieve your private key from a JSON key store and store it in .env

EXAMPLES
  $ pontus-x_cli login d999baae98ac5246568fd726be8832c49626867d.json

See code: src/commands/login.ts

pontus-x_cli logout

Logout to remove your private key from .env file

USAGE
  $ pontus-x_cli logout

DESCRIPTION
  Logout to remove your private key from .env file

EXAMPLES
  $ pontus-x_cli logout

See code: src/commands/logout.ts

pontus-x_cli publish PATH

Publish the asset as instructed in the provided script folder.

USAGE
  $ pontus-x_cli publish PATH [--dry-run] [-m <value>] [-p <value>] [-r]

ARGUMENTS
  PATH  Path to find a JSON/YAML or TS file describing the asset to publish

FLAGS
  -m, --manifest=<value>  [default: ./manifest.yaml] Path to the manifest file
  -p, --provider=<value>  [default: https://provider.agrospai.udl.cat] The Provider URL
  -r, --recursive         Recursively publish assets in a directory (only for JSON/YAML files)
      --dry-run           Dry run the publishing process

DESCRIPTION
  Publish the asset as instructed in the provided script folder.

EXAMPLES
  $ pontus-x_cli publish samples/publish/algo/

  $ pontus-x_cli publish samples/publish/algo/spec.json

  $ pontus-x_cli publish samples/publish/algo/spec.yaml

  $ pontus-x_cli publish samples/publish/algo/index.ts

See code: src/commands/publish.ts

pontus-x_cli render [DID]

USAGE
  $ pontus-x_cli render [DID] [-d <value>] [-t <value>...] [-a]

ARGUMENTS
  [DID]  Dataset DID

FLAGS
  -a, --onlyAccess       Only render datasets with an access service
  -d, --dst=<value>      [default: rendered] Destination folder to save the rendered specs
  -t, --tags=<value>...  Tags to filter datasets (they must have all the provided tags)

See code: src/commands/render.ts

pontus-x_cli revoke

Publisher revocation of one or more owned DIDs

USAGE
  $ pontus-x_cli revoke [-d <value>...] [-m <value>] [-p <value>...] [-r] [-y]

FLAGS
  -d, --dids=<value>...   DID to revoke
  -m, --manifest=<value>  [default: ./manifest.yaml] Path to the manifest file
  -p, --paths=<value>...  Path to find a JSON/YAML file describing the assets to revoke
  -r, --recursive         Recursively revoke assets in a directory (only for JSON/YAML files)
  -y, --yes               Skip confirmation prompt

DESCRIPTION
  Publisher revocation of one or more owned DIDs

EXAMPLES
  $ pontus-x_cli revoke -d did:op:ffeee8c8f19328985ef6743b08e61ef89d5141027fd47612e32e7900cacd2b7a did:op:abcee8c8f19328985ef6743b08e61ef89d5141027fd47612e32e7900cacd2b7b

See code: src/commands/revoke.ts

pontus-x_cli self-description DID SDURL

Associate Gaia-X Self-Description to the asset with the given DID

USAGE
  $ pontus-x_cli self-description DID SDURL [-y]

ARGUMENTS
  DID    DID of the asset
  SDURL  URL of the Self-Description

FLAGS
  -y, --yes  Skip confirmation prompt

DESCRIPTION
  Associate Gaia-X Self-Description to the asset with the given DID

EXAMPLES
  $ pontus-x_cli self-description did:op:d22954f2cbf6a85c897ce605c275cc786e099592cc59e3b7dd66b93e784bed8c https://example.com/self-description.json

See code: src/commands/self-description.ts

Useful information

How to obtain the certificate chain

You can use the following command to obtain the certificate chain for the compliance service:

curl -o certificate-chain.crt "https://whatsmychaincert.com/generate?include_leaf=1&include_root=1&host=compliance.agrospai.udl.cat"

How to obtain the certificate key

If you are using Kubernetes with cert-manager, you can extract the key with the following command:

kubectl get secret compliance-tls -n tenant-1 -o jsonpath='{.data.tls\.key}' | base64 --decode > certificate.key

Development

Install dependencies

npm install

Build the CLI

npm run build

Run the built CLI

Development

./bin/dev.js COMMAND

Production

./bin/run.js COMMAND

Build and run the CLI in one command

npm run dev -- COMMAND

Global installation

npm install -g .

Formatting

npm run format

Linting

npm run lint

Typing

npm run tsc

Testing

You can customize the tests in test/config.ts file. The two most important parameters are PRIVATE_KEY_PATH and PRIVATE_KEY_PASSWORD.

By default, you need to have the privateKey.json file in the base root. Which you can generate with the command: npm run dev export-private-key -f privateKey.json.

Structure

The tests are organized in folders by functionality:

test/
├── auth/
├── read/
└── write/
  • auth: commands related to authentication.
  • read: commands that do not make modifications in the blockchain.
  • write: commands that make modifications in the blockchain. All write commands are run sequentially to avoid conflicts.

Initialization

Because the tests interact with the blockchain, we need to first deploy some assets manually and keep track of their DIDs. To do that, you can run:

npm run test:init

There are some tests that need the certificate.key to be present in the samples/data folder. You can obtain it following the instructions in the How to obtain the certificate key section.

Clean up

Whenever you want to clean up the deployed assets in the blockchain, you can run:

npm run test:clean

Run all tests once

npm run test

Run a specific test file once

npm run test TEST_NAME # example: access, login, get, etc.

Run a specific test folder

npm run test TEST_FOLDER # example: auth, read, write

Run a specific test file in watch mode

npm run test:watch TEST_NAME # example: access, login, get, etc.

Open the Vitest UI

npm run test:ui

Generate report

npx vitest --reporter=html

Generate documentation

npm run prepack
npm run postpack

Generate JSON schema

npm run schema