<commit_before>import math
import re
import typing

from apistar.exceptions import TypeSystemError

# TODO: Error on unknown attributes
# TODO: allow_blank?
# TODO: input_type (check type at start and allow, coerce, .native)
# TODO: default=empty
# TODO: check 'required' exists in 'properties'
# TODO: smarter ordering
# TODO: extra_properties=False by default
# TODO: Overriding errors
# TODO: Blank booleans as False?


class String(str):
    native_type = str
    errors = {
        'blank': 'Must not be blank.',
        'max_length': 'Must have no more than {max_length} characters.',<commit_msg>Drop comments, in favor of tracking against a GitHub issue.<commit_after>import math
import re
import typing

from apistar.exceptions import TypeSystemError


class String(str):
    native_type = str
    errors = {
        'blank': 'Must not be blank.',
        'max_length': 'Must have no more than {max_length} characters.',
{'fraction_non_alphanumeric': 0.09159482758620689, 'fraction_numerical': 0.0, 'mean_word_length': 4.104395604395604, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '2809274', 'n_tokens_mistral': 269, 'n_tokens_neox': 260, 'n_words': 104}