Skip to content

Scowl Feature Language

Sumatra's feature language, Scowl, allows users to declare realtime data transformations with the ease of SQL, the power of Python, and the speed of Go. The same code runs in research and production to streamline workflows and guarantee online/offline consistency.

Why Scowl?

  • Approachable - Designed for data-savvy domain experts, not just ML engineers
  • Explainable - Easy to interpret data and logic behind every decision
  • Safe & Agile - Validate logic on historical data then deploy straight to production
  • Fast - Built on Go to be blazingly fast


Scowl has a simple, declarative syntax and powerful, stateful features.

emails_per_ip := CountUnique(email by ip last 2 hours)
login_device := Latest<login>(device_hash by acct_id)


Scowl's design was highly influenced by SQRL, created by Josh Yudaken, Pete Hunt, Julian Tempelsman, Paul Mou, Yunjing Xu, and David Newman. We are grateful to TwitterOSS and the project creators for releasing it publicly.

Special thanks to Josh and Pete for making themselves available for conversation to improve this project.