<commit_before>
About
================================================================================

**Summary:** define the metadata of your project in a single place, 
then make it available at setup-time and at runtime.

Let's consider the `about` package as an example ; we add to our project
files, in the source tree, a file named `about.py` that contains the metadata 
of the project:


    about
    |--- setup.py
    |--- README.md
    |...
    |--- about
    |    |--- __init__.py
    |    |...
    |    |--- about.py

This file contains the metadata (and a little boilerplate):

    # coding: utf-8

    metadata = dict(
      __name__        = "about",
      __version__     = "5.0.0-alpha",
      __license__     = "MIT License",  
      __author__      = u"<NAME> <<EMAIL>>",
      __url__         = "https://warehouse.python.org/project/about",
      __summary__     = "Software Metadata for Humans",
      __keywords__    = "Python / 2.7, OS independent, software development, alpha",
    )

    globals().update(metadata)
    __all__ = metadata.keys()

**Setup.** To use this metadata, the `setup.py` file includes the code:

    import about
    import about.about

    info = about.get_metadata(about.about)

    # add extra information (contents, requirements, etc.).
    info.update(...)

    if __name__ == "__main__":
        setuptools.setup(**info)

**Runtime.** The metadata is stored as a collection of attributes of the 
`about.about` module. If we include in the `about/__init__.py` file the 
one-liner
    
    from .about import *

they become available in the top-level module:

    >>> import about
    >>> print about.__name__
    about
    >>> print about.__version__
    4.0.0
    >>> print about.__license__
    MIT License

<commit_msg>synced version info<commit_after>
About
================================================================================

**Summary:** define the metadata of your project in a single place, 
then make it available at setup-time and at runtime.

Let's consider the `about` package as an example ; we add to our project
files, in the source tree, a file named `about.py` that contains the metadata 
of the project:


    about
    |--- setup.py
    |--- README.md
    |...
    |--- about
    |    |--- __init__.py
    |    |...
    |    |--- about.py

This file contains the metadata (and a little boilerplate):

    # coding: utf-8

    metadata = dict(
      __name__        = "about",
      __version__     = "5.0.0-alpha.2",
      __license__     = "MIT License",  
      __author__      = u"<NAME> <<EMAIL>>",
      __url__         = "https://warehouse.python.org/project/about",
      __summary__     = "Software Metadata for Humans",
      __keywords__    = "Python / 2.7, OS independent, software development, alpha",
    )

    globals().update(metadata)
    __all__ = metadata.keys()

**Setup.** To use this metadata, the `setup.py` file includes the code:

    import about
    import about.about

    info = about.get_metadata(about.about)

    # add extra information (contents, requirements, etc.).
    info.update(...)

    if __name__ == "__main__":
        setuptools.setup(**info)

**Runtime.** The metadata is stored as a collection of attributes of the 
`about.about` module. If we include in the `about/__init__.py` file the 
one-liner
    
    from .about import *

they become available in the top-level module:

    >>> import about
    >>> print about.__name__
    about
    >>> print about.__version__
    5.0.0-alpha.2
    >>> print about.__license__
    MIT License


{'fraction_non_alphanumeric': 0.15602240896358543, 'fraction_numerical': 0.0056022408963585435, 'mean_word_length': 2.5497017892644136, 'pattern_counts': {'":': 2, '<': 9, '<?xml version=': 0, '>': 33, 'https://': 2, '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': '6357433', 'n_tokens_mistral': 1054, 'n_tokens_neox': 1008, 'n_words': 344}