GitPedia

Promesa

A promise library & concurrency toolkit for Clojure and ClojureScript.

From funcool·Updated June 11, 2026·View on GitHub·

A promise library & concurrency toolkit for Clojure and ClojureScript. The project is written primarily in Clojure, distributed under the Mozilla Public License 2.0 license, first published in 2015. Key topics include: async-await, asynchronous-programming, clojure, clojurescript, completablefuture.

Latest release: 10.0.571
December 7, 2022View Changelog →

promesa

Clojars Project

A promise library & concurrency toolkit for Clojure and ClojureScript.

This library exposes a bunch of useful syntactic abstractions that
considerably simplify working with promises (in a very similar
way as you will do it in JS with async/await) and many helpers from
executors to concurrency patterns (bulkhead & CSP). With 0 runtime
external dependencies.

Here you can look a detailed documentation.

Getting Started

deps.edn:

clojure
funcool/promesa {:mvn/version "12.0.0"}

You also can get it via git:

clojure
funcool/promesa {:git/sha "1f94377" :git/tag "12.0.0" :git/url "https://github.com/funcool/promesa"}

On the REPL

clojure
(require '[promesa.core :as p]) (->> (p/promise 1) (p/map inc) (deref) ;; => 2

NOTE: example only work on JVM because the evident lack of blocking
primitives on JS runtime.

Contributing

If you miss something, feel free to open an issue for a discussion. If
there is a clear use case for the proposed enhancement, the PR will be
more than welcome.

Testing

Run the Clojure (.clj) tests:

shell
clojure -M:dev -m promesa.tests.main

Run the ClojureScript (.cljs) tests:

shell
corepack enable corepack install yarn install yarn run test

Run the Babashka tests:

shell
bb test:bb

Contributors

Showing top 12 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from funcool/promesa via the GitHub API.Last fetched: 6/16/2026