<commit_before>============
pyexperiment
============

[![Development Status](https://pypip.in/status/pyexperiment/badge.svg)](https://pypi.python.org/pypi/pyexperiment/)

There is no shortage of great Python libraries for command line
interfaces, logging, configuration file management, persistent state,
or plotting. When writing small scripts for quick experiments though,
it's often too much effort to configure these components, and one ends
up rewriting the same setup code over and over again.

Pyexperiment fixes this by providing a very simple way to jump start a
short experiment, adding many features of a full-blown framework.

Importing one or several modules from pyexperiment will give you:
- A basic command line interface that allows calling arbitrary
  functions (and passing arguments) from the command prompt, providing
  help text derived from the functions' docstrings (based on the
  standard library's argparse).
- A simple configuration management with an easy way to provide
  default values (based on the excellent configobj library).
- A thread-safe logger with configurable logging levels and rotating
  log files (based on the standard library's logging module).
- Persistent state with platform independent, configurable,
  (optionally rotating) state files that are compatible with many
  other programs (based on h5py).
- A sensible setup for plotting with configurable defaults (based on
  matplotlib).
- Many other bits and pieces that might come in handy...<commit_msg>Add travis and coveralls badges to README.md<commit_after>============
pyexperiment
============

[![Development Status](https://pypip.in/status/pyexperiment/badge.svg)](https://pypi.python.org/pypi/pyexperiment/) [![Build Status](https://travis-ci.org/duerrp/pyexperiment.svg?branch=master)](https://travis-ci.org/duerrp/pyexperiment) [![Coverage Status](https://coveralls.io/repos/duerrp/pyexperiment/badge.svg)](https://coveralls.io/r/duerrp/pyexperiment)

There is no shortage of great Python libraries for command line
interfaces, logging, configuration file management, persistent state,
or plotting. When writing small scripts for quick experiments though,
it's often too much effort to configure these components, and one ends
up rewriting the same setup code over and over again.

Pyexperiment fixes this by providing a very simple way to jump start a
short experiment, adding many features of a full-blown framework.

Importing one or several modules from pyexperiment will give you:
- A basic command line interface that allows calling arbitrary
  functions (and passing arguments) from the command prompt, providing
  help text derived from the functions' docstrings (based on the
  standard library's argparse).
- A simple configuration management with an easy way to provide
  default values (based on the excellent configobj library).
- A thread-safe logger with configurable logging levels and rotating
  log files (based on the standard library's logging module).
- Persistent state with platform independent, configurable,
  (optionally rotating) state files that are compatible with many
  other programs (based on h5py).
- A sensible setup for plotting with configurable defaults (based on
  matplotlib).
- Many other bits and pieces that might come in handy...
{'fraction_non_alphanumeric': 0.07668898356664638, 'fraction_numerical': 0.0006086427267194157, 'mean_word_length': 5.031192660550459, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3967003', 'n_tokens_mistral': 823, 'n_tokens_neox': 788, 'n_words': 397}