<commit_before>import itertools
import re
import string
from collections import OrderedDict

import six
from . import Font, Fill, Format, Style
from six.moves import reduce

#
# Kevin and Kevin's fair warning: this class has been insanely optimized for speed. It is intended
# to be immutable. Please don't modify attributes after instantiation. :)
#

# generate the list of columns name from "A" to "ZZZ" => mapping such that COORD2COLUMN[1] => "A"
COORD2COLUMN = (
    # remove duplicates in collection by taking list(dict.fromkeys( collection ))
    list(
        OrderedDict.fromkeys(
            # joind the items together so that ["","","A"] => "A", ["","R","Z"] => "RZ", ...
            map(
                "".join,
                # build iterator with all combination of 3 items in the list ["", "A", "B", ..., "Z"]
                itertools.product([""] + list(string.ascii_uppercase), repeat=3),
            )
        )
    )
)
# reverse the previous mapping COORD2COLUMN to go from "A" to 1
COLUMN2COORD = {col: i for i, col in enumerate(COORD2COLUMN)}
# regexp that splits an excel reference (e.g. "B23") into row/col
RE_COLUMN_ROW = re.compile("([A-Z]+)(\d*)")


class Range(object):
    A = ord("A")
    Z = ord("Z")
    __slots__ = (<commit_msg>Remove unused Range.A and Range.Z<commit_after>import itertools
import re
import string
from collections import OrderedDict

import six
from . import Font, Fill, Format, Style
from six.moves import reduce

#
# Kevin and Kevin's fair warning: this class has been insanely optimized for speed. It is intended
# to be immutable. Please don't modify attributes after instantiation. :)
#

# generate the list of columns name from "A" to "ZZZ" => mapping such that COORD2COLUMN[1] => "A"
COORD2COLUMN = (
    # remove duplicates in collection by taking list(dict.fromkeys( collection ))
    list(
        OrderedDict.fromkeys(
            # joind the items together so that ["","","A"] => "A", ["","R","Z"] => "RZ", ...
            map(
                "".join,
                # build iterator with all combination of 3 items in the list ["", "A", "B", ..., "Z"]
                itertools.product([""] + list(string.ascii_uppercase), repeat=3),
            )
        )
    )
)
# reverse the previous mapping COORD2COLUMN to go from "A" to 1
COLUMN2COORD = {col: i for i, col in enumerate(COORD2COLUMN)}
# regexp that splits an excel reference (e.g. "B23") into row/col
RE_COLUMN_ROW = re.compile("([A-Z]+)(\d*)")


class Range(object):
    __slots__ = (
{'fraction_non_alphanumeric': 0.1306772908366534, 'fraction_numerical': 0.008764940239043825, 'mean_word_length': 2.9295774647887325, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 11, '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': '5792760', 'n_tokens_mistral': 795, 'n_tokens_neox': 775, 'n_words': 280}