<commit_before>#!/usr/bin/env python

# Support setuptools only, distutils has a divergent and more annoying API and
# few folks will lack setuptools.
from setuptools import setup, find_packages
import sys

# Version info -- read without importing
_locals = {}
with open("invoke/_version.py") as fp:
    exec(fp.read(), None, _locals)
version = _locals["__version__"]

# PyYAML ships a split Python 2/3 codebase. Unfortunately, some pip versions
# attempt to interpret both halves of PyYAML, yielding SyntaxErrors. Thus, we
# exclude whichever appears inappropriate for the installing interpreter.
exclude = ["*.yaml3" if sys.version_info[0] == 2 else "*.yaml2"]

# Frankenstein long_description
long_description = """
{}

For a high level introduction, including example code, please see `our main
project website <https://pyinvoke.org>`_; or for detailed API docs, see `the
versioned API website <https://docs.pyinvoke.org>`_.
""".format(
    version, open("README.rst").read()
)


setup(
    name="invoke",
    version=version,
    description="Pythonic task execution",
    license="BSD",
    long_description=long_description,
    author="<NAME>",
    author_email="<EMAIL>",
    url="https://pyinvoke.org",
    project_urls={
        "Docs": "https://docs.pyinvoke.org",
        "Source": "https://github.com/pyinvoke/invoke",
        "Issues": "https://github.com/pyinvoke/invoke/issues",
        "Changelog": "https://www.pyinvoke.org/changelog.html",
        "CI": "https://app.circleci.com/pipelines/github/pyinvoke/invoke",
    },
    packages=find_packages(exclude=exclude),
    include_package_data=True,
    entry_points={
        "console_scripts": [<commit_msg>Fix overlooked pseudobug in long_description formatstr<commit_after>#!/usr/bin/env python

# Support setuptools only, distutils has a divergent and more annoying API and
# few folks will lack setuptools.
from setuptools import setup, find_packages
import sys

# Version info -- read without importing
_locals = {}
with open("invoke/_version.py") as fp:
    exec(fp.read(), None, _locals)
version = _locals["__version__"]

# PyYAML ships a split Python 2/3 codebase. Unfortunately, some pip versions
# attempt to interpret both halves of PyYAML, yielding SyntaxErrors. Thus, we
# exclude whichever appears inappropriate for the installing interpreter.
exclude = ["*.yaml3" if sys.version_info[0] == 2 else "*.yaml2"]

# Frankenstein long_description
long_description = """
{}

For a high level introduction, including example code, please see `our main
project website <https://pyinvoke.org>`_; or for detailed API docs, see `the
versioned API website <https://docs.pyinvoke.org>`_.
""".format(open("README.rst").read())


setup(
    name="invoke",
    version=version,
    description="Pythonic task execution",
    license="BSD",
    long_description=long_description,
    author="<NAME>",
    author_email="<EMAIL>",
    url="https://pyinvoke.org",
    project_urls={
        "Docs": "https://docs.pyinvoke.org",
        "Source": "https://github.com/pyinvoke/invoke",
        "Issues": "https://github.com/pyinvoke/invoke/issues",
        "Changelog": "https://www.pyinvoke.org/changelog.html",
        "CI": "https://app.circleci.com/pipelines/github/pyinvoke/invoke",
    },
    packages=find_packages(exclude=exclude),
    include_package_data=True,
    entry_points={
        "console_scripts": [
{'fraction_non_alphanumeric': 0.1334319526627219, 'fraction_numerical': 0.0035502958579881655, 'mean_word_length': 4.1618320610687025, 'pattern_counts': {'":': 12, '<': 11, '<?xml version=': 0, '>': 11, 'https://': 16, 'lorem ipsum': 0, 'www.': 2, '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': '579081', 'n_tokens_mistral': 1048, 'n_tokens_neox': 995, 'n_words': 275}