mbrtargeting / druid-client   0.1.3

MIT License GitHub

spring blossoms and blessing of the ancients

Scala versions: 2.12 2.11

Druid Client Build Status

Druid client that simplifies interactions with the Druid API.



You can either use the druid-client as a Scala library or from command-line.

Import to your Scala project:

libraryDependencies ++= Seq("eu.m6r" %% "druid-client" % "0.1.2")



XML Example:

<task:taskConfig xmlns:task="http://m6r.eu/druid/client/task-config">
  <!--1 or more repetitions:-->
  <!--1 or more repetitions:-->

JSON Example (json config filename has to end with json):

  "taskConfig": {
    "dimensions": [
    "metrics": [
          "type": "string",
          "name": "string",
          "fieldName": "string"

You can use models.Utils.parseTaskConfig(file) to parse a task config file programmatically.


We support Scala 2.11 and 2.12. To do a cross-build that create jars for all supported Scala versions, do:

sbt +package

To build fat jars:

sbt +assembly

Publish artifact

sbt +publishSigned

Upload Scaladoc to Github Pages

Build and upload Scaladoc documentation to Github pages.

sbt ghpagesPushSite


  • Add scaladoc comments
  • Add documentation to the README. e.g.
    • methods description
    • parameters description
    • Examples
    • how to contribute
  • Add tests
  • Write to druid mailing list
  • Add to druid libraries page
  • Upload to maven central


  • Support more druid functions:
    • Queries
  • Build .deb with sbt.
  • Maybe upload .deb to ubuntu package sources.
  • Would be nice to support brew.