# Path: pyramids/categorization.py
# CATEGORY_WILDCARD = _CATEGORY_WILDCARD
# 
# Path: pyramids/language.py



import configparser
import os
from typing import Optional, Mapping, Any, FrozenSet, Tuple
from pyramids import categorization
from pyramids.language import Language
                continue
            language_header_name = language_section[9:].strip()
            language_name = config_parser.get(language_section, 'Name',
                                              fallback=language_header_name).strip()
            if not language_name:
                continue
            iso639_1 = config_parser.get(language_section, 'ISO 639-1', fallback=None)
            iso639_2 = config_parser.get(language_section, 'ISO 639-2', fallback=None)
            languages[language_header_name] = Language(language_name, iso639_1, iso639_2)

        # Model
        self._model_name = config_parser.get('Model', 'Name').strip()
        language_section_name = config_parser.get('Model', 'Language', fallback='').strip()
        self._model_language = (languages.get(language_section_name, None)
                                if language_section_name
                                else None)

        # Tokenizer
        self._tokenizer_provider = config_parser.get('Tokenizer', 'Provider').strip()
        self._tokenizer_type = config_parser.get('Tokenizer', 'Tokenizer Type').strip()
        self._discard_spaces = config_parser.getboolean('Tokenizer', 'Discard Spaces')
        language_section_name = config_parser.get('Tokenizer', 'Language', fallback='').strip()
        self._tokenizer_language = (languages.get(language_section_name, None)
                                    if language_section_name
                                    else None)

        # Properties
        self._default_restriction = config_parser.get('Properties', 'Default Restriction',
                                                      fallback='sentence')
        self._top_level_properties = frozenset(

# Path: pyramids/categorization.py
# CATEGORY_WILDCARD = _CATEGORY_WILDCARD
# 
# Path: pyramids/language.py



# Path: pyramids/config.py
import configparser
import os
from typing import Optional, Mapping, Any, FrozenSet, Tuple
from pyramids import categorization
from pyramids.language import Language

                continue
            language_header_name = language_section[9:].strip()
            language_name = config_parser.get(language_section, 'Name',
                                              fallback=language_header_name).strip()
            if not language_name:
                continue
            iso639_1 = config_parser.get(language_section, 'ISO 639-1', fallback=None)
            iso639_2 = config_parser.get(language_section, 'ISO 639-2', fallback=None)
            languages[language_header_name] = Language(language_name, iso639_1, iso639_2)

        # Model
        self._model_name = config_parser.get('Model', 'Name').strip()
        language_section_name = config_parser.get('Model', 'Language', fallback='').strip()
        self._model_language = (languages.get(language_section_name, None)
                                if language_section_name
                                else None)

        # Tokenizer
        self._tokenizer_provider = config_parser.get('Tokenizer', 'Provider').strip()
        self._tokenizer_type = config_parser.get('Tokenizer', 'Tokenizer Type').strip()
        self._discard_spaces = config_parser.getboolean('Tokenizer', 'Discard Spaces')
        language_section_name = config_parser.get('Tokenizer', 'Language', fallback='').strip()
        self._tokenizer_language = (languages.get(language_section_name, None)
                                    if language_section_name
                                    else None)

        # Properties
        self._default_restriction = config_parser.get('Properties', 'Default Restriction',
                                                      fallback='sentence')
        self._top_level_properties = frozenset(

            categorization.Property.get(prop.strip())