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

bpmn2dexpi

v0.1.0

Published

A web-based tool for creating DEXPI-compliant block flow and process flow diagrams using BPMN notation

Readme

A web-based tool for creating DEXPI-compliant block flow and process flow diagrams. Model chemical processes visually and export to DEXPI XML format for interoperability with engineering tools.

Features

  • Visual Modeling: Drag-and-drop interface for process diagrams
  • DEXPI Compliance: Export to DEXPI 2.0 XML standard
  • Material Library: Define materials, compositions, and states
  • Port System: Connect equipment with typed ports (Material, Energy, Information)
  • Stream Properties: Configure flow properties and material references
  • Neo4j Export: Export process graphs directly to Neo4j database
  • CLI Tool: Batch convert BPMN files to DEXPI XML from terminal or Python

Prerequisites

  • Node.js 18+ (recommended: 20 LTS)
  • npm 9+

Quick Start

Option A: Install via npm (CLI only)

npm install -g bpmn2dexpi

# Convert BPMN to DEXPI XML
bpmn2dexpi input.bpmn output.xml

Option B: Clone and run (web interface + CLI)

git clone https://github.com/skhella/bpmn2dexpi.git
cd bpmn2dexpi
npm install

# Run the web app
npm run dev

# Or use CLI for batch processing
npm run transform input.bpmn output.xml

Usage

Web Interface

  1. Open http://localhost:5173 in your browser
  2. Drag process elements from the palette
  3. Connect elements with flows
  4. Add materials and compositions in the Material Library
  5. Configure ports and streams in the properties panel
  6. Export to DEXPI XML or Neo4j

Command Line

# Convert BPMN to DEXPI XML
npm run transform process.bpmn output.xml

Python Integration

The included bpmn2dexpi.py script wraps the CLI for use from Python:

from bpmn2dexpi import transform

# Convert and save to file
transform('input.bpmn', 'output.xml')

# Get XML as string
xml = transform('input.bpmn')

See CLI_USAGE.md for more examples.

Neo4j Export

The tool can export process diagrams directly to a Neo4j graph database:

  1. Click the "Export to Neo4j" button in the toolbar
  2. Enter your Neo4j connection details:
    • Local: bolt://localhost:7687
    • Aura: neo4j+s://xxx.databases.neo4j.io
  3. Choose whether to clear existing data
  4. Click Export

Exported graph structure:

  • ProcessStep nodes with port properties
  • Source and Sink nodes for process boundaries
  • MaterialStream, EnergyFlow, InformationFlow relationships
  • CONTAINS relationships for subprocess hierarchy

Examples

See the examples/ folder for sample BPMN files

Based on Research

This tool implements the BPMN-DEXPI mapping methodology described in:

Shady Khella, Markus Schichtel, Erik Esche, Frauke Weichhardt, and Jens-Uwe Repke. Mapping DEXPI Process to BPMN 2.0 for Graphical Modeling of Block Flow and Process Flow Diagrams (submitted, 2026).

A link to the publication will be added once available.

Core Mapping: | DEXPI Concept | BPMN Element | |---------------|--------------| | ProcessStep | Task | | Source | Start Event | | Sink | End Event | | MaterialFlow/EnergyFlow | Sequence Flow | | InformationFlow | Association | | Ports | extensionElements |

Technology

  • Frontend: React 19, TypeScript
  • Diagramming: bpmn.io (bpmn-js)
  • Build: Vite 7
  • Target Spec: DEXPI 2.0

Acknowledgments

This project was developed with assistance from AI coding tools, including GitHub Copilot and Claude.

License

This project is released under the MIT License.

Third-Party Licenses

bpmn-js
Licensed under the bpmn.io License (modified MIT). Free to use, including commercially, with one requirement: the bpmn.io watermark in diagrams must remain visible and unmodified.

DEXPI Specification
Licensed under Creative Commons Attribution 4.0 International License (CC BY 4.0).


Current version: 0.1.0