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

@molcrafts/molvis

v0.2.2

Published

MolVis umbrella: 2D sketch + 3D stage (install engines explicitly for a single surface)

Readme

MolVis renders molecules, simulation boxes, and trajectories in the browser, with one product surface shared across the web, VS Code, and Jupyter. Its bidirectional RPC layer lets an agent operate the live scene while the user inspects every result, selects the relevant atoms or bonds, and sends that precise visual context back to the agent.

Vision

Molecular visualization tools have long made you choose: a powerful desktop application that is hard to install and impossible to share, or a lightweight web viewer that cannot keep up once your work gets serious. MolVis exists to erase that trade-off — a single rendering stack that runs anywhere a browser does, with no compromise on what you can see or do.

We want looking at a structure to be frictionless. Drag a file onto a page, open it in your editor next to its input deck, or display it inline in a notebook cell — the viewport, the modes, and the shortcuts are identical everywhere, so the muscle memory you build transfers across every context you work in.

And we want visualization to be more than a picture. MolVis treats editing, measurement, pipeline transforms, and analysis as first-class, fully reversible operations on live molecular data — so the viewer becomes a place where you actually do the work, not just admire the result.

Human-in-the-loop agent workflow

MolVis is designed to be the visual boundary between an agent and molecular data:

  1. An agent uses JSON-RPC commands to load data, move the camera, change the representation, select atoms, edit the scene, or run pipeline operations.
  2. The user reviews the exact result in the shared viewer instead of auditing a textual description of it.
  3. The user selects atoms or bonds that need attention. MolVis emits the selection, active frame, and interaction state back to the host.
  4. The agent receives a structured subset with get_selected(), acts on the feedback, and presents the next visible result.

RPC requests and responses are structured and snapshots can capture the visible state, making the workflow straightforward for an agent host to record and audit. MolVis provides the observable interaction boundary; durable audit-log storage remains the responsibility of the host application.

See Agent workflows for a complete selection-feedback loop.

Packages

| Package | Role | |---------|------| | @molcrafts/molvis-stage | 3D stage — Babylon.js rendering, commands, modes, pipeline, RPC | | @molcrafts/molvis-sketch | 2D sketch — Canvas structure editor | | @molcrafts/molvis | Umbrella (repo root) — re-exports stage + sketch + plugin SDK | | @molcrafts/molvis-plugin | Plugin authoring SDK (base class, contract, host-aligned UI) | | @molcrafts/molvis-core | Shared molrs gateway + element catalog (transitive; not a product install) | | page | React 19 product UI (ships inside Python / VS Code hosts) | | VS Code extension | Custom editor for molecular formats | | molcrafts-molvis (PyPI) | Python driver over WebSocket |

Install

# both engines (root package)
npm install @molcrafts/molvis

# 3D only
npm install @molcrafts/molvis-stage

# 2D only
npm install @molcrafts/molvis-sketch

Requires Node.js 22+. The Python package (pip install molcrafts-molvis) needs Python 3.12+; the VS Code extension installs from the Marketplace.

Quick start

import { mountMolvis } from "@molcrafts/molvis-stage";
import { loadFileContent } from "@molcrafts/molvis-stage/io";

const container = document.getElementById("viewer");
if (!container) throw new Error("viewer container not found");

const app = mountMolvis(container);
await app.start();

const pdbText = await (await fetch("/structure.pdb")).text();
await loadFileContent(app, pdbText, "structure.pdb");

See the documentation for the web viewer, the VSCode extension, the Python API, and how to extend the engine.

Documentation

  • Tutorial — frames, camera, representations, selection, pipeline, trajectories, export
  • Agent workflows — RPC control, visual review, selection feedback, and audit records
  • Interfaces — Web/TypeScript, Python/Jupyter, and VS Code guides
  • Development — embed MolVis and write custom modifiers and commands
  • API Reference — TypeScript library and Python package

MolCrafts ecosystem

| Project | Role | |---------|------| | molpy | Python toolkit — shared molecular data model & workflow layer | | molrs | Rust core — molecular data structures & compute kernels (native + WASM) | | molpack | Packmol-grade molecular packing (Rust + Python) | | molvis — this repo | WebGL molecular visualization & editing | | molexp | Workflow & experiment-management platform | | molnex | Molecular machine-learning framework | | molq | Unified job queue — local / SLURM / PBS / LSF | | molcfg | Layered configuration library | | mollog | Structured logging, stdlib-compatible | | molhub | Molecular dataset hub | | molmcp | MCP server for the ecosystem | | molrec | Atomistic record specification |

Contributing

Contributions are welcome — see the development guide.

License

BSD-3-Clause — see LICENSE.