<commit_before># roles

Dead simple role and group management.

[![npm](https://img.shields.io/npm/v/roles.svg)](https://www.npmjs.com/package/roles) [![CircleCI](https://circleci.com/gh/Intelight/roles.svg?style=svg)](https://circleci.com/gh/Intelight/roles)[![Coverage Status](https://coveralls.io/repos/github/intelight/roles/badge.svg?branch=master)](https://coveralls.io/github/intelight/roles?branch=master) ![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)<commit_msg>Fix npm badge. Closes #12<commit_after># roles

Dead simple role and group management.

[![npm](https://img.shields.io/npm/v/roles-server.svg)](https://www.npmjs.com/package/roles-server)
[![npm](https://img.shields.io/npm/v/roles-client.svg)](https://www.npmjs.com/package/roles-client) [![CircleCI](https://circleci.com/gh/Intelight/roles.svg?style=svg)](https://circleci.com/gh/Intelight/roles)[![Coverage Status](https://coveralls.io/repos/github/intelight/roles/badge.svg?branch=master)](https://coveralls.io/github/intelight/roles?branch=master) ![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)
{'fraction_non_alphanumeric': 0.21028880866425992, 'fraction_numerical': 0.0018050541516245488, 'mean_word_length': 6.063694267515924, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 16, 'lorem ipsum': 0, 'www.': 3, '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': '6358218', 'n_tokens_mistral': 433, 'n_tokens_neox': 398, 'n_words': 30}