Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Trapperkeeper logo


Build Status

Trapperkeeper is a Clojure framework for hosting long-running applications and services. You can think of it as a sort of "binder" for Ring applications and other modular bits of Clojure code.


Add the following dependency to your project.clj file:

Clojars Project


  • Bug reports and feature requests: you can submit a Github issue, but we use JIRA as our main issue tracker.
  • freenode: #trapperkeeper
  • Join the chat at


You can find a quick-start, example code, and lots and lots of documentation in our:

Lein Template

A Leiningen template is available that shows a suggested project structure:

lein new trapperkeeper my.namespace/myproject

Once you've created a project from the template, you can run it via the lein alias:

lein tk

Note that the template is not intended to suggest a specific namespace organization; it's just intended to show you how to write a service, a web service, and tests for each.

Related Projects

Here are some additional projects that provide Trapperkeeper services, and other related functionality:

  • trapperkeeper-webserver-jetty9: a Jetty9-based webserver for use with TK applications
  • trapperkeeper-rpc: a TK service that allows you to easily build a way to call remote TK services over RPC
  • trapperkeeper-metrics: a TK service that manages the life cycle of a MetricRegistry, so that all of your TK services can register metrics with a common configuration syntax.
  • trapperkeeper-comidi-metrics: a TK utility library that provides middleware to automatically generate metrics for all requests to each of your bidi/comidi HTTP routes.
  • trapperkeeper-status: a TK service that provides a mechanism for registering status callbacks for all of your other TK services, and web API for requesting status information about the entire TK system.
  • trapperkeeper-scheduler: a TK service that provides an API for scheduling periodic background tasks


Copyright © 2013 Puppet Labs

Distributed under the Apache License, Version 2.0


Please log tickets and issues at our JIRA tracker. There is also a #trapperkeeper channel on Freenode as well as Join the chat at