Plumbing is a general-purpose Clojure utility belt and data transformation library endorsed for its pragmatic approach to everyday tasks. It offers a toolkit of macros and functions that simplify common data manipulation patterns, and includes a “Graph” abstraction for structured computation flows. Most of it is also compatible with ClojureScript. Graph is a simple and declarative way to specify a structured computation, which is easy to analyze, change, compose, and monitor. Here's a simple example of an ordinary function definition, and its Graph equivalent. A Graph encodes the structure of a computation, but not how it happens, allowing for many execution strategies. For example, we can compile a Graph lazily so that step values are computed as needed. Or, we can parallel-compile the Graph so that independent step functions are run in separate threads.

Features

  • fnk and defnk macros for keyword-based function definitions with schema metadata
  • A rich set of map utilities: dissoc-in, distinct-by, assoc-when, update-in-when, and more
  • Graph abstraction to declare and execute workflows as composable computational graphs
  • Async versions of graph execution via graph-async namespace
  • Core utility functions such as safe-get, lazy-get, grouped-map, swap-pair! for everyday tasks
  • Compatibility with ClojureScript for most of the library functions

Project Samples

Project Activity

See All Activity >

Categories

Libraries

License

MIT License

Follow Plumbing

Plumbing Web Site

You Might Also Like
MongoDB Atlas runs apps anywhere Icon
MongoDB Atlas runs apps anywhere

Deploy in 115+ regions with the modern database for every enterprise.

MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Plumbing!

Additional Project Details

Registered

2025-08-20