<commit_before>import json
from enum import Enum
from collections import defaultdict

import yaml

from .mixins import ProfileMixin
from .mixins import HookMixin
from .mixins import MetadataMixin
from .site_catalog import Arch
from .site_catalog import OSType
from .writable import _filter_out_nones
from .writable import Writable
from .errors import DuplicateError
from .errors import NotFoundError

PEGASUS_VERSION = "5.0"

__all__ = [
    "TransformationType",
    "ContainerType",
    "Transformation",
    "TransformationCatalog",
]


class TransformationType(Enum):
    """Specifies the type of the transformation. **STAGEABLE** denotes that it can
    be staged from one site to another. **INSTALLED** denotes that the transformation is
    installed on a specified machine, and that it cannot be staged and executed on
    other sites. 
    """

    STAGEABLE = "stageable"
    INSTALLED = "installed"


class _TransformationSite(ProfileMixin, MetadataMixin):
    """Site specific information about a :py:class:`~Pegasus.dax4.transformation_catalog.Transformation`. 
    A :py:class:`~Pegasus.dax4.transformation_catalog.Transformation` must contain at least one
    _TransformationSite. 
    """

    def __init__(<commit_msg>docstring fixes<commit_after>import json
from enum import Enum
from collections import defaultdict

import yaml

from .mixins import ProfileMixin
from .mixins import HookMixin
from .mixins import MetadataMixin
from .site_catalog import Arch
from .site_catalog import OSType
from .writable import _filter_out_nones
from .writable import Writable
from .errors import DuplicateError
from .errors import NotFoundError

PEGASUS_VERSION = "5.0"

__all__ = [
    "TransformationType",
    "ContainerType",
    "Transformation",
    "TransformationCatalog",
]


class TransformationType(Enum):
    """Specifies the type of the transformation
    """

    #: **STAGEABLE** denotes that it can be staged from one site to another
    STAGEABLE = "stageable"

    #: **INSTALLED** denotes that the transformation is installed on a specified
    #: machine, and that it cannot be staged and executed on other sites
    INSTALLED = "installed"


class _TransformationSite(ProfileMixin, MetadataMixin):
    """Site specific information about a :py:class:`~Pegasus.dax4.transformation_catalog.Transformation`. 
    A :py:class:`~Pegasus.dax4.transformation_catalog.Transformation` must contain at least one
    _TransformationSite. 
    """

    def __init__(
{'fraction_non_alphanumeric': 0.07304277643260694, 'fraction_numerical': 0.003228410008071025, 'mean_word_length': 4.484513274336283, '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': '413906', 'n_tokens_mistral': 721, 'n_tokens_neox': 686, 'n_words': 242}