babashka/pod-registry

Pod manifests describe where pods can be downloaded, etc.

116

stars

624

commits

Clojure

primary language

Sep 10, 2026

updated

README

Pod registry

The central place to register babashka pods for easy usage with babashka.

Loading and using a pod

Registered pods can be loaded using a qualified symbol and a version string:

(require '[babashka.pods :as pods])
(pods/load-pod 'org.babashka/buddy "0.1.0")

From then on, a pod exposes namespaces which can be called like regular Clojure:

(require '[pod.babashka.buddy.core.hash :as hash])
(hash/md5 "foo")

Registered pods

PodDescriptionLatest versionExampleLanguage
atomisthq/tools.dockerdocker golang utils for clojure0.1.0linkgolang
bogue1979/natsinteract with NATS0.0.6linkgolang
borkdude/clj-kondoA static analyzer and linter for Clojure code that sparks joy2026.08.04linkclojure
com.fluree/cryptoA Clojure(Script) crypto library for the Fluree graph database0.1.2linkclojure
com.github.clojure-lsp/clojure-lsp2024.04.22-11.50.26null
com.github.jackdbd/pod.jackdbd.jsoupBabashka pod for parsing HTML with jsoup.0.4.0linkclojure
enigmacurry/script-wizardInteractive shell script helper: ask questions, confirmations, selections, date pickers, and menus0.3.0linkrust
epiccastle/bbsshSSH remote execution and file copy1.0.0linkclojure
epiccastle/spirePragmatic idempotent machine provisioning over SSH (mac and linux only)0.1.2linkclojure
huahaiy/datalevinDatalevin Database1.1.0linkclojure
ilmoraunio/conftestAccess Conftest internal API0.1.2linkgolang
ilmoraunio/conjtestParse configuration files using Clojure & Go parsers0.1.2linkclojure
io.github.mbjarland/clj-antApache Ant's task ecosystem, fluent from Clojure.1.0.0-alpha.5linkclojure
justone/briskFreeze and thaw with Nippy at the command line0.3.0linkclojure
justone/tablMake tables from data in your terminal0.3.0linkclojure
kpassapk/emacsExpose Emacs to babashka scripts: run Clojure inside Emacs with clj!0.4.0rust
lispyclouds/dockerA babashka pod for interacting with docker via clj-docker-client0.1.1linkclojure
org.babashka/awsAWS client based on aws-api0.1.2linkclojure
org.babashka/buddyCryptographic API provided by buddy0.3.4linkclojure
org.babashka/db2DB2 access via next.jdbc0.1.6linkclojure
org.babashka/etaoinEtaoin, a pure Clojure webdriver protocol implementation0.1.0linkclojure
org.babashka/filewatcherFilewatcher based on Rust notify0.0.1linkrust
org.babashka/fswatcherFilewatcher based on Go fsnotify0.0.7linkgolang
org.babashka/go-sqlite3Interact with sqlite30.3.13linkgolang
org.babashka/gozxingRead and write QR codes, based on gozxing0.0.1linkgolang
org.babashka/hsqldbHSQLDB access via next.jdbc0.1.6linkclojure
org.babashka/instaparseInstaparse pod0.0.7linkclojure
org.babashka/lanternaA Clojurey wrapper around the Lanterna terminal output library.0.0.1linkclojure
org.babashka/mssqlMSSQL access via next.jdbc0.1.6linkclojure
org.babashka/mysqlMySQL access via next.jdbc0.1.6linkclojure
org.babashka/oracleOracle access via next.jdbc0.1.0clojure
org.babashka/parceraGrammar-based Clojure(script) parser0.0.1linkclojure
org.babashka/postgresqlPostgresql access via next.jdbc0.1.6linkclojure
org.babashka/tools-deps-nativeTools deps alpha as a pod0.1.7linkclojure
replikativ/datahikeA fast, immutable, distributed & compositional Datalog engine for everyone.0.8.1865linkclojure
retrogradeorbit/bootlegTemplate processing command line tool to help build static websites. Inbuilt support for html, hiccup, hickory, selmer, mustache, markdown, enlive, json, yaml and edn.0.1.9linkclojure
rorokimdim/stashEncrypted text storage0.3.4linkhaskell
tommy-mor/go-valve-queryquery/rcon valve source engine servers0.1.1golang
tzzh/awsInteract with AWS0.0.3linkgolang
tzzh/mailSend emails0.0.3linkgolang

Registering a pod

To register a pod, create a nested directory in manifests with the following structure:

<org>/<pod-name>/<version>

and add a manifest.edn file like the following example:

{:pod/name tzzh/mail
 :pod/description "Send emails"
 :pod/version "0.0.2"
 :pod/license ""
 :pod/example "https://raw.githubusercontent.com/babashka/pod-registry/master/examples/tzzh_mail.clj"
 :pod/language "go"
 :pod/artifacts
 [{:os/name "Linux.*"
   :os/arch "amd64"
   :artifact/url "https://github.com/tzzh/pod-tzzh-mail/releases/download/v0.0.2/pod-tzzh-mail_0.0.2_Linux_x86_64.zip"
   :artifact/executable "pod-tzzh-mail"}
  {:os/name "Mac.*"
   :os/arch "x86_64"
   :artifact/url "https://github.com/tzzh/pod-tzzh-mail/releases/download/v0.0.2/pod-tzzh-mail_0.0.2_Darwin_x86_64.zip"
   :artifact/executable "pod-tzzh-mail"}
  {:os/name "Windows.*"
   :os/arch "amd64"
   :artifact/url "https://github.com/tzzh/pod-tzzh-mail/releases/download/v0.0.2/pod-tzzh-mail_0.0.2_Windows_x86_64.zip"
   :artifact/executable "pod-tzzh-mail.exe"}]}

The required fields are :pod/name, :pod/version and :pod/artifacts. For the sake of programmatical integrity you can populate :pod/description, :pod/example (with a link) and :pod/language fields as well.

You can then load the pod in your babashka script as follows:

(require '[babashka.pods :as pods])
(pods/load-pod 'tzzh/mail "0.0.2")

(require '[pod.tzzh.mail :as m])
(m/send-mail ...)

The :pod/artifacts vector will be matched in order on operating system and architecture. For the first match, the :artifact/url, a zip file, will be downloaded and extracted. After extraction there should be a file with the same name as :artifact/executable which will be made executable and invoked as the pod.

Contributors

(top 30 of 31)

borkdude

465 commits

bzg

78 commits

retrogradeorbit

13 commits

lispyclouds

9 commits

babashka/pod-registry

Pod manifests describe where pods can be downloaded, etc.

116

stars

624

commits

Clojure

primary language

Sep 10, 2026

updated

README

Pod registry

The central place to register babashka pods for easy usage with babashka.

Loading and using a pod

Registered pods can be loaded using a qualified symbol and a version string:

(require '[babashka.pods :as pods])
(pods/load-pod 'org.babashka/buddy "0.1.0")

From then on, a pod exposes namespaces which can be called like regular Clojure:

(require '[pod.babashka.buddy.core.hash :as hash])
(hash/md5 "foo")

Registered pods

PodDescriptionLatest versionExampleLanguage
atomisthq/tools.dockerdocker golang utils for clojure0.1.0linkgolang
bogue1979/natsinteract with NATS0.0.6linkgolang
borkdude/clj-kondoA static analyzer and linter for Clojure code that sparks joy2026.08.04linkclojure
com.fluree/cryptoA Clojure(Script) crypto library for the Fluree graph database0.1.2linkclojure
com.github.clojure-lsp/clojure-lsp2024.04.22-11.50.26null
com.github.jackdbd/pod.jackdbd.jsoupBabashka pod for parsing HTML with jsoup.0.4.0linkclojure
enigmacurry/script-wizardInteractive shell script helper: ask questions, confirmations, selections, date pickers, and menus0.3.0linkrust
epiccastle/bbsshSSH remote execution and file copy1.0.0linkclojure
epiccastle/spirePragmatic idempotent machine provisioning over SSH (mac and linux only)0.1.2linkclojure
huahaiy/datalevinDatalevin Database1.1.0linkclojure
ilmoraunio/conftestAccess Conftest internal API0.1.2linkgolang
ilmoraunio/conjtestParse configuration files using Clojure & Go parsers0.1.2linkclojure
io.github.mbjarland/clj-antApache Ant's task ecosystem, fluent from Clojure.1.0.0-alpha.5linkclojure
justone/briskFreeze and thaw with Nippy at the command line0.3.0linkclojure
justone/tablMake tables from data in your terminal0.3.0linkclojure
kpassapk/emacsExpose Emacs to babashka scripts: run Clojure inside Emacs with clj!0.4.0rust
lispyclouds/dockerA babashka pod for interacting with docker via clj-docker-client0.1.1linkclojure
org.babashka/awsAWS client based on aws-api0.1.2linkclojure
org.babashka/buddyCryptographic API provided by buddy0.3.4linkclojure
org.babashka/db2DB2 access via next.jdbc0.1.6linkclojure
org.babashka/etaoinEtaoin, a pure Clojure webdriver protocol implementation0.1.0linkclojure
org.babashka/filewatcherFilewatcher based on Rust notify0.0.1linkrust
org.babashka/fswatcherFilewatcher based on Go fsnotify0.0.7linkgolang
org.babashka/go-sqlite3Interact with sqlite30.3.13linkgolang
org.babashka/gozxingRead and write QR codes, based on gozxing0.0.1linkgolang
org.babashka/hsqldbHSQLDB access via next.jdbc0.1.6linkclojure
org.babashka/instaparseInstaparse pod0.0.7linkclojure
org.babashka/lanternaA Clojurey wrapper around the Lanterna terminal output library.0.0.1linkclojure
org.babashka/mssqlMSSQL access via next.jdbc0.1.6linkclojure
org.babashka/mysqlMySQL access via next.jdbc0.1.6linkclojure
org.babashka/oracleOracle access via next.jdbc0.1.0clojure
org.babashka/parceraGrammar-based Clojure(script) parser0.0.1linkclojure
org.babashka/postgresqlPostgresql access via next.jdbc0.1.6linkclojure
org.babashka/tools-deps-nativeTools deps alpha as a pod0.1.7linkclojure
replikativ/datahikeA fast, immutable, distributed & compositional Datalog engine for everyone.0.8.1865linkclojure
retrogradeorbit/bootlegTemplate processing command line tool to help build static websites. Inbuilt support for html, hiccup, hickory, selmer, mustache, markdown, enlive, json, yaml and edn.0.1.9linkclojure
rorokimdim/stashEncrypted text storage0.3.4linkhaskell
tommy-mor/go-valve-queryquery/rcon valve source engine servers0.1.1golang
tzzh/awsInteract with AWS0.0.3linkgolang
tzzh/mailSend emails0.0.3linkgolang

Registering a pod

To register a pod, create a nested directory in manifests with the following structure:

<org>/<pod-name>/<version>

and add a manifest.edn file like the following example:

{:pod/name tzzh/mail
 :pod/description "Send emails"
 :pod/version "0.0.2"
 :pod/license ""
 :pod/example "https://raw.githubusercontent.com/babashka/pod-registry/master/examples/tzzh_mail.clj"
 :pod/language "go"
 :pod/artifacts
 [{:os/name "Linux.*"
   :os/arch "amd64"
   :artifact/url "https://github.com/tzzh/pod-tzzh-mail/releases/download/v0.0.2/pod-tzzh-mail_0.0.2_Linux_x86_64.zip"
   :artifact/executable "pod-tzzh-mail"}
  {:os/name "Mac.*"
   :os/arch "x86_64"
   :artifact/url "https://github.com/tzzh/pod-tzzh-mail/releases/download/v0.0.2/pod-tzzh-mail_0.0.2_Darwin_x86_64.zip"
   :artifact/executable "pod-tzzh-mail"}
  {:os/name "Windows.*"
   :os/arch "amd64"
   :artifact/url "https://github.com/tzzh/pod-tzzh-mail/releases/download/v0.0.2/pod-tzzh-mail_0.0.2_Windows_x86_64.zip"
   :artifact/executable "pod-tzzh-mail.exe"}]}

The required fields are :pod/name, :pod/version and :pod/artifacts. For the sake of programmatical integrity you can populate :pod/description, :pod/example (with a link) and :pod/language fields as well.

You can then load the pod in your babashka script as follows:

(require '[babashka.pods :as pods])
(pods/load-pod 'tzzh/mail "0.0.2")

(require '[pod.tzzh.mail :as m])
(m/send-mail ...)

The :pod/artifacts vector will be matched in order on operating system and architecture. For the first match, the :artifact/url, a zip file, will be downloaded and extracted. After extraction there should be a file with the same name as :artifact/executable which will be made executable and invoked as the pod.

Contributors

(top 30 of 31)

borkdude

465 commits

bzg

78 commits

retrogradeorbit

13 commits

lispyclouds

9 commits

Languages

Clojure

100.0%