<commit_before>[![Build Status](https://travis-ci.org/bamos/snowglobe.svg?branch=master)](https://travis-ci.org/bamos/snowglobe)

![](https://raw.githubusercontent.com/bamos/snowglobe/master/images/snowglobe.png)

SnowGlobe provides minimal-configuration web analytics
for small-scale and personal websites.

SnowGlobe integrates components from the
[Snowplow analytics framework][snowplow] to achieve this.
The [JavaScript tracker][js-tracker] pipes into the
[Scala collector][scala-collector] and [Scala enricher][scala-enrichment]
and outputs [Snowplow enriched events][enriched-events]
to a tab separated file.

SnowGlobe uniquely provides Haskell-driven analytics on the data.

**Crafted by [<NAME>](http://bamos.github.io).**

---

I wanted to create SnowGlobe in early 2014 when
I wrote the initial versions of Snowplow's collector
and enricher.
See [here](https://github.com/snowplow/snowplow/tree/0d2b4b76cbd9a415cb658dc0e3ff56bcc27e2c81/2-collectors/scala-stream-collector)
and [here](https://github.com/snowplow/snowplow/tree/6a15fed399be49513b6c46f44442d286ebe6832b/3-enrich/scala-kinesis-enrich)
for historic snapshots of my initial versions.
They've been greatly improved since.
I finally built SnowGlobe in May 2015.

# Motivation: Why create SnowGlobe?
I've used [Google Analytics](http://www.google.com/analytics/),
[Piwik](http://piwik.org/), and [Clicky](https://clicky.com)
for my personal website analytics over the last 3 years.
These are great systems I still use some of them for
the web interfaces and other analytics.
However, I enjoy hacking on the systems I use and<commit_msg>Phrasing.<commit_after>[![Build Status](https://travis-ci.org/bamos/snowglobe.svg?branch=master)](https://travis-ci.org/bamos/snowglobe)

![](https://raw.githubusercontent.com/bamos/snowglobe/master/images/snowglobe.png)

SnowGlobe provides minimal-configuration web analytics
for small-scale and personal websites.

SnowGlobe integrates components from the
[Snowplow analytics framework][snowplow] to achieve this.
The [JavaScript tracker][js-tracker] pipes into the
[Scala collector][scala-collector] and [Scala enricher][scala-enrichment]
and outputs [Snowplow enriched events][enriched-events]
to a tab separated file.

SnowGlobe uniquely provides Haskell-driven analytics on the data.

**Crafted by [<NAME>](http://bamos.github.io).**

---

I wanted to create SnowGlobe in early 2014 when
I wrote the initial versions of Snowplow's collector
and enricher.
See [here](https://github.com/snowplow/snowplow/tree/0d2b4b76cbd9a415cb658dc0e3ff56bcc27e2c81/2-collectors/scala-stream-collector)
and [here](https://github.com/snowplow/snowplow/tree/6a15fed399be49513b6c46f44442d286ebe6832b/3-enrich/scala-kinesis-enrich)
for historic snapshots of these projects.
They've been greatly improved since, and
I finally built SnowGlobe in May 2015.

# Motivation: Why create SnowGlobe?
I've used [Google Analytics](http://www.google.com/analytics/),
[Piwik](http://piwik.org/), and [Clicky](https://clicky.com)
for my personal website analytics over the last 3 years.
These are great systems I still use some of them for
the web interfaces and other analytics.
However, I enjoy hacking on the systems I use and
{'fraction_non_alphanumeric': 0.10764430577223089, 'fraction_numerical': 0.036193447737909515, 'mean_word_length': 5.665280665280665, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 12, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5117440', 'n_tokens_mistral': 1161, 'n_tokens_neox': 1034, 'n_words': 291}