<commit_before>A practical Roman numerals implementation
======================================================================

   New in version 0.0.2:

   * Fix bug that did not allow numbers greater than MCMXCIX

.. code::

    pip install rome==0.0.2

**rome** is the first industrial-strength Roman numerals
implementation for Python. It features Roman-to-Arabic and
Arabic-to-Roman numerals convertion, as well as normalization of
denormalized Roman numerals using unified object-oriented interface.
It is developed using test-driven development, and features an
extensive test-suite.

.. code:: python

    >>> from rome import Roman

    >>> Roman('IX')
    Roman('IX')

    >>> str(Roman('IX'))
    'IX'

    >>> int(Roman('IX'))  # to Arabic numerals
    9

    >>> Roman('IX') == 9
    True

    >>> Roman('IX') + Roman('XI') == Roman('XX')
    True

    >>> Roman('XXI') - 13 == 8
    True

    >>> Roman(4)  # from Arabic numerals
    Roman('IV')

    >>> Roman(1903)
    Roman('MCMIII')

    >>> Roman('IIII')  # bring to normalized form
    Roman('IV')

    >>> Roman('MDCCCCLXXXXVIIII')
    Roman('MCMXCIX')

    >>> int(Roman('MCMXCIX'))
    1999

    >>> int(Roman('M cM xC iX'))  # spaces and mixed case are
    ...                           # allowed for readability
    1999
<commit_msg>Fix typo<commit_after>A practical Roman numerals implementation
======================================================================

   New in version 0.0.2:

   * Fixed bug that did not allow numbers greater than MCMXCIX

.. code::

    pip install rome==0.0.2

**rome** is the first industrial-strength Roman numerals
implementation for Python. It features Roman-to-Arabic and
Arabic-to-Roman numerals convertion, as well as normalization of
denormalized Roman numerals using unified object-oriented interface.
It is developed using test-driven development, and features an
extensive test-suite.

.. code:: python

    >>> from rome import Roman

    >>> Roman('IX')
    Roman('IX')

    >>> str(Roman('IX'))
    'IX'

    >>> int(Roman('IX'))  # to Arabic numerals
    9

    >>> Roman('IX') == 9
    True

    >>> Roman('IX') + Roman('XI') == Roman('XX')
    True

    >>> Roman('XXI') - 13 == 8
    True

    >>> Roman(4)  # from Arabic numerals
    Roman('IV')

    >>> Roman(1903)
    Roman('MCMIII')

    >>> Roman('IIII')  # bring to normalized form
    Roman('IV')

    >>> Roman('MDCCCCLXXXXVIIII')
    Roman('MCMXCIX')

    >>> int(Roman('MCMXCIX'))
    1999

    >>> int(Roman('M cM xC iX'))  # spaces and mixed case are
    ...                           # allowed for readability
    1999

{'fraction_non_alphanumeric': 0.1858508604206501, 'fraction_numerical': 0.01835564053537285, 'mean_word_length': 2.9161676646706587, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 81, 'https://': 0, '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': '5575323', 'n_tokens_mistral': 850, 'n_tokens_neox': 754, 'n_words': 239}