<commit_before>ShellShock
==========

A collection of shell utilities/helpers for Python.

shellshock.tee
--------------

    import shellshock.tee

    tee = shellshock.tee.Tee(files=['test.log', 'test.log.1'],
            append=True)
    print >> tee, "My Message"

    tee.add_file('test.log.2')
    print >> tee, "My Message 2"

    tee.close()

The purpose of **Tee** is to allow the unix 'tee' utility to be
easily emulated within Python. It creates a file-like object that
allows the user to write to it, and that data will be written to
all files associated files, as well as (optionally) stderr and/or
stdout.

Author
------

<NAME> <<EMAIL>>

License
-------

BSD 3-clause license. See LICENSE file for terms.<commit_msg>Fix typo<commit_after>ShellShock
==========

A collection of shell utilities/helpers for Python.

shellshock.tee
--------------

    import shellshock.tee

    tee = shellshock.tee.Tee(files=['test.log', 'test.log.1'],
            append=True)
    print >> tee, "My Message"

    tee.add_file('test.log.2')
    print >> tee, "My Message 2"

    tee.close()

The purpose of **Tee** is to allow the unix 'tee' utility to be
easily emulated within Python. It creates a file-like object that
allows the user to write to it, and that data will be written to
all associated files, as well as (optionally) stderr and/or
stdout.

Author
------

<NAME> <<EMAIL>>

License
-------

BSD 3-clause license. See LICENSE file for terms.
{'fraction_non_alphanumeric': 0.1445285615966965, 'fraction_numerical': 0.0055058499655884375, 'mean_word_length': 2.8981233243967828, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 17, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, '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': '3121637', 'n_tokens_mistral': 481, 'n_tokens_neox': 444, 'n_words': 171}