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

@diomhq/diom-cli

v0.2.3

Published

CLI for interacting with the Diom components platform

Downloads

464

Readme

GitHub tag Build Status Server Security Twitter Follow Join our slack

Diom is the backend components platform

Diom (pronounced: dye-omm/daɪəm) is a backend components platform for building robust, idiomatic services.

It offers high-level APIs for commonly used components such as cache, rate-limiting, idempotency, queue, and more. It has zero runtime dependencies, uses its own storage, and can be run as a single node or a highly-available cluster.

PyPI Crates.io NPM version Maven Central (Java) PkgGoDev

Useful links:

To stay up-to-date with new features and improvements be sure to watch our repo!

Interacting with Diom

Diom ships with client libraries for a variety of languages, as well as a CLI named diom.

Trying out the CLI

The Diom CLI is published on npm as @diomhq/diom-cli. You can run it directly with npx without installing anything:

npx @diomhq/diom-cli --help

Or install it globally:

npm install -g @diomhq/diom-cli
diom --help

Running the server

Diom is designed to be run on a cluster of machines with stable network identities (e.g., a Kubernetes StatefulSet). It's recommended to run it as a three-node cluster for high-availability and easy operations, but it can also run as a single-node.

The diom-server binary is configured through a TOML file which can be passed with the --config-path command line option. Settings can also be overridden by setting environment variables; for more information, see ENVIRONMENT_VARIABLES.md

Server configuration

There are two main ways to configure diom-server: environment vars, and a configuration file.

Configuring the server is described in the configuration section of the docs.

Observability using OpenTelemetry

Observability configuration described in the observability section of the docs.

Developing

This application is written in Rust and targets the latest stable release of Rust. You should install Rust with rustup or your favorite package manager. This application is broken up into multiple crates using Cargo workspaces.

A prek config is included and all commits are expected to pass pre-commit checks (as well as more-intensive CI checks run through Github Actions). You should install prek and then configure it to run automatically on commits to this repo with prek install.

Many helpful commands are provided in the justfile which can be invoked using Just, so you should make sure to have that installed too.

Building

cargo build in the root should build the server by default. If you want the local CLI, you'll also need cargo build --package diom-cli

Making changes

Changes should be done in branches prefixed with your username (e.g., johnsmith/my-cool-feature) and should have commit messages that describe the change. Prior to sending any PRs, commits must pass prek, just lint, and just test. Any changes that affect the client libraries / CLI will require running just codegen to rebuild all client libraries.