<commit_before># -*- coding: utf-8 -*-
"""
=============================================================================
Base classes for structure data (:mod:`sknano.io._base`)
=============================================================================

.. currentmodule:: sknano.io._base

"""
from __future__ import absolute_import, division, print_function
from __future__ import unicode_literals
__docformat__ = 'restructuredtext en'

from abc import ABCMeta, abstractmethod

from sknano.core import get_fpath
from sknano.core.atoms import StructureAtom as Atom, StructureAtoms as Atoms
# from sknano.utils.analysis import StructureAnalyzer
from sknano.version import short_version as version

default_comment_line = \
    'Structure data generated using scikit-nano version {}'.format(version)
default_structure_format = 'xyz'
supported_structure_formats = ('xyz', 'data', 'dump')

__all__ = ['Atom', 'Atoms',
           'StructureData',
           'StructureIO',
           'StructureReader',
           'StructureWriter',
           'StructureConverter',
           'StructureIOError',
           'StructureFormatSpec',
           'default_comment_line',
           'default_structure_format',
           'supported_structure_formats']


class StructureData:
    """Container class for structure data."""
    def __init__(self):
        self._atoms = Atoms()
        super().__init__()

    @property
    def atoms(self):
        return self._atoms

    def __getattr__(self, name):<commit_msg>updating version string appearing in comment line<commit_after># -*- coding: utf-8 -*-
"""
=============================================================================
Base classes for structure data (:mod:`sknano.io._base`)
=============================================================================

.. currentmodule:: sknano.io._base

"""
from __future__ import absolute_import, division, print_function
from __future__ import unicode_literals
__docformat__ = 'restructuredtext en'

from abc import ABCMeta, abstractmethod

from sknano.core import get_fpath
from sknano.core.atoms import StructureAtom as Atom, StructureAtoms as Atoms
# from sknano.utils.analysis import StructureAnalyzer
from sknano.version import release, full_version, git_revision

version = full_version
if not release:
    version = '-'.join((full_version, git_revision[:7]))

default_comment_line = \
    'Structure data generated using scikit-nano version {}'.format(version)
default_structure_format = 'xyz'
supported_structure_formats = ('xyz', 'data', 'dump')

__all__ = ['Atom', 'Atoms',
           'StructureData',
           'StructureIO',
           'StructureReader',
           'StructureWriter',
           'StructureConverter',
           'StructureIOError',
           'StructureFormatSpec',
           'default_comment_line',
           'default_structure_format',
           'supported_structure_formats']


class StructureData:
    """Container class for structure data."""
    def __init__(self):
        self._atoms = Atoms()
        super().__init__()

    @property
    def atoms(self):
        return self._atoms

    def __getattr__(self, name):
{'fraction_non_alphanumeric': 0.19015873015873017, 'fraction_numerical': 0.0009523809523809524, 'mean_word_length': 3.970031545741325, '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': '6136157', 'n_tokens_mistral': 844, 'n_tokens_neox': 813, 'n_words': 211}