<commit_before>=========================================
glarg: a pseudo-word passphrase generator
=========================================


History
=======

The ``glarg`` module let's you generate random, pronounceable pseudo-words. It
started life as `StackOverflow answer`_ about password generators. It was then
forked from `greghaskins/gibberish`_, after being abandoned for over 4 years.

.. _`StackOverflow answer`: http://stackoverflow.com/a/5502875/356942
.. _`greghaskins/gibberish`: https://github.com/greghaskins/gibberish


Objectives
==========

1. **Security**: A reasonably high amount of entropy so that guessing is
   difficult *even when the generation formula is known*
2. **Convenience**:

   A. **Easy to remember**: subjectively easier for English speakers
   B. **Easy to input**: letters and non-letters are grouped to minimize
      keyboard switching on mobile devices


Usage
=====

``glarg`` creates pseudo-words which consist of one consonant-vowel-consonant
syllable that sounds like it could be English. Sometimes it spits out real
words. Most of the time, it does not::

  >>> import glarg
  >>> glarg.generate_word()
  'zept'
  >>> glarg.generate_word()
  'prast'
  >>> glarg.generate_words(3)
  ['yink', 'glunt', 'skim', 'jask']

It also works as a console script::

  ~$ glarg 6
  Noonk.7038.swab.noold.swousp.kusk.suk
  ~$ glarg
  Dek.1832.led.swuip


Testing Quick Start
===================

1. Change directory into repository (into same directory as where this README
   resides).
2. Install virtual environment (assuming Python 2 is default)::

    mkvirtualenv -a . -r tests/requirements.txt glarg_test2

   a. If installing requirements errors, update `pip`::

        pip install --upgrade pip

   b. Install requirements::

        pip install -r tests/requirements.txt

3. Run pytest::

    py.test

To test against alternate Python versions, it may be useful to create virtual
environments with an interpreter other than the one with which ``virtualenv``
was installed, e.g. for non-default python3::

    PYTHONPATH='' mkvirtualenv -a . -p '/usr/bin/env python3'
        -r tests/requirements.txt glarg_test3


License
=======

- `LICENSE.txt`_ (Expat License/`MIT License`_)

.. _`LICENSE.txt`:
   https://github.com/TimZehta/glarg/blob/master/LICENSE.txt
.. _`MIT License`: http://www.opensource.org/licenses/MIT
<commit_msg>Updated Objectives and reorganized sections<commit_after>=========================================
glarg: a pseudo-word passphrase generator
=========================================


Objectives
==========

1. **Convenience**:

   A. **Easy to remember**: subjectively easier for English speakers than
      alternatives
   B. **Easy to input**: letters and non-letters are grouped to minimize
      keyboard switching on mobile devices

2. **Security**: A reasonably high amount of entropy so that guessing is
   difficult *even when the generation formula is known*
3. **Compatibility**: the formula meets the majority of sites' complexity
   requirements


Usage
=====

``glarg`` creates pseudo-words which consist of one consonant-vowel-consonant
syllable that sounds like it could be English. Sometimes it spits out real
words. Most of the time, it does not::

  >>> import glarg
  >>> glarg.generate_word()
  'zept'
  >>> glarg.generate_word()
  'prast'
  >>> glarg.generate_words(3)
  ['yink', 'glunt', 'skim', 'jask']

It also works as a console script::

  ~$ glarg 6
  Noonk.7038.swab.noold.swousp.kusk.suk
  ~$ glarg
  Dek.1832.led.swuip


History
=======

The ``glarg`` module let's you generate random, pronounceable pseudo-words. It
started life as `StackOverflow answer`_ about password generators. It was then
forked from `greghaskins/gibberish`_, after being abandoned for over 4 years.

.. _`StackOverflow answer`: http://stackoverflow.com/a/5502875/356942
.. _`greghaskins/gibberish`: https://github.com/greghaskins/gibberish


Testing Quick Start
===================

1. Change directory into repository (into same directory as where this README
   resides).
2. Install virtual environment (assuming Python 2 is default)::

    mkvirtualenv -a . -r tests/requirements.txt glarg_test2

   a. If installing requirements errors, update `pip`::

        pip install --upgrade pip

   b. Install requirements::

        pip install -r tests/requirements.txt

3. Run pytest::

    py.test

To test against alternate Python versions, it may be useful to create virtual
environments with an interpreter other than the one with which ``virtualenv``
was installed, e.g. for non-default python3::

    PYTHONPATH='' mkvirtualenv -a . -p '/usr/bin/env python3'
        -r tests/requirements.txt glarg_test3


License
=======

- `LICENSE.txt`_ (Expat License/`MIT License`_)

.. _`LICENSE.txt`:
   https://github.com/TimZehta/glarg/blob/master/LICENSE.txt
.. _`MIT License`: http://www.opensource.org/licenses/MIT

{'fraction_non_alphanumeric': 0.14880587875076545, 'fraction_numerical': 0.014084507042253521, 'mean_word_length': 4.005107252298264, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 27, 'https://': 4, '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': '1108286', 'n_tokens_mistral': 1540, 'n_tokens_neox': 1424, 'n_words': 507}