<commit_before>"""Setuptools entry point."""
import codecs
from os.path import abspath, dirname, join

from setuptools import setup

import halogen

long_description = []

for text_file in ['README.rst', 'CHANGES.rst']:
    with codecs.open(join(dirname(abspath(__file__)), text_file), encoding='utf-8') as f:
        long_description.append(f.read())

setup(
    name="halogen",
    description="Python HAL generation/parsing library",
    long_description='\n'.join(long_description),
    author="Oleg Pidsadnyi, Paylogic International and others",
    license="MIT license",
    author_email="developers@paylogic.com",
    url="https://github.com/paylogic/halogen",
    version=halogen.__version__,
    classifiers=[
        "Development Status :: 6 - Mature",
        "Intended Audience :: Developers",
        "License :: OSI Approved :: MIT License",
        "Operating System :: POSIX",
        "Operating System :: Microsoft :: Windows",
        "Operating System :: MacOS :: MacOS X",
        "Topic :: Software Development :: Testing",
        "Topic :: Software Development :: Libraries",
        "Topic :: Utilities",
        "Programming Language :: Python :: 2",
        "Programming Language :: Python :: 2.7",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3.4",
        "Programming Language :: Python :: 3.5",
        "Programming Language :: Python :: 3.6",
        "Programming Language :: Python :: 3.7",
        "Programming Language :: Python :: 3.8",
    ],
    packages=["halogen", "halogen.vnd"],
    install_requires=[
        "cached-property",
        "isodate",
        "python-dateutil",
        "pytz",
        "six",
    ],
    tests_require=["tox"],
    python_requires=">2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*",
)
<commit_msg>python 2.7 is still supported<commit_after>"""Setuptools entry point."""
import codecs
from os.path import abspath, dirname, join

from setuptools import setup

import halogen

long_description = []

for text_file in ['README.rst', 'CHANGES.rst']:
    with codecs.open(join(dirname(abspath(__file__)), text_file), encoding='utf-8') as f:
        long_description.append(f.read())

setup(
    name="halogen",
    description="Python HAL generation/parsing library",
    long_description='\n'.join(long_description),
    author="Oleg Pidsadnyi, Paylogic International and others",
    license="MIT license",
    author_email="developers@paylogic.com",
    url="https://github.com/paylogic/halogen",
    version=halogen.__version__,
    classifiers=[
        "Development Status :: 6 - Mature",
        "Intended Audience :: Developers",
        "License :: OSI Approved :: MIT License",
        "Operating System :: POSIX",
        "Operating System :: Microsoft :: Windows",
        "Operating System :: MacOS :: MacOS X",
        "Topic :: Software Development :: Testing",
        "Topic :: Software Development :: Libraries",
        "Topic :: Utilities",
        "Programming Language :: Python :: 2",
        "Programming Language :: Python :: 2.7",
        "Programming Language :: Python :: 3",
        "Programming Language :: Python :: 3.4",
        "Programming Language :: Python :: 3.5",
        "Programming Language :: Python :: 3.6",
        "Programming Language :: Python :: 3.7",
        "Programming Language :: Python :: 3.8",
    ],
    packages=["halogen", "halogen.vnd"],
    install_requires=[
        "cached-property",
        "isodate",
        "python-dateutil",
        "pytz",
        "six",
    ],
    tests_require=["tox"],
    python_requires=">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*",
)
<|endoftext|>


<commit_before># -*- coding: utf-8 -*-
import sys
import os
from distutils.core import setup
from setuptools import find_packages

#########
# settings
#########

project_var_name = "mlstatpy"
versionPython = "%s.%s" % (sys.version_info.major, sys.version_info.minor)
path = "Lib/site-packages/" + project_var_name
readme = 'README.rst'
history = 'HISTORY.rst'
requirements = None

KEYWORDS = project_var_name + ', Xavier Dupré'
DESCRIPTION = """Lectures about machine learning, mathematics, statistics, programming."""
CLASSIFIERS = [
    'Programming Language :: Python :: 3',
    'Intended Audience :: Developers',
    'Topic :: Scientific/Engineering',
    'Topic :: Education',
    'License :: OSI Approved :: MIT License',
    'Development Status :: 5 - Production/Stable'
]

#######
# data
#######

packages = find_packages('src', exclude='src')
package_dir = {k: "src/" + k.replace(".", "/") for k in packages}
package_data = {}

############
# functions
############

def ask_help():
    return "--help" in sys.argv or "--help-commands" in sys.argv

def is_local():
    file = os.path.abspath(__file__).replace("\\", "/").lower()
    if "/temp/" in file and "pip-" in file:
        return False
    from pyquickhelper.pycode.setup_helper import available_commands_list
    return available_commands_list(sys.argv)

def verbose():
    print("---------------------------------")
    print("package_dir =", package_dir)
    print("packages    =", packages)
    print("package_data=", package_data)
    print("current     =", os.path.abspath(os.getcwd()))
    print("---------------------------------")

##########
# version
##########

if is_local() and not ask_help():
    def write_version():
        from pyquickhelper.pycode import write_version_for_setup
        return write_version_for_setup(__file__)

    write_version()

    versiontxt = os.path.join(os.path.dirname(__file__), "version.txt")
    if os.path.exists(versiontxt):
        with open(versiontxt, "r") as f:
            lines = f.readlines()
        subversion = "." + lines[0].strip("\r\n ")
        if subversion == ".0":
            raise Exception("Subversion is wrong: '{0}'.".format(subversion))
    else:
        raise FileNotFoundError(versiontxt)
else:
    # when the module is installed, no commit number is displayed
    subversion = ""

if "upload" in sys.argv and not subversion and not ask_help():
    # avoid uploading with a wrong subversion number
    raise Exception(
        "Git version is empty, cannot upload, is_local()={0}".format(is_local()))

##############
# common part
##############

if os.path.exists(readme):
    with open(readme, "r", encoding='utf-8-sig') as f:
        long_description = f.read()
else:
    long_description = ""
if os.path.exists(history):
    with open(history, "r", encoding='utf-8-sig') as f:
        long_description += f.read()

if "--verbose" in sys.argv:
    verbose()

if is_local():
    import pyquickhelper
    logging_function = pyquickhelper.get_fLOG()
    logging_function(OutputPrint=True)
    from pyquickhelper.pycode import process_standard_options_for_setup
    r = process_standard_options_for_setup(
        sys.argv, __file__, project_var_name,
        unittest_modules=["pyquickhelper", "jyquickhelper", "mlinsights"],
        additional_notebook_path=["pyquickhelper", "pyensae", "cpyquickhelper",
                                  "pymyinstall", "jyquickhelper", "mlinsights"],
        additional_local_path=["pyquickhelper", "pyensae", "cpyquickhelper",
                               "pymyinstall", "jyquickhelper", "mlinsights"],
        requirements=["pyquickhelper", "pymyinstall", "cpyquickhelper",
                      "jyquickhelper", "pyensae", "mlinsights"],
        add_htmlhelp=sys.platform.startswith("win"),
        coverage_options=dict(omit=["*exclude*.py"]),
        github_owner="sdpython",
        fLOG=logging_function, covtoken=("ab2da06c-1ff3-4875-97fa-145e594bd7f9", "'_UT_37_std' in outfile"))
    if not r and not ({"bdist_msi", "sdist",
                       "bdist_wheel", "publish", "publish_doc", "register",
                       "upload_docs", "bdist_wininst", "build_ext"} & set(sys.argv)):
        raise Exception("unable to interpret command line: " + str(sys.argv))
else:
    r = False

if ask_help():
    from pyquickhelper.pycode import process_standard_options_for_setup_help
    process_standard_options_for_setup_help(sys.argv)

if not r:
    if len(sys.argv) in (1, 2) and sys.argv[-1] in ("--help-commands",):
        from pyquickhelper.pycode import process_standard_options_for_setup_help
        process_standard_options_for_setup_help(sys.argv)
    from pyquickhelper.pycode import clean_readme
    from mlstatpy import __version__ as sversion
    long_description = clean_readme(long_description)

    setup(
        name=project_var_name,
        version='%s%s' % (sversion, subversion),
        author='Xavier Dupré',
        author_email='xavier.dupre@gmail.com',
        license="MIT",
        url="http://www.xavierdupre.fr/app/mlstatpy/helpsphinx/index.html",
        download_url="https://github.com/sdpython/mlstatpy/",
        description=DESCRIPTION,
        long_description=long_description,
        keywords=KEYWORDS,
        classifiers=CLASSIFIERS,
        packages=packages,
        package_dir=package_dir,
        package_data=package_data,
        setup_requires=["pyquickhelper"],
        install_requires=['numpy>=1.16',
                          'mlinsights>=0.2', 'cpyquickhelper>=0.2'],
    )
<commit_msg>Update setup.py<commit_after># -*- coding: utf-8 -*-
import sys
import os
from distutils.core import setup
from setuptools import find_packages

#########
# settings
#########

project_var_name = "mlstatpy"
versionPython = "%s.%s" % (sys.version_info.major, sys.version_info.minor)
path = "Lib/site-packages/" + project_var_name
readme = 'README.rst'
history = 'HISTORY.rst'
requirements = None

KEYWORDS = project_var_name + ', Xavier Dupré'
DESCRIPTION = """Lectures about machine learning, mathematics, statistics, programming."""
CLASSIFIERS = [
    'Programming Language :: Python :: 3',
    'Intended Audience :: Developers',
    'Topic :: Scientific/Engineering',
    'Topic :: Education',
    'License :: OSI Approved :: MIT License',
    'Development Status :: 5 - Production/Stable'
]

#######
# data
#######

packages = find_packages('src', exclude='src')
package_dir = {k: "src/" + k.replace(".", "/") for k in packages}
package_data = {}

############
# functions
############

def ask_help():
    return "--help" in sys.argv or "--help-commands" in sys.argv

def is_local():
    file = os.path.abspath(__file__).replace("\\", "/").lower()
    try:
        from pyquickhelper.pycode.setup_helper import available_commands_list
    except ImportError:
        return False
    return available_commands_list(sys.argv)

def verbose():
    print("---------------------------------")
    print("package_dir =", package_dir)
    print("packages    =", packages)
    print("package_data=", package_data)
    print("current     =", os.path.abspath(os.getcwd()))
    print("---------------------------------")

##########
# version
##########

if is_local() and not ask_help():
    def write_version():
        from pyquickhelper.pycode import write_version_for_setup
        return write_version_for_setup(__file__)

    write_version()

    versiontxt = os.path.join(os.path.dirname(__file__), "version.txt")
    if os.path.exists(versiontxt):
        with open(versiontxt, "r") as f:
            lines = f.readlines()
        subversion = "." + lines[0].strip("\r\n ")
        if subversion == ".0":
            raise Exception("Subversion is wrong: '{0}'.".format(subversion))
    else:
        raise FileNotFoundError(versiontxt)
else:
    # when the module is installed, no commit number is displayed
    subversion = ""

if "upload" in sys.argv and not subversion and not ask_help():
    # avoid uploading with a wrong subversion number
    raise Exception(
        "Git version is empty, cannot upload, is_local()={0}".format(is_local()))

##############
# common part
##############

if os.path.exists(readme):
    with open(readme, "r", encoding='utf-8-sig') as f:
        long_description = f.read()
else:
    long_description = ""
if os.path.exists(history):
    with open(history, "r", encoding='utf-8-sig') as f:
        long_description += f.read()

if "--verbose" in sys.argv:
    verbose()

if is_local():
    import pyquickhelper
    logging_function = pyquickhelper.get_fLOG()
    logging_function(OutputPrint=True)
    from pyquickhelper.pycode import process_standard_options_for_setup
    r = process_standard_options_for_setup(
        sys.argv, __file__, project_var_name,
        unittest_modules=["pyquickhelper", "jyquickhelper", "mlinsights"],
        additional_notebook_path=["pyquickhelper", "pyensae", "cpyquickhelper",
                                  "pymyinstall", "jyquickhelper", "mlinsights"],
        additional_local_path=["pyquickhelper", "pyensae", "cpyquickhelper",
                               "pymyinstall", "jyquickhelper", "mlinsights"],
        requirements=["pyquickhelper", "pymyinstall", "cpyquickhelper",
                      "jyquickhelper", "pyensae", "mlinsights"],
        add_htmlhelp=sys.platform.startswith("win"),
        coverage_options=dict(omit=["*exclude*.py"]),
        github_owner="sdpython",
        fLOG=logging_function, covtoken=("ab2da06c-1ff3-4875-97fa-145e594bd7f9", "'_UT_37_std' in outfile"))
    if not r and not ({"bdist_msi", "sdist",
                       "bdist_wheel", "publish", "publish_doc", "register",
                       "upload_docs", "bdist_wininst", "build_ext"} & set(sys.argv)):
        raise Exception("unable to interpret command line: " + str(sys.argv))
else:
    r = False

if ask_help():
    from pyquickhelper.pycode import process_standard_options_for_setup_help
    process_standard_options_for_setup_help(sys.argv)

if not r:
    if len(sys.argv) in (1, 2) and sys.argv[-1] in ("--help-commands",):
        from pyquickhelper.pycode import process_standard_options_for_setup_help
        process_standard_options_for_setup_help(sys.argv)
    from pyquickhelper.pycode import clean_readme
    from mlstatpy import __version__ as sversion
    long_description = clean_readme(long_description)

    setup(
        name=project_var_name,
        version='%s%s' % (sversion, subversion),
        author='Xavier Dupré',
        author_email='xavier.dupre@gmail.com',
        license="MIT",
        url="http://www.xavierdupre.fr/app/mlstatpy/helpsphinx/index.html",
        download_url="https://github.com/sdpython/mlstatpy/",
        description=DESCRIPTION,
        long_description=long_description,
        keywords=KEYWORDS,
        classifiers=CLASSIFIERS,
        packages=packages,
        package_dir=package_dir,
        package_data=package_data,
        setup_requires=["pyquickhelper"],
        install_requires=['numpy>=1.16',
                          'mlinsights>=0.2', 'cpyquickhelper>=0.2'],
    )
<|endoftext|>


<commit_before>from distutils.core import setup

setup(
    name='bibcleaner',
    version='0.0.9',
    description='Poor man\'s bibtex cleaner and normalizer',
    url='https://github.com/sirrice/bibcleaner',
    author='Eugene wu',
    author_email='ewu@cs.columbia.edu',
    packages=['bibcleaner'],
    include_package_data=True,
    package_data={
      'bibcleaner':['static/*', 'templates/*']
    },
    scripts=['bin/bibcleaner'],
    keywords=['bibtex', 'tex', 'cleaning'],
    classifiers=[
        'Development Status :: 4 - Beta',
        'Intended Audience :: Developers',
        'Intended Audience :: Science/Research',
        'License :: OSI Approved :: MIT License',
        'Programming Language :: Python',
        'Programming Language :: Python :: 3',
        'Topic :: Database',
        'Topic :: Text Processing',
    ],
    long_description='see http://github.com/sirrice/bibcleaner',
    install_requires = [ 'click', 'sqlalchemy', 'Flask', 'biblib' ],
    dependency_links=['https://github.com/sirrice/biblib/archive/master.zip']
)
<commit_msg>bump version<commit_after>from distutils.core import setup

setup(
    name='bibcleaner',
    version='0.0.10',
    description='Poor person\'s bibtex cleaner and normalizer',
    url='https://github.com/sirrice/bibcleaner',
    author='Eugene wu',
    author_email='ewu@cs.columbia.edu',
    packages=['bibcleaner'],
    include_package_data=True,
    package_data={
      'bibcleaner':['static/*', 'templates/*']
    },
    scripts=['bin/bibcleaner'],
    keywords=['bibtex', 'tex', 'cleaning'],
    classifiers=[
        'Development Status :: 4 - Beta',
        'Intended Audience :: Developers',
        'Intended Audience :: Science/Research',
        'License :: OSI Approved :: MIT License',
        'Programming Language :: Python',
        'Programming Language :: Python :: 3',
        'Topic :: Database',
        'Topic :: Text Processing',
    ],
    long_description='see http://github.com/sirrice/bibcleaner',
    install_requires = [ 'click', 'sqlalchemy', 'Flask', 'biblib' ],
    dependency_links=['https://github.com/sirrice/biblib/archive/master.zip']
)
<|endoftext|>


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

import sys
import os

from setuptools import setup, find_packages, __version__

v = sys.version_info
if sys.version_info < (3, 5):
    msg = "FAIL: Requires Python 3.5 or later, " \
          "but setup.py was run using {}.{}.{}"
    v = sys.version_info
    print(msg.format(v.major, v.minor, v.micro))
    # noinspection PyPackageRequirements
    print("NOTE: Installation failed. Run setup.py using python3")
    sys.exit(1)

try:
    SETUP_DIRNAME = os.path.dirname(__file__)
except NameError:
    # We're probably being frozen, and __file__ triggered this NameError
    # Work around this
    SETUP_DIRNAME = os.path.dirname(sys.argv[0])

if SETUP_DIRNAME != '':
    os.chdir(SETUP_DIRNAME)

SETUP_DIRNAME = os.path.abspath(SETUP_DIRNAME)

METADATA = os.path.join(SETUP_DIRNAME, 'indy_node', '__metadata__.py')
# Load the metadata using exec() so we don't trigger an import of
# ioflo.__init__
exec(compile(open(METADATA).read(), METADATA, 'exec'))

BASE_DIR = os.path.join(os.path.expanduser("~"), ".indy")
LOG_DIR = os.path.join(BASE_DIR, "log")
CONFIG_FILE = os.path.join(BASE_DIR, "indy_config.py")

tests_require = ['pytest', 'pytest-xdist', 'python3-indy==1.3.1-dev-469']

setup(
    name='indy-node-dev',
    version=__version__,
    description='Indy node',
    url='https://github.com/hyperledger/indy-node',
    author=__author__,
    author_email='hyperledger-indy@lists.hyperledger.org',
    license=__license__,
    keywords='Indy Node',
    packages=find_packages(exclude=['docs', 'docs*']) + [
        'data'],
    package_data={
        '': ['*.txt', '*.md', '*.rst', '*.json', '*.conf', '*.html',
             '*.css', '*.ico', '*.png', 'LICENSE', 'LEGAL', '*.indy']},
    include_package_data=True,
    data_files=[(
        (BASE_DIR, ['data/nssm_original.exe'])
    )],
    install_requires=['indy-plenum-dev==1.2.324',
                      'indy-anoncreds-dev==1.0.32',
                      'python-dateutil',
                      'timeout-decorator'],
    setup_requires=['pytest-runner'],
    extras_require={
        'tests': tests_require
    },
    tests_require=tests_require,
    scripts=['scripts/indy',
             'scripts/change_node_ha',
             'scripts/add_new_node',
             'scripts/reset_client',
             'scripts/start_indy_node',
             'scripts/start_node_control_tool',
             'scripts/clear_node.py',
             'scripts/get_keys',
             'scripts/generate_indy_pool_transactions',
             'scripts/init_indy_keys',
             'scripts/upgrade_indy_node_ubuntu1604.sh',
             'scripts/upgrade_indy_node_ubuntu1604_test.sh',
             'scripts/upgrade_indy_node.bat',
             'scripts/upgrade_indy_node_test.bat',
             'scripts/restart_indy_node_ubuntu1604.sh',
             'scripts/restart_indy_node.bat',
             'scripts/restart_sovrin_node_ubuntu1604.sh',
             'scripts/complete_rebranding_upgrade_ubuntu1604.sh',
             'scripts/install_indy_node.bat',
             'scripts/delete_indy_node.bat',
             'scripts/restart_upgrade_agent.bat',
             'scripts/install_nssm.bat',
             'scripts/read_ledger',
             'scripts/test_some_write_keys_others_read_them',
             'scripts/test_users_write_and_read_own_keys',
             'scripts/validator-info',
             'scripts/init_bls_keys',
             'scripts/enable_bls',
             'scripts/create_dirs.sh',
             'scripts/indy_old_cli_export_dids',
             'scripts/setup_iptables',
             'scripts/setup_indy_node_iptables']
)
<commit_msg>Plenum version 328<commit_after>#!/usr/bin/env python

import sys
import os

from setuptools import setup, find_packages, __version__

v = sys.version_info
if sys.version_info < (3, 5):
    msg = "FAIL: Requires Python 3.5 or later, " \
          "but setup.py was run using {}.{}.{}"
    v = sys.version_info
    print(msg.format(v.major, v.minor, v.micro))
    # noinspection PyPackageRequirements
    print("NOTE: Installation failed. Run setup.py using python3")
    sys.exit(1)

try:
    SETUP_DIRNAME = os.path.dirname(__file__)
except NameError:
    # We're probably being frozen, and __file__ triggered this NameError
    # Work around this
    SETUP_DIRNAME = os.path.dirname(sys.argv[0])

if SETUP_DIRNAME != '':
    os.chdir(SETUP_DIRNAME)

SETUP_DIRNAME = os.path.abspath(SETUP_DIRNAME)

METADATA = os.path.join(SETUP_DIRNAME, 'indy_node', '__metadata__.py')
# Load the metadata using exec() so we don't trigger an import of
# ioflo.__init__
exec(compile(open(METADATA).read(), METADATA, 'exec'))

BASE_DIR = os.path.join(os.path.expanduser("~"), ".indy")
LOG_DIR = os.path.join(BASE_DIR, "log")
CONFIG_FILE = os.path.join(BASE_DIR, "indy_config.py")

tests_require = ['pytest', 'pytest-xdist', 'python3-indy==1.3.1-dev-469']

setup(
    name='indy-node-dev',
    version=__version__,
    description='Indy node',
    url='https://github.com/hyperledger/indy-node',
    author=__author__,
    author_email='hyperledger-indy@lists.hyperledger.org',
    license=__license__,
    keywords='Indy Node',
    packages=find_packages(exclude=['docs', 'docs*']) + [
        'data'],
    package_data={
        '': ['*.txt', '*.md', '*.rst', '*.json', '*.conf', '*.html',
             '*.css', '*.ico', '*.png', 'LICENSE', 'LEGAL', '*.indy']},
    include_package_data=True,
    data_files=[(
        (BASE_DIR, ['data/nssm_original.exe'])
    )],
    install_requires=['indy-plenum-dev==1.2.328',
                      'indy-anoncreds-dev==1.0.32',
                      'python-dateutil',
                      'timeout-decorator'],
    setup_requires=['pytest-runner'],
    extras_require={
        'tests': tests_require
    },
    tests_require=tests_require,
    scripts=['scripts/indy',
             'scripts/change_node_ha',
             'scripts/add_new_node',
             'scripts/reset_client',
             'scripts/start_indy_node',
             'scripts/start_node_control_tool',
             'scripts/clear_node.py',
             'scripts/get_keys',
             'scripts/generate_indy_pool_transactions',
             'scripts/init_indy_keys',
             'scripts/upgrade_indy_node_ubuntu1604.sh',
             'scripts/upgrade_indy_node_ubuntu1604_test.sh',
             'scripts/upgrade_indy_node.bat',
             'scripts/upgrade_indy_node_test.bat',
             'scripts/restart_indy_node_ubuntu1604.sh',
             'scripts/restart_indy_node.bat',
             'scripts/restart_sovrin_node_ubuntu1604.sh',
             'scripts/complete_rebranding_upgrade_ubuntu1604.sh',
             'scripts/install_indy_node.bat',
             'scripts/delete_indy_node.bat',
             'scripts/restart_upgrade_agent.bat',
             'scripts/install_nssm.bat',
             'scripts/read_ledger',
             'scripts/test_some_write_keys_others_read_them',
             'scripts/test_users_write_and_read_own_keys',
             'scripts/validator-info',
             'scripts/init_bls_keys',
             'scripts/enable_bls',
             'scripts/create_dirs.sh',
             'scripts/indy_old_cli_export_dids',
             'scripts/setup_iptables',
             'scripts/setup_indy_node_iptables']
)
<|endoftext|>


<commit_before># This file is part of Shuup.
#
# Copyright (c) 2012-2018, Shuup Inc. All rights reserved.
#
# This source code is licensed under the OSL-3.0 license found in the
# LICENSE file in the root directory of this source tree.
import os
import sys

import setuptools

import shuup_setup_utils as utils

TOPDIR = os.path.abspath(os.path.dirname(__file__))
LONG_DESCRIPTION_FILE = os.path.join(TOPDIR, 'README.rst')
VERSION_FILE = os.path.join(TOPDIR, 'shuup', '_version.py')

# Release instructions
#
#  1. Update the Change Log (doc/changelog.rst)
#      - Make sure all relevant changes since last release are listed
#      - Remove the instruction bullet point ("List all changes after
#        x.x.x here...")
#      - Change the "Unreleased" header to appropriate version header.
#        See header of the last release for example.
#  2. Create/update Release Notes (doc/release_notes/<VERSION>.rst) and
#     add it to index (doc/release_notes/index.rst)
#  3. Update VERSION variable here: Increase and drop .post0.dev suffix
#  4. Update version and release variables in doc/conf.py
#  5. Commit changes of steps 1--4
#  6. Tag the commit (of step 5) with
#        git tag -a -m "Shuup X.Y.Z" vX.Y.Z
#     where X.Y.Z is the new version number (must be same as VERSION
#     variable here)
#  7. Check the tag is OK and push it with
#        git push origin refs/tags/vX.Y.Z
#  8. Do a post-release commit:
#      - Add new "Unreleased" header and instruction bullet point to
#        Change Log
#      - Add ".post0.dev" suffix to VERSION variable here

NAME = 'shuup'
VERSION = '1.6.16.post0.dev'
DESCRIPTION = 'E-Commerce Platform'
AUTHOR = 'Shuup Inc.'
AUTHOR_EMAIL = 'shuup@shuup.com'
URL = 'http://shuup.com/'
DOWNLOAD_URL_TEMPLATE = (
    'https://github.com/shuup/shuup/releases/download/'
    'v{version}/shuup-{version}-py2.py3-none-any.whl')
LICENSE = 'proprietary'  # https://spdx.org/licenses/
CLASSIFIERS = """
Development Status :: 5 - Production/Stable
Intended Audience :: Developers
License :: Other/Proprietary License
Natural Language :: English
Natural Language :: Chinese (Simplified)
Natural Language :: Finnish
Natural Language :: Japanese
Natural Language :: Portuguese (Brazilian)
Programming Language :: JavaScript
Programming Language :: Python :: 2
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Programming Language :: Python :: 3.4
Programming Language :: Python :: 3.5
Programming Language :: Python :: 3.6
Topic :: Internet :: WWW/HTTP :: Dynamic Content
Topic :: Internet :: WWW/HTTP :: Site Management
Topic :: Office/Business
Topic :: Software Development :: Libraries :: Application Frameworks
Topic :: Software Development :: Libraries :: Python Modules
""".strip().splitlines()

EXCLUDED_PACKAGES = [
    'shuup_tests', 'shuup_tests.*',
]

utils.add_exclude_patters([
    'build', 'doc', 'var',
    'LC_MESSAGES',
    'local_settings.py',
])

REQUIRES = [
    'Babel==2.5.3',
    'Django>=1.8,<2',
    'django-bootstrap3>=6.1,<10',
    'django-countries>=3.3,<5.3',
    'django-enumfields>=0.9,<0.10',
    'django-filer>=1.0,<2',
    'django-filter>=1.0,<1.2',
    'django-jinja>=1.4,<3',
    'django-mptt>=0.8.0,<0.10',  # Django-filer doesn't officially support 0.9.0
    'django-parler>=1.5,<2',
    'django-parler-rest>=1.3a1,<2',
    'django-polymorphic>=0.8,<2.1.0',  # For Django 1.8 and 1.9 use version lower 1
    'django-registration-redux>=1.5,<1.9',
    'django-reversion>=2,<3',
    'django-timezone-field>=1.2,<3',
    'djangorestframework>=3.5,<3.6',
    'djangorestframework-jwt>=1.9,<2',
    'django_rest_swagger>=2.1.0,<2.2',
    'factory-boy==2.7.0',
    'fake-factory>=0.5.0,<0.5.4',
    'Jinja2==2.8.1',
    'jsonfield>=1',
    'keyring>=10',
    'keyrings.alt>=2',
    'lxml>=4,<4.2.2',
    'Markdown>=2.6,<3',
    'openpyxl>=2.3',
    'python-dateutil>=2.5',
    'pytoml>=0.1.0,<0.2',
    'pytz>=2015.4',
    'requests>=2.7,<3',
    'secretstorage==2.3.1',
    'six>=1.9,<2',
    'unicodecsv==0.14.1',
    'xlrd>=1'
]

REQUIRES_FOR_PYTHON2_ONLY = [
    'pillow>=3.4.2,<4'
]

EXTRAS_REQUIRE = {
    ':python_version=="2.7"': REQUIRES_FOR_PYTHON2_ONLY,
    'docs': [
        'Sphinx>=1.3,<2',
    ],
    'testing': utils.get_test_requirements_from_tox_ini(TOPDIR),
    'coding-style': [
        'flake8==3.3.0',
        'flake8-isort==2.1.3',
        'flake8-polyfill==1.0.1',
        'isort==4.2.5',
        'pep8-naming==0.4.1'
    ],
}
EXTRAS_REQUIRE['everything'] = list(
    set(sum(EXTRAS_REQUIRE.values(), [])) -  # All extras, but not...
    set(REQUIRES_FOR_PYTHON2_ONLY)  # the Python 2 compatibility things
)

if __name__ == '__main__':
    if 'upload' in sys.argv:
        raise EnvironmentError('Uploading is blacklisted')

    version = utils.get_version(VERSION, TOPDIR, VERSION_FILE)
    utils.write_version_to_file(version, VERSION_FILE)

    setuptools.setup(
        name=NAME,
        version=version,
        description=DESCRIPTION,
        long_description=utils.get_long_description(LONG_DESCRIPTION_FILE),
        url=URL,
        download_url=DOWNLOAD_URL_TEMPLATE.format(version=version),
        author=AUTHOR,
        author_email=AUTHOR_EMAIL,
        license=LICENSE,
        classifiers=CLASSIFIERS,
        install_requires=REQUIRES,
        tests_require=EXTRAS_REQUIRE['testing'],
        extras_require=EXTRAS_REQUIRE,
        packages=utils.find_packages(exclude=EXCLUDED_PACKAGES),
        include_package_data=True,
        cmdclass=utils.COMMANDS,
    )
<commit_msg>Release 1.7.0b1<commit_after># This file is part of Shuup.
#
# Copyright (c) 2012-2018, Shuup Inc. All rights reserved.
#
# This source code is licensed under the OSL-3.0 license found in the
# LICENSE file in the root directory of this source tree.
import os
import sys

import setuptools

import shuup_setup_utils as utils

TOPDIR = os.path.abspath(os.path.dirname(__file__))
LONG_DESCRIPTION_FILE = os.path.join(TOPDIR, 'README.rst')
VERSION_FILE = os.path.join(TOPDIR, 'shuup', '_version.py')

# Release instructions
#
#  1. Update the Change Log (doc/changelog.rst)
#      - Make sure all relevant changes since last release are listed
#      - Remove the instruction bullet point ("List all changes after
#        x.x.x here...")
#      - Change the "Unreleased" header to appropriate version header.
#        See header of the last release for example.
#  2. Create/update Release Notes (doc/release_notes/<VERSION>.rst) and
#     add it to index (doc/release_notes/index.rst)
#  3. Update VERSION variable here: Increase and drop .post0.dev suffix
#  4. Update version and release variables in doc/conf.py
#  5. Commit changes of steps 1--4
#  6. Tag the commit (of step 5) with
#        git tag -a -m "Shuup X.Y.Z" vX.Y.Z
#     where X.Y.Z is the new version number (must be same as VERSION
#     variable here)
#  7. Check the tag is OK and push it with
#        git push origin refs/tags/vX.Y.Z
#  8. Do a post-release commit:
#      - Add new "Unreleased" header and instruction bullet point to
#        Change Log
#      - Add ".post0.dev" suffix to VERSION variable here

NAME = 'shuup'
VERSION = '1.7.0b1'
DESCRIPTION = 'E-Commerce Platform'
AUTHOR = 'Shuup Inc.'
AUTHOR_EMAIL = 'shuup@shuup.com'
URL = 'http://shuup.com/'
DOWNLOAD_URL_TEMPLATE = (
    'https://github.com/shuup/shuup/releases/download/'
    'v{version}/shuup-{version}-py2.py3-none-any.whl')
LICENSE = 'proprietary'  # https://spdx.org/licenses/
CLASSIFIERS = """
Development Status :: 5 - Production/Stable
Intended Audience :: Developers
License :: Other/Proprietary License
Natural Language :: English
Natural Language :: Chinese (Simplified)
Natural Language :: Finnish
Natural Language :: Japanese
Natural Language :: Portuguese (Brazilian)
Programming Language :: JavaScript
Programming Language :: Python :: 2
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Programming Language :: Python :: 3.4
Programming Language :: Python :: 3.5
Programming Language :: Python :: 3.6
Topic :: Internet :: WWW/HTTP :: Dynamic Content
Topic :: Internet :: WWW/HTTP :: Site Management
Topic :: Office/Business
Topic :: Software Development :: Libraries :: Application Frameworks
Topic :: Software Development :: Libraries :: Python Modules
""".strip().splitlines()

EXCLUDED_PACKAGES = [
    'shuup_tests', 'shuup_tests.*',
]

utils.add_exclude_patters([
    'build', 'doc', 'var',
    'LC_MESSAGES',
    'local_settings.py',
])

REQUIRES = [
    'Babel==2.5.3',
    'Django>=1.8,<2',
    'django-bootstrap3>=6.1,<10',
    'django-countries>=3.3,<5.3',
    'django-enumfields>=0.9,<0.10',
    'django-filer>=1.0,<2',
    'django-filter>=1.0,<1.2',
    'django-jinja>=1.4,<3',
    'django-mptt>=0.8.0,<0.10',  # Django-filer doesn't officially support 0.9.0
    'django-parler>=1.5,<2',
    'django-parler-rest>=1.3a1,<2',
    'django-polymorphic>=0.8,<2.1.0',  # For Django 1.8 and 1.9 use version lower 1
    'django-registration-redux>=1.5,<1.9',
    'django-reversion>=2,<3',
    'django-timezone-field>=1.2,<3',
    'djangorestframework>=3.5,<3.6',
    'djangorestframework-jwt>=1.9,<2',
    'django_rest_swagger>=2.1.0,<2.2',
    'factory-boy==2.7.0',
    'fake-factory>=0.5.0,<0.5.4',
    'Jinja2==2.8.1',
    'jsonfield>=1',
    'keyring>=10',
    'keyrings.alt>=2',
    'lxml>=4,<4.2.2',
    'Markdown>=2.6,<3',
    'openpyxl>=2.3',
    'python-dateutil>=2.5',
    'pytoml>=0.1.0,<0.2',
    'pytz>=2015.4',
    'requests>=2.7,<3',
    'secretstorage==2.3.1',
    'six>=1.9,<2',
    'unicodecsv==0.14.1',
    'xlrd>=1'
]

REQUIRES_FOR_PYTHON2_ONLY = [
    'pillow>=3.4.2,<4'
]

EXTRAS_REQUIRE = {
    ':python_version=="2.7"': REQUIRES_FOR_PYTHON2_ONLY,
    'docs': [
        'Sphinx>=1.3,<2',
    ],
    'testing': utils.get_test_requirements_from_tox_ini(TOPDIR),
    'coding-style': [
        'flake8==3.3.0',
        'flake8-isort==2.1.3',
        'flake8-polyfill==1.0.1',
        'isort==4.2.5',
        'pep8-naming==0.4.1'
    ],
}
EXTRAS_REQUIRE['everything'] = list(
    set(sum(EXTRAS_REQUIRE.values(), [])) -  # All extras, but not...
    set(REQUIRES_FOR_PYTHON2_ONLY)  # the Python 2 compatibility things
)

if __name__ == '__main__':
    if 'upload' in sys.argv:
        raise EnvironmentError('Uploading is blacklisted')

    version = utils.get_version(VERSION, TOPDIR, VERSION_FILE)
    utils.write_version_to_file(version, VERSION_FILE)

    setuptools.setup(
        name=NAME,
        version=version,
        description=DESCRIPTION,
        long_description=utils.get_long_description(LONG_DESCRIPTION_FILE),
        url=URL,
        download_url=DOWNLOAD_URL_TEMPLATE.format(version=version),
        author=AUTHOR,
        author_email=AUTHOR_EMAIL,
        license=LICENSE,
        classifiers=CLASSIFIERS,
        install_requires=REQUIRES,
        tests_require=EXTRAS_REQUIRE['testing'],
        extras_require=EXTRAS_REQUIRE,
        packages=utils.find_packages(exclude=EXCLUDED_PACKAGES),
        include_package_data=True,
        cmdclass=utils.COMMANDS,
    )
<|endoftext|>


<commit_before>#!/usr/bin/env python
import glob
import os
import sys

from setuptools import setup, find_packages

srcdir = os.path.join(os.path.dirname(sys.argv[0]), 'src')

setup(name = "clusto",
      version = "0.5.32",
      packages = find_packages('src'),
      author = "Ron Gorodetzky",
      author_email = "ron@digg.com",
      description = "Clusto, cluster management and inventory system",
      install_requires = ['sqlalchemy>=0.6.0',
                          'IPython',
                          'PyYAML',
                          'python-memcached',
                          ],
      zip_safe=False,
      package_dir = {'':'src'},
      #scripts=glob.glob(os.path.join(srcdir, 'scripts', 'clusto')),
      scripts=[os.path.join(srcdir, 'scripts', 'clusto'),
               os.path.join(srcdir, 'scripts', 'clusto-allocate'),
               os.path.join(srcdir, 'scripts', 'clusto-attr'),
               os.path.join(srcdir, 'scripts', 'clusto-console'),
               os.path.join(srcdir, 'scripts', 'clusto-dhcpd'),
               os.path.join(srcdir, 'scripts', 'clusto-fai'),
               os.path.join(srcdir, 'scripts', 'clusto-kvm'),
               os.path.join(srcdir, 'scripts', 'clusto-httpd'),
               os.path.join(srcdir, 'scripts', 'clusto-info'),
               os.path.join(srcdir, 'scripts', 'clusto-list-pool'),
               os.path.join(srcdir, 'scripts', 'clusto-mysql'),
               os.path.join(srcdir, 'scripts', 'clusto-pool'),
               os.path.join(srcdir, 'scripts', 'clusto-puppet-node'),
               os.path.join(srcdir, 'scripts', 'clusto-hadoop-node'),
               os.path.join(srcdir, 'scripts', 'clusto-reboot'),
               os.path.join(srcdir, 'scripts', 'clusto-shell'),
               os.path.join(srcdir, 'scripts', 'clusto-snmptrapd'),
               os.path.join(srcdir, 'scripts', 'clusto-tree'),
               os.path.join(srcdir, 'scripts', 'clusto-update-info'),
               os.path.join(srcdir, 'scripts', 'clusto-vm'),
               os.path.join(srcdir, 'scripts', 'clusto-deallocate'),
               ],
      test_suite = "clusto.test.alltests.gettests",
      dependency_links=['http://www.secdev.org/projects/scapy/']
      )

<commit_msg>We need sqlalchemy 0.6.4<commit_after>#!/usr/bin/env python
import glob
import os
import sys

from setuptools import setup, find_packages

srcdir = os.path.join(os.path.dirname(sys.argv[0]), 'src')

setup(name = "clusto",
      version = "0.5.32",
      packages = find_packages('src'),
      author = "Ron Gorodetzky",
      author_email = "ron@digg.com",
      description = "Clusto, cluster management and inventory system",
      install_requires = ['sqlalchemy>=0.6.4',
                          'IPython',
                          'PyYAML',
                          'python-memcached',
                          ],
      zip_safe=False,
      package_dir = {'':'src'},
      #scripts=glob.glob(os.path.join(srcdir, 'scripts', 'clusto')),
      scripts=[os.path.join(srcdir, 'scripts', 'clusto'),
               os.path.join(srcdir, 'scripts', 'clusto-allocate'),
               os.path.join(srcdir, 'scripts', 'clusto-attr'),
               os.path.join(srcdir, 'scripts', 'clusto-console'),
               os.path.join(srcdir, 'scripts', 'clusto-dhcpd'),
               os.path.join(srcdir, 'scripts', 'clusto-fai'),
               os.path.join(srcdir, 'scripts', 'clusto-kvm'),
               os.path.join(srcdir, 'scripts', 'clusto-httpd'),
               os.path.join(srcdir, 'scripts', 'clusto-info'),
               os.path.join(srcdir, 'scripts', 'clusto-list-pool'),
               os.path.join(srcdir, 'scripts', 'clusto-mysql'),
               os.path.join(srcdir, 'scripts', 'clusto-pool'),
               os.path.join(srcdir, 'scripts', 'clusto-puppet-node'),
               os.path.join(srcdir, 'scripts', 'clusto-hadoop-node'),
               os.path.join(srcdir, 'scripts', 'clusto-reboot'),
               os.path.join(srcdir, 'scripts', 'clusto-shell'),
               os.path.join(srcdir, 'scripts', 'clusto-snmptrapd'),
               os.path.join(srcdir, 'scripts', 'clusto-tree'),
               os.path.join(srcdir, 'scripts', 'clusto-update-info'),
               os.path.join(srcdir, 'scripts', 'clusto-vm'),
               os.path.join(srcdir, 'scripts', 'clusto-deallocate'),
               ],
      test_suite = "clusto.test.alltests.gettests",
      dependency_links=['http://www.secdev.org/projects/scapy/']
      )

<|endoftext|>


<commit_before>#   gogo-utils - Utility generating application details
#
#   Copyright 2016 Gogo, LLC
#
#   Licensed under the Apache License, Version 2.0 (the "License");
#   you may not use this file except in compliance with the License.
#   You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS,
#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#   See the License for the specific language governing permissions and
#   limitations under the License.

from setuptools import find_packages, setup

setup(
    name='gogo-utils',
    version='1.8',
    description='A utility library that generates service name convention details based on a repo url.',
    long_description=open('README.rst').read(),
    author='Sijis Aviles',
    author_email='saviles@gogoair.com',
    packages=find_packages(where='src'),
    package_dir={'': 'src'},
    install_requires=[],
    keywords="gogo python",
    url='https://github.com/gogoair/gogo-utils',
    download_url='https://github.com/gogoair/gogo-utils',
    platforms=['OS Independent'],
    license='Apache License (2.0)',
    classifiers=[
        'Development Status :: 5 - Production/Stable',
        'Intended Audience :: Developers',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3.4',
        'Programming Language :: Python :: 3.5',
        'License :: OSI Approved :: Apache Software License',
        'Operating System :: OS Independent',
    ],
)
<commit_msg>chore: Bump release to 1.8.1<commit_after>#   gogo-utils - Utility generating application details
#
#   Copyright 2016 Gogo, LLC
#
#   Licensed under the Apache License, Version 2.0 (the "License");
#   you may not use this file except in compliance with the License.
#   You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#   Unless required by applicable law or agreed to in writing, software
#   distributed under the License is distributed on an "AS IS" BASIS,
#   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#   See the License for the specific language governing permissions and
#   limitations under the License.

from setuptools import find_packages, setup

setup(
    name='gogo-utils',
    version='1.8.1',
    description='A utility library that generates service name convention details based on a repo url.',
    long_description=open('README.rst').read(),
    author='Sijis Aviles',
    author_email='saviles@gogoair.com',
    packages=find_packages(where='src'),
    package_dir={'': 'src'},
    install_requires=[],
    keywords="gogo python",
    url='https://github.com/gogoair/gogo-utils',
    download_url='https://github.com/gogoair/gogo-utils',
    platforms=['OS Independent'],
    license='Apache License (2.0)',
    classifiers=[
        'Development Status :: 5 - Production/Stable',
        'Intended Audience :: Developers',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3.4',
        'Programming Language :: Python :: 3.5',
        'Programming Language :: Python :: 3.6',
        'License :: OSI Approved :: Apache Software License',
        'Operating System :: OS Independent',
    ],
)
<|endoftext|>


<commit_before>import os

from setuptools import find_packages, setup

with open(os.path.join(os.path.dirname(__file__), 'README.rst'), encoding='utf-8') as readme:
    README = readme.read().split('h1>\n\n', 2)[1]

setup(
    name='django-postgres-extra',
    version='1.21a9',
    packages=find_packages(),
    include_package_data=True,
    license='MIT License',
    description='Bringing all of PostgreSQL\'s awesomeness to Django.',
    long_description=README,
    url='https://github.com/SectorLabs/django-postgres-extra',
    author='Sector Labs',
    author_email='open-source@sectorlabs.ro',
    keywords=['django', 'postgres', 'extra', 'hstore', 'ltree'],
    classifiers=[
        'Environment :: Web Environment',
        'Framework :: Django',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: MIT License',
        'Operating System :: OS Independent',
        'Programming Language :: Python',
        'Programming Language :: Python :: 3.5',
        'Topic :: Internet :: WWW/HTTP',
        'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
    ]
)
<commit_msg>Bump version number to 1.21a10<commit_after>import os

from setuptools import find_packages, setup

with open(os.path.join(os.path.dirname(__file__), 'README.rst'), encoding='utf-8') as readme:
    README = readme.read().split('h1>\n\n', 2)[1]

setup(
    name='django-postgres-extra',
    version='1.21a10',
    packages=find_packages(),
    include_package_data=True,
    license='MIT License',
    description='Bringing all of PostgreSQL\'s awesomeness to Django.',
    long_description=README,
    url='https://github.com/SectorLabs/django-postgres-extra',
    author='Sector Labs',
    author_email='open-source@sectorlabs.ro',
    keywords=['django', 'postgres', 'extra', 'hstore', 'ltree'],
    classifiers=[
        'Environment :: Web Environment',
        'Framework :: Django',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: MIT License',
        'Operating System :: OS Independent',
        'Programming Language :: Python',
        'Programming Language :: Python :: 3.5',
        'Topic :: Internet :: WWW/HTTP',
        'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
    ]
)
<|endoftext|>


<commit_before>from distutils.core import setup, Command
from distutils.command.build import build
from unittest import TextTestRunner, TestLoader
import os
import sys
import shutil
from subprocess import check_call

from pythran import __version__

def _exclude_current_dir_from_import():
    """ Prevents Python loading from current directory, so that
    `import pythran` lookup the PYTHONPATH.

    Returns current_dir

    """
    current_dir = os.path.dirname(os.path.abspath(__file__))
    sys.path = filter(lambda p: p != current_dir, sys.path)
    return current_dir

class BuildWithPly(build):
    '''Use ply to generate parsetab before building module.'''

    def build_ply(self):
        from pythran.spec import SpecParser
        SpecParser()  # this forces the generation of the parsetab file
        self.mkpath(os.path.join(self.build_lib, 'pythran'))
        for p in ('parsetab.py',):
            target = os.path.join(self.build_lib, 'pythran', p)
            if os.path.exists(p):
                os.rename(p, target)
            assert os.path.exists(target)

    def build_nt2(self):
        nt2_dir = 'nt2'
        if not os.path.isdir(nt2_dir):
            print 'nt2 git repository not setup, cloning it'
            cmd = 'git clone https://github.com/MetaScale/nt2.git -b release'
            check_call(cmd.split())
            # retreive previous nt2 release
            os.chdir('nt2')
            check_call('git reset --hard 9024abe687'.split())
            os.chdir('..')

        nt2_build_dir = os.path.join(self.build_temp, nt2_dir)
        if not os.path.isdir(nt2_build_dir):
            os.makedirs(nt2_build_dir)

        if not os.path.exists(os.path.join(nt2_build_dir, 'Makefile')):
            print 'nt2 not already configured, configuring it'

            cwd = os.getcwd()
            abs_nt2_dir = os.path.join(cwd, nt2_dir)
            os.chdir(nt2_build_dir)
            build_cmd = ['cmake',
                         abs_nt2_dir,
                         '-DCMAKE_INSTALL_PREFIX=.',
                         '-DNT2_FIND_REPOSITORIES='
                         'git://github.com/MetaScale/nt2-modules.git']
            check_call(build_cmd)
            os.chdir(cwd)

        check_call(['make', '-C', nt2_build_dir, 'install', '-j'])
        for d in ('nt2', 'boost'):
            src = os.path.join(nt2_build_dir, 'include', d)

            # copy to the build tree
            target = os.path.join(self.build_lib, 'pythran', d)
            shutil.rmtree(target, True)
            shutil.copytree(src, target)

            # copy them to the source tree too, needed for sdist
            target = os.path.join('pythran', d)
            shutil.rmtree(target, True)
            shutil.copytree(src, target)

    def run(self, *args, **kwargs):
        if not self.dry_run:  # compatibility with the parent options
            self.build_ply()
            self.build_nt2()
        # regular build done by parent class
        build.run(self, *args, **kwargs)

class TestCommand(Command):
    '''Scan the test directory for any tests, and run them.'''

    description = 'run the test suite for the package'
    user_options = [('failfast', None, 'Stop upon first fail'),
                    ('cov', None, 'Perform coverage analysis'),
                    ('num-threads=', None, 'Number of thread to execute tests')]

    def initialize_options(self):
        self.failfast = False
        self.cov = False
        import multiprocessing
        self.num_threads = multiprocessing.cpu_count()

    def finalize_options(self):
        pass

    def run(self):
        # Do not include current directory, validate using installed pythran
        current_dir = _exclude_current_dir_from_import()
        os.chdir("pythran/tests")
        where = os.path.join(current_dir, 'pythran')

        from pythran import test_compile
        test_compile()

        try:
            import py
            import xdist
            args = ["-n", str(self.num_threads), where, '--pep8']
            if self.failfast:
                args.insert(0, '-x')
            if self.cov:
                try:
                    import pytest_cov
                    args = ["--cov-report", "html",
                            "--cov-report", "annotate",
                            "--cov", "pythran"] + args
                except ImportError:
                    print ("W: Skipping coverage analysis, pytest_cov"
                           "not found")
            if py.test.cmdline.main(args) == 0:
                print "\\_o<"
        except ImportError:
            print ("W: Using only one thread, "
                   "try to install pytest-xdist package")
            loader = TestLoader()
            t = TextTestRunner(failfast=self.failfast)
            t.run(loader.discover(where))
            if t.wasSuccessful():
                print "\\_o<"

class BenchmarkCommand(Command):
    '''Scan the test directory for any runnable test, and benchmark them.'''

    default_nb_iter = 11
    description = 'run the benchmark suite for the package'
    user_options = [
        ('nb-iter=', None,
         'number of times the benchmark is run'
         '(default={0})'.format(default_nb_iter)),
        ('mode=', None,
         'mode to use (cpython, pythran, pythran' '+omp)')
    ]

    runas_marker = '#runas '

    def __init__(self, *args, **kwargs):
        Command.__init__(self, *args, **kwargs)

    def initialize_options(self):
        self.nb_iter = BenchmarkCommand.default_nb_iter
        self.parallel = False
        self.mode = "pythran"

    def finalize_options(self):
        self.nb_iter = int(self.nb_iter)

    def run(self):
        import glob
        import timeit

        # Do not include current directory, validate using installed pythran
        current_dir = _exclude_current_dir_from_import()
        os.chdir("pythran/tests")
        where = os.path.join(current_dir, 'pythran', 'tests', 'cases')

        from pythran import test_compile, compile_pythranfile
        test_compile()

        candidates = glob.glob(os.path.join(where, '*.py'))
        sys.path.append(where)
        median = lambda x: sorted(x)[len(x) / 2]
        for candidate in candidates:
            with file(candidate) as content:
                runas = [line for line in content.readlines()
                         if line.startswith(BenchmarkCommand.runas_marker)]
                if runas:
                    modname, _ = os.path.splitext(os.path.basename(candidate))
                    runas_commands = runas[0].replace(
                        BenchmarkCommand.runas_marker, '').split(";")
                    runas_context = ";".join(["import {0}".format(
                        modname)] + runas_commands[:-1])
                    runas_command = modname + '.' + runas_commands[-1]

                    # cleaning
                    sopath = os.path.splitext(candidate)[0] + ".so"
                    if os.path.exists(sopath):
                        os.remove(sopath)

                    ti = timeit.Timer(runas_command, runas_context)

                    # pythran part
                    if self.mode.startswith('pythran'):
                        cxxflags = ["-Ofast", "-DNDEBUG"]
                        if self.mode == "pythran+omp":
                            cxxflags.append("-fopenmp")
                        compile_pythranfile(candidate,
                                            cxxflags=cxxflags)

                    print modname + " running ...",
                    sys.stdout.flush()
                    timing = median(ti.repeat(self.nb_iter, number=1))
                    print timing
                else:
                    print "* Skip '" + candidate + ', no #runas directive'

# Cannot use glob here, as the files may not be genrated yet
nt2_headers = (['nt2/' + '*/' * i + '*.hpp' for i in range(1, 20)] +
               ['boost/' + '*/' * i + '*.hpp' for i in range(1, 20)])

setup(name='pythran',
      version=__version__,
      description='a claimless python to c++ converter',
      author='Serge Guelton',
      author_email='serge.guelton@telecom-bretagne.eu',
      url='https://github.com/serge-sans-paille/pythran',
      packages=['pythran', 'omp', 'pythran/pythonic'],
      package_data={'pythran': ['pythran.cfg'] + nt2_headers,
                    'pythran/pythonic': ['*.hpp', '*/*.hpp']},
      scripts=['scripts/pythran', 'scripts/pythran-config'],
      classifiers=['Development Status :: 4 - Beta',
                   'Environment :: Console',
                   'Intended Audience :: Developers',
                   'License :: OSI Approved :: BSD License',
                   'Natural Language :: English',
                   'Operating System :: POSIX :: Linux',
                   'Programming Language :: Python :: 2.7',
                   'Programming Language :: Python :: Implementation :: CPython',
                   'Programming Language :: C++',
                   'Topic :: Software Development :: Code Generators'],
      license="BSD 3-Clause",
      requires=['ply (>=3.4)', 'networkx (>=1.5)', 'numpy', 'colorlog'],
      cmdclass={'build': BuildWithPly,
                'test': TestCommand,
                'bench': BenchmarkCommand}
      )
<commit_msg>Install transformations and analyses subpackages (setup.py)<commit_after>from distutils.core import setup, Command
from distutils.command.build import build
from unittest import TextTestRunner, TestLoader
import os
import sys
import shutil
from subprocess import check_call

from pythran import __version__

def _exclude_current_dir_from_import():
    """ Prevents Python loading from current directory, so that
    `import pythran` lookup the PYTHONPATH.

    Returns current_dir

    """
    current_dir = os.path.dirname(os.path.abspath(__file__))
    sys.path = filter(lambda p: p != current_dir, sys.path)
    return current_dir

class BuildWithPly(build):
    '''Use ply to generate parsetab before building module.'''

    def build_ply(self):
        from pythran.spec import SpecParser
        SpecParser()  # this forces the generation of the parsetab file
        self.mkpath(os.path.join(self.build_lib, 'pythran'))
        for p in ('parsetab.py',):
            target = os.path.join(self.build_lib, 'pythran', p)
            if os.path.exists(p):
                os.rename(p, target)
            assert os.path.exists(target)

    def build_nt2(self):
        nt2_dir = 'nt2'
        if not os.path.isdir(nt2_dir):
            print 'nt2 git repository not setup, cloning it'
            cmd = 'git clone https://github.com/MetaScale/nt2.git -b release'
            check_call(cmd.split())
            # retreive previous nt2 release
            os.chdir('nt2')
            check_call('git reset --hard 9024abe687'.split())
            os.chdir('..')

        nt2_build_dir = os.path.join(self.build_temp, nt2_dir)
        if not os.path.isdir(nt2_build_dir):
            os.makedirs(nt2_build_dir)

        if not os.path.exists(os.path.join(nt2_build_dir, 'Makefile')):
            print 'nt2 not already configured, configuring it'

            cwd = os.getcwd()
            abs_nt2_dir = os.path.join(cwd, nt2_dir)
            os.chdir(nt2_build_dir)
            build_cmd = ['cmake',
                         abs_nt2_dir,
                         '-DCMAKE_INSTALL_PREFIX=.',
                         '-DNT2_FIND_REPOSITORIES='
                         'git://github.com/MetaScale/nt2-modules.git']
            check_call(build_cmd)
            os.chdir(cwd)

        check_call(['make', '-C', nt2_build_dir, 'install', '-j'])
        for d in ('nt2', 'boost'):
            src = os.path.join(nt2_build_dir, 'include', d)

            # copy to the build tree
            target = os.path.join(self.build_lib, 'pythran', d)
            shutil.rmtree(target, True)
            shutil.copytree(src, target)

            # copy them to the source tree too, needed for sdist
            target = os.path.join('pythran', d)
            shutil.rmtree(target, True)
            shutil.copytree(src, target)

    def run(self, *args, **kwargs):
        if not self.dry_run:  # compatibility with the parent options
            self.build_ply()
            self.build_nt2()
        # regular build done by parent class
        build.run(self, *args, **kwargs)

class TestCommand(Command):
    '''Scan the test directory for any tests, and run them.'''

    description = 'run the test suite for the package'
    user_options = [('failfast', None, 'Stop upon first fail'),
                    ('cov', None, 'Perform coverage analysis'),
                    ('num-threads=', None, 'Number of thread to execute tests')]

    def initialize_options(self):
        self.failfast = False
        self.cov = False
        import multiprocessing
        self.num_threads = multiprocessing.cpu_count()

    def finalize_options(self):
        pass

    def run(self):
        # Do not include current directory, validate using installed pythran
        current_dir = _exclude_current_dir_from_import()
        os.chdir("pythran/tests")
        where = os.path.join(current_dir, 'pythran')

        from pythran import test_compile
        test_compile()

        try:
            import py
            import xdist
            args = ["-n", str(self.num_threads), where, '--pep8']
            if self.failfast:
                args.insert(0, '-x')
            if self.cov:
                try:
                    import pytest_cov
                    args = ["--cov-report", "html",
                            "--cov-report", "annotate",
                            "--cov", "pythran"] + args
                except ImportError:
                    print ("W: Skipping coverage analysis, pytest_cov"
                           "not found")
            if py.test.cmdline.main(args) == 0:
                print "\\_o<"
        except ImportError:
            print ("W: Using only one thread, "
                   "try to install pytest-xdist package")
            loader = TestLoader()
            t = TextTestRunner(failfast=self.failfast)
            t.run(loader.discover(where))
            if t.wasSuccessful():
                print "\\_o<"

class BenchmarkCommand(Command):
    '''Scan the test directory for any runnable test, and benchmark them.'''

    default_nb_iter = 11
    description = 'run the benchmark suite for the package'
    user_options = [
        ('nb-iter=', None,
         'number of times the benchmark is run'
         '(default={0})'.format(default_nb_iter)),
        ('mode=', None,
         'mode to use (cpython, pythran, pythran' '+omp)')
    ]

    runas_marker = '#runas '

    def __init__(self, *args, **kwargs):
        Command.__init__(self, *args, **kwargs)

    def initialize_options(self):
        self.nb_iter = BenchmarkCommand.default_nb_iter
        self.parallel = False
        self.mode = "pythran"

    def finalize_options(self):
        self.nb_iter = int(self.nb_iter)

    def run(self):
        import glob
        import timeit

        # Do not include current directory, validate using installed pythran
        current_dir = _exclude_current_dir_from_import()
        os.chdir("pythran/tests")
        where = os.path.join(current_dir, 'pythran', 'tests', 'cases')

        from pythran import test_compile, compile_pythranfile
        test_compile()

        candidates = glob.glob(os.path.join(where, '*.py'))
        sys.path.append(where)
        median = lambda x: sorted(x)[len(x) / 2]
        for candidate in candidates:
            with file(candidate) as content:
                runas = [line for line in content.readlines()
                         if line.startswith(BenchmarkCommand.runas_marker)]
                if runas:
                    modname, _ = os.path.splitext(os.path.basename(candidate))
                    runas_commands = runas[0].replace(
                        BenchmarkCommand.runas_marker, '').split(";")
                    runas_context = ";".join(["import {0}".format(
                        modname)] + runas_commands[:-1])
                    runas_command = modname + '.' + runas_commands[-1]

                    # cleaning
                    sopath = os.path.splitext(candidate)[0] + ".so"
                    if os.path.exists(sopath):
                        os.remove(sopath)

                    ti = timeit.Timer(runas_command, runas_context)

                    # pythran part
                    if self.mode.startswith('pythran'):
                        cxxflags = ["-Ofast", "-DNDEBUG"]
                        if self.mode == "pythran+omp":
                            cxxflags.append("-fopenmp")
                        compile_pythranfile(candidate,
                                            cxxflags=cxxflags)

                    print modname + " running ...",
                    sys.stdout.flush()
                    timing = median(ti.repeat(self.nb_iter, number=1))
                    print timing
                else:
                    print "* Skip '" + candidate + ', no #runas directive'

# Cannot use glob here, as the files may not be genrated yet
nt2_headers = (['nt2/' + '*/' * i + '*.hpp' for i in range(1, 20)] +
               ['boost/' + '*/' * i + '*.hpp' for i in range(1, 20)])

setup(name='pythran',
      version=__version__,
      description='a claimless python to c++ converter',
      author='Serge Guelton',
      author_email='serge.guelton@telecom-bretagne.eu',
      url='https://github.com/serge-sans-paille/pythran',
      packages=['pythran', 'pythran.analyses', 'pythran.transformations',
                'pythran.optimizations', 'omp', 'pythran/pythonic'],
      package_data={'pythran': ['pythran.cfg'] + nt2_headers,
                    'pythran/pythonic': ['*.hpp', '*/*.hpp']},
      scripts=['scripts/pythran', 'scripts/pythran-config'],
      classifiers=['Development Status :: 4 - Beta',
                   'Environment :: Console',
                   'Intended Audience :: Developers',
                   'License :: OSI Approved :: BSD License',
                   'Natural Language :: English',
                   'Operating System :: POSIX :: Linux',
                   'Programming Language :: Python :: 2.7',
                   'Programming Language :: Python :: Implementation :: CPython',
                   'Programming Language :: C++',
                   'Topic :: Software Development :: Code Generators'],
      license="BSD 3-Clause",
      requires=['ply (>=3.4)', 'networkx (>=1.5)', 'numpy', 'colorlog'],
      cmdclass={'build': BuildWithPly,
                'test': TestCommand,
                'bench': BenchmarkCommand}
      )
<|endoftext|>


<commit_before>from setuptools import setup

from os import path

def parse_requirements(filename):
    """ load requirements from a pip requirements file """
    lineiter = (line.strip() for line in open(filename))
    return [line for line in lineiter if line and not line.startswith("#")]

here = path.abspath(path.dirname(__file__))
install_reqs = parse_requirements('requirements.txt')

setup(
  name='tensorrec',
  packages=['tensorrec'],
  version='0.25.8',
  description='A TensorFlow recommendation algorithm and framework in Python.',
  author='James Kirk',
  author_email='james.f.kirk@gmail.com',
  url='https://github.com/jfkirk/tensorrec',
  keywords=['machine-learning', 'tensorflow', 'recommendation-system', 'python', 'recommender-system'],
  classifiers=[],
  install_requires=[
      "numpy==1.14.1",
      "scipy==0.19.1",
      "six==1.11.0",
      "tensorflow==1.7.0",
  ],
)
<commit_msg>DEV: Updates version to 0.25.9<commit_after>from setuptools import setup

from os import path

here = path.abspath(path.dirname(__file__))

setup(
  name='tensorrec',
  packages=['tensorrec'],
  version='0.25.9',
  description='A TensorFlow recommendation algorithm and framework in Python.',
  author='James Kirk',
  author_email='james.f.kirk@gmail.com',
  url='https://github.com/jfkirk/tensorrec',
  keywords=['machine-learning', 'tensorflow', 'recommendation-system', 'python', 'recommender-system'],
  classifiers=[],
  install_requires=[
      "numpy==1.14.1",
      "scipy==0.19.1",
      "six==1.11.0",
      "tensorflow==1.7.0",
  ],
)
<|endoftext|>


<commit_before>
try:
    from setuptools import setup, find_packages
except ImportError:
    from distutils.core import setup, find_packages

setup(
    name='dynaconf',
    version="0.2.10",
    url='https://github.com/rochacbruno/dynaconf',
    license='MIT',
    author="Bruno Rocha",
    author_email="rochacbruno@gmail.com",
    description='Load Dynamic config',
    long_description="Load your configs in Dynamic way",
    packages=find_packages(),
    include_package_data=True,
    zip_safe=False,
    platforms='any',
    install_requires=['six==1.10.0'],
    tests_require=[
        "pytest==2.8.3",
        "pytest-cov==2.2.0",
        "flake8==2.5.0",
        "pep8-naming==0.3.3",
        "flake8-debugger==1.4.0",
        "flake8-print==2.0.1",
        "flake8-todo==0.4",
        "radon==1.2.2"
    ],
    extras_require={
        "redis": ['redis==2.10.3'],
    },
    classifiers=[
        'Development Status :: 4 - Beta',
        'Intended Audience :: Developers',
        'Operating System :: POSIX',
        'Operating System :: POSIX :: Linux',
        'License :: OSI Approved :: MIT License',
        'Programming Language :: Python :: 2',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.5',
    ]
)
<commit_msg>pypi is in troublr to release<commit_after>
try:
    from setuptools import setup, find_packages
except ImportError:
    from distutils.core import setup, find_packages

setup(
    name='dynaconf',
    version="0.2.11",
    url='https://github.com/rochacbruno/dynaconf',
    license='MIT',
    author="Bruno Rocha",
    author_email="rochacbruno@gmail.com",
    description='Load Dynamic config',
    long_description="Load your configs in Dynamic way",
    packages=find_packages(),
    include_package_data=True,
    zip_safe=False,
    platforms='any',
    install_requires=['six==1.10.0'],
    tests_require=[
        "pytest==2.8.3",
        "pytest-cov==2.2.0",
        "flake8==2.5.0",
        "pep8-naming==0.3.3",
        "flake8-debugger==1.4.0",
        "flake8-print==2.0.1",
        "flake8-todo==0.4",
        "radon==1.2.2"
    ],
    extras_require={
        "redis": ['redis==2.10.3'],
    },
    classifiers=[
        'Development Status :: 4 - Beta',
        'Intended Audience :: Developers',
        'Operating System :: POSIX',
        'Operating System :: POSIX :: Linux',
        'License :: OSI Approved :: MIT License',
        'Programming Language :: Python :: 2',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.5',
    ]
)
<|endoftext|>


<commit_before>import os

from setuptools import setup

readme_path = os.path.join(os.path.dirname(__file__), "README.rst")
with open(readme_path) as fp:
    long_description = fp.read()

setup(
    name='imdbparser',
    version='1.0.1',
    url='https://github.com/JohnDoee/imdbparser',
    author='John Doee',
    author_email='johndoee@tidalstream.org',
    description='IMDB Parser',
    license='MIT',
    packages=['imdbparser'],
    install_requires=['lxml', 'requests'],
    classifiers=[
        'Development Status :: 4 - Beta',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: MIT License',
        'Operating System :: OS Independent',
        'Programming Language :: Python',
        'Programming Language :: Python :: 2',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.4',
        'Programming Language :: Python :: 3.5',
        'Topic :: Database :: Front-Ends',
        'Topic :: Software Development :: Libraries :: Python Modules',
   ]
)<commit_msg>Fixed description for pypi<commit_after>import os

from setuptools import setup

readme_path = os.path.join(os.path.dirname(__file__), "README.rst")
with open(readme_path) as fp:
    long_description = fp.read()

setup(
    name='imdbparser',
    version='1.0.1',
    url='https://github.com/JohnDoee/imdbparser',
    author='John Doee',
    author_email='johndoee@tidalstream.org',
    description='IMDB Parser',
    long_description=long_description,
    license='MIT',
    packages=['imdbparser'],
    install_requires=['lxml', 'requests'],
    classifiers=[
        'Development Status :: 4 - Beta',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: MIT License',
        'Operating System :: OS Independent',
        'Programming Language :: Python',
        'Programming Language :: Python :: 2',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.4',
        'Programming Language :: Python :: 3.5',
        'Topic :: Database :: Front-Ends',
        'Topic :: Software Development :: Libraries :: Python Modules',
   ]
)<|endoftext|>


<commit_before>#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Copyright 2015 Telefonica Investigación y Desarrollo, S.A.U
This file is part of telefonica-iotqatools
iotqatools is free software: you can redistribute it and/or
modify it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the License,
or (at your option) any later version.
iotqatools is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public
License along with iotqatools.
If not, seehttp://www.gnu.org/licenses/.
For those usages not covered by the GNU Affero General Public License
please contact with::[iot_support@tid.es]
"""

import os
import sys
import re
import setuptools.command.build_py
from setuptools import setup, find_packages, Command

def parse_requirements(file_name):
    requirements = []
    for line in open(file_name, 'r').read().split('\n'):
        if re.match(r'(\s*#)|(\s*$)', line):
            continue
        if re.match(r'\s*-e\s+', line):
            # TODO support version numbers
            requirements.append(re.sub(r'\s*-e\s+.*#egg=(.*)$', r'\1', line))
        elif re.match(r'\s*-f\s+', line):
            pass
        elif re.match(r'\s*-r\s+', line):
            pass
        else:
            requirements.append(line)

    return requirements

def parse_dependency_links(file_name):
    dependency_links = []
    for line in open(file_name, 'r').read().split('\n'):
        if re.match(r'\s*-[ef]\s+', line):
            dependency_links.append(re.sub(r'\s*-[ef]\s+', '', line))
    return dependency_links

def get_requirements(filename):
    return open(filename).read().splitlines()

readme = []
with open('README.md', 'r') as fh:
    readme = fh.readlines()

req = get_requirements('requirements.txt')
req_dev = get_requirements('requirements.txt')

setup(
    name='iotqatools',
    version='0.4.44',
    description='Iot QA Tools',
    url='https://github.com/telefonicaid/iotqatools',
    author='Telefonica I+D',
    zip_safe=False,
    long_description='\n'.join(readme),
    install_requires=req,
    include_package_data=True,
    classifiers=[
        'Development Status :: 2 - Development',
        'Framework :: Behave',
        'Intended Audience :: Developers',
        'Intended Audience :: Quality Assurance',
        'Operating System :: OS Independent',
        'Topic :: Software Development',
        'Programming Language :: Python :: 2.7'
    ],
    py_modules=[
        'iotqatools.ac_utils',
        'iotqatools.cb_utils',
        'iotqatools.cb_ngsiv2_utils',
        'iotqatools.cb_v2_utils',
        'iotqatools.cep_utils',
        'iotqatools.ckan_utils',
        'iotqatools.fabric_utils',
        'iotqatools.helpers_utils',
        'iotqatools.iot_logger',
        'iotqatools.iot_tools',
        'iotqatools.iota_utils',
        'iotqatools.ks_utils',
        'iotqatools.iota_measures',
        'iotqatools.mongo_utils',
        'iotqatools.mysql_utils',
        'iotqatools.orchestator_utils',
        'iotqatools.pep_utils',
        'iotqatools.remote_log_utils',
        'iotqatools.sth_utils'
    ],
    packages=[
        'iotqatools',
        'iotqatools.templates',
        'iotqatools.simulators'
    ],
)
<commit_msg>updated version<commit_after>#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Copyright 2015 Telefonica Investigación y Desarrollo, S.A.U
This file is part of telefonica-iotqatools
iotqatools is free software: you can redistribute it and/or
modify it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the License,
or (at your option) any later version.
iotqatools is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public
License along with iotqatools.
If not, seehttp://www.gnu.org/licenses/.
For those usages not covered by the GNU Affero General Public License
please contact with::[iot_support@tid.es]
"""

import os
import sys
import re
import setuptools.command.build_py
from setuptools import setup, find_packages, Command

def parse_requirements(file_name):
    requirements = []
    for line in open(file_name, 'r').read().split('\n'):
        if re.match(r'(\s*#)|(\s*$)', line):
            continue
        if re.match(r'\s*-e\s+', line):
            # TODO support version numbers
            requirements.append(re.sub(r'\s*-e\s+.*#egg=(.*)$', r'\1', line))
        elif re.match(r'\s*-f\s+', line):
            pass
        elif re.match(r'\s*-r\s+', line):
            pass
        else:
            requirements.append(line)

    return requirements

def parse_dependency_links(file_name):
    dependency_links = []
    for line in open(file_name, 'r').read().split('\n'):
        if re.match(r'\s*-[ef]\s+', line):
            dependency_links.append(re.sub(r'\s*-[ef]\s+', '', line))
    return dependency_links

def get_requirements(filename):
    return open(filename).read().splitlines()

readme = []
with open('README.md', 'r') as fh:
    readme = fh.readlines()

req = get_requirements('requirements.txt')
req_dev = get_requirements('requirements.txt')

setup(
    name='iotqatools',
    version='0.5.0',
    description='Iot QA Tools',
    url='https://github.com/telefonicaid/iotqatools',
    author='Telefonica I+D',
    zip_safe=False,
    long_description='\n'.join(readme),
    install_requires=req,
    include_package_data=True,
    classifiers=[
        'Development Status :: 2 - Development',
        'Framework :: Behave',
        'Intended Audience :: Developers',
        'Intended Audience :: Quality Assurance',
        'Operating System :: OS Independent',
        'Topic :: Software Development',
        'Programming Language :: Python :: 2.7'
    ],
    py_modules=[
        'iotqatools.ac_utils',
        'iotqatools.cb_utils',
        'iotqatools.cb_ngsiv2_utils',
        'iotqatools.cb_v2_utils',
        'iotqatools.cep_utils',
        'iotqatools.ckan_utils',
        'iotqatools.fabric_utils',
        'iotqatools.helpers_utils',
        'iotqatools.iot_logger',
        'iotqatools.iot_tools',
        'iotqatools.iota_utils',
        'iotqatools.ks_utils',
        'iotqatools.iota_measures',
        'iotqatools.mongo_utils',
        'iotqatools.mysql_utils',
        'iotqatools.orchestator_utils',
        'iotqatools.pep_utils',
        'iotqatools.remote_log_utils',
        'iotqatools.sth_utils'
    ],
    packages=[
        'iotqatools',
        'iotqatools.templates',
        'iotqatools.simulators'
    ],
)
<|endoftext|>


<commit_before>from setuptools import setup

VERSION = '0.2.5'

setup(name='snnm',
      version=VERSION,
      author='Gabriel Lima',
      author_email='gvclima@gmail.com',
      description='Naming helper',
      license='MIT',
      keywords='synonym',
      url='https://github.com/ewilazarus/snnm',
      download_url='https://github.com/ewilazarus/snnm/tarball/' + VERSION,
      install_requires=[
          'beautifulsoup4==4.6.0',
          'click==6.7',
          'requests==2.18.4'
      ],
      entry_points={
          'console_scripts': ['snnm=snnm.py:main']
      })
<commit_msg>v0.2.6 publication<commit_after>from setuptools import setup

VERSION = '0.2.6'

setup(name='snnm',
      version=VERSION,
      author='Gabriel Lima',
      author_email='gvclima@gmail.com',
      description='Naming helper',
      license='MIT',
      keywords='synonym',
      url='https://github.com/ewilazarus/snnm',
      download_url='https://github.com/ewilazarus/snnm/tarball/' + VERSION,
      py_modules='snnm',
      install_requires=[
          'beautifulsoup4==4.6.0',
          'click==6.7',
          'requests==2.18.4'
      ],
      entry_points={
          'console_scripts': ['snnm=snnm.py:main']
      })
<|endoftext|>


<commit_before>#!/usr/bin/python
from os.path import isfile
import codecs
import os
import re

from setuptools import setup

if isfile("MANIFEST"):
    os.unlink("MANIFEST")

TOPDIR = os.path.dirname(__file__) or "."
VERSION = re.search('__version__ = "([^"]+)"',
                    codecs.open(TOPDIR + "/dateutil/__init__.py",
                                encoding='utf-8').read()).group(1)

setup(name="python-dateutil",
      version=VERSION,
      description="Extensions to the standard Python datetime module",
      author="Yaron de Leeuw",
      author_email="me@jarondl.net",
      url="https://dateutil.readthedocs.org",
      license="Simplified BSD",
      long_description="""
The dateutil module provides powerful extensions to the
datetime module available in the Python standard library.
""",
      packages=["dateutil", "dateutil.zoneinfo"],
      package_data={"dateutil.zoneinfo": ["dateutil-zoneinfo.tar.gz"]},
      zip_safe=True,
      requires=["six"],
      install_requires=["six >=1.5"],  # XXX fix when packaging is sane again
      classifiers=[
          'Development Status :: 5 - Production/Stable',
          'Intended Audience :: Developers',
          'License :: OSI Approved :: BSD License',
          'Programming Language :: Python',
          'Programming Language :: Python :: 2',
          'Programming Language :: Python :: 2.6',
          'Programming Language :: Python :: 2.7',
          'Programming Language :: Python :: 3',
          'Programming Language :: Python :: 3.2',
          'Programming Language :: Python :: 3.3',
          'Programming Language :: Python :: 3.4',
          'Topic :: Software Development :: Libraries',
      ],
      test_suite="dateutil.test"
      )
<commit_msg>BLD: update versions of python supported<commit_after>#!/usr/bin/python
from os.path import isfile
import codecs
import os
import re

from setuptools import setup

if isfile("MANIFEST"):
    os.unlink("MANIFEST")

TOPDIR = os.path.dirname(__file__) or "."
VERSION = re.search('__version__ = "([^"]+)"',
                    codecs.open(TOPDIR + "/dateutil/__init__.py",
                                encoding='utf-8').read()).group(1)

setup(name="python-dateutil",
      version=VERSION,
      description="Extensions to the standard Python datetime module",
      author="Yaron de Leeuw",
      author_email="me@jarondl.net",
      url="https://dateutil.readthedocs.org",
      license="Simplified BSD",
      long_description="""
The dateutil module provides powerful extensions to the
datetime module available in the Python standard library.
""",
      packages=["dateutil", "dateutil.zoneinfo"],
      package_data={"dateutil.zoneinfo": ["dateutil-zoneinfo.tar.gz"]},
      zip_safe=True,
      requires=["six"],
      install_requires=["six >=1.5"],  # XXX fix when packaging is sane again
      classifiers=[
          'Development Status :: 5 - Production/Stable',
          'Intended Audience :: Developers',
          'License :: OSI Approved :: BSD License',
          'Programming Language :: Python',
          'Programming Language :: Python :: 2',
          'Programming Language :: Python :: 2.6',
          'Programming Language :: Python :: 2.7',
          'Programming Language :: Python :: 3',
          'Programming Language :: Python :: 3.2',
          'Programming Language :: Python :: 3.3',
          'Programming Language :: Python :: 3.4',
          'Programming Language :: Python :: 3.5',
          'Topic :: Software Development :: Libraries',
      ],
      test_suite="dateutil.test"
      )
<|endoftext|>


<commit_before>from setuptools import setup, find_packages

setup(
    name='jj',
    description='A simple testing tool for mocking HTTP responses',
    version='0.1.3',
    url='https://github.com/nikitanovosibirsk/jj',
    author='Nikita Tsvetkov',
    author_email='nikitanovosibirsk@yandex.com',
    license='MIT',
    packages=find_packages(),
    install_requires=[
        'Werkzeug==0.11.4',
        'requests==2.9.1',
        'requests-toolbelt==0.6.0'
    ]
)
<commit_msg>updated version<commit_after>from setuptools import setup, find_packages

setup(
    name='jj',
    description='A simple testing tool for mocking HTTP responses',
    version='0.1.3',
    url='https://github.com/nikitanovosibirsk/jj',
    author='Nikita Tsvetkov',
    author_email='nikitanovosibirsk@yandex.com',
    license='MIT',
    packages=find_packages(),
    install_requires=[
        'Werkzeug==0.14.1',
        'requests==2.9.1',
        'requests-toolbelt==0.6.0'
    ]
)
<|endoftext|>


<commit_before>"""Setup for pip package."""

from setuptools import find_namespace_packages
from setuptools import setup

def _get_version():
  with open('vizier/__init__.py') as fp:
    for line in fp:
      if line.startswith('__version__'):
        g = {}
        exec(line, g)  # pylint: disable=exec-used
        return g['__version__']
    raise ValueError('`__version__` not defined in `vizier/__init__.py`')

def _strip_comments_from_line(s: str) -> str:
  """Parses a line of a requirements.txt file."""
  requirement, *_ = s.split('#')
  return requirement.strip()

def _parse_requirements(requirements_txt_path: str) -> list[str]:
  """Returns a list of dependencies for setup() from requirements.txt."""

  # Currently a requirements.txt is being used to specify dependencies. In order
  # to avoid specifying it in two places, we're going to use that file as the
  # source of truth.
  with open(requirements_txt_path) as fp:
    # Parse comments.
    lines = [_strip_comments_from_line(line) for line in fp.read().splitlines()]
    # Remove empty lines and direct github repos (not allowed in PyPI setups)
    return [l for l in lines if (l and 'github.com' not in l)]

_VERSION = _get_version()

setup(
    name='google-vizier',
    version=_VERSION,
    url='https://github.com/google/vizier',
    license='Apache License 2.0',
    author='Vizier Team',
    description='Vizier: Distributed service framework for blackbox optimization and research.',
    long_description=open('README.md').read(),
    long_description_content_type='text/markdown',
    author_email='oss-vizier-dev@google.com',
    # Contained modules and scripts.
    packages=find_namespace_packages(
        include=['vizier*'], exclude=['*_test.py', 'examples']),
    install_requires=_parse_requirements('requirements.txt'),
    extras_require={
        'jax': _parse_requirements('requirements-jax.txt'),
        'tf': _parse_requirements('requirements-tf.txt'),
        'algorithms': _parse_requirements('requirements-algorithms.txt'),
        'benchmarks': _parse_requirements('requirements-benchmarks.txt')
    },
    # tests_require=_parse_requirements('requirements-test.txt'),
    requires_python='>=3.9',
    include_package_data=True,
    zip_safe=False,
    # PyPI package information.
    classifiers=[
        'Development Status :: 5 - Alpha',
        'Intended Audience :: Developers',
        'Intended Audience :: Education',
        'Intended Audience :: Science/Research',
        'License :: OSI Approved :: Apache Software License',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.9',
        'Topic :: Scientific/Engineering :: Mathematics',
        'Topic :: Software Development :: Libraries :: Python Modules',
        'Topic :: Software Development :: Libraries',
    ],
    keywords='ai machine learning hyperparameter blackbox optimization framework',
)
<commit_msg>Change deployment classifier to correct one from https://pypi.org/classifiers/<commit_after>"""Setup for pip package."""

from setuptools import find_namespace_packages
from setuptools import setup

def _get_version():
  with open('vizier/__init__.py') as fp:
    for line in fp:
      if line.startswith('__version__'):
        g = {}
        exec(line, g)  # pylint: disable=exec-used
        return g['__version__']
    raise ValueError('`__version__` not defined in `vizier/__init__.py`')

def _strip_comments_from_line(s: str) -> str:
  """Parses a line of a requirements.txt file."""
  requirement, *_ = s.split('#')
  return requirement.strip()

def _parse_requirements(requirements_txt_path: str) -> list[str]:
  """Returns a list of dependencies for setup() from requirements.txt."""

  # Currently a requirements.txt is being used to specify dependencies. In order
  # to avoid specifying it in two places, we're going to use that file as the
  # source of truth.
  with open(requirements_txt_path) as fp:
    # Parse comments.
    lines = [_strip_comments_from_line(line) for line in fp.read().splitlines()]
    # Remove empty lines and direct github repos (not allowed in PyPI setups)
    return [l for l in lines if (l and 'github.com' not in l)]

_VERSION = _get_version()

setup(
    name='google-vizier',
    version=_VERSION,
    url='https://github.com/google/vizier',
    license='Apache License 2.0',
    author='Vizier Team',
    description='Vizier: Distributed service framework for blackbox optimization and research.',
    long_description=open('README.md').read(),
    long_description_content_type='text/markdown',
    author_email='oss-vizier-dev@google.com',
    # Contained modules and scripts.
    packages=find_namespace_packages(
        include=['vizier*'], exclude=['*_test.py', 'examples']),
    install_requires=_parse_requirements('requirements.txt'),
    extras_require={
        'jax': _parse_requirements('requirements-jax.txt'),
        'tf': _parse_requirements('requirements-tf.txt'),
        'algorithms': _parse_requirements('requirements-algorithms.txt'),
        'benchmarks': _parse_requirements('requirements-benchmarks.txt')
    },
    # tests_require=_parse_requirements('requirements-test.txt'),
    requires_python='>=3.9',
    include_package_data=True,
    zip_safe=False,
    # PyPI package information.
    classifiers=[
        'Development Status :: 3 - Alpha',
        'Intended Audience :: Developers',
        'Intended Audience :: Education',
        'Intended Audience :: Science/Research',
        'License :: OSI Approved :: Apache Software License',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.9',
        'Topic :: Scientific/Engineering :: Mathematics',
        'Topic :: Software Development :: Libraries :: Python Modules',
        'Topic :: Software Development :: Libraries',
    ],
    keywords='ai machine learning hyperparameter blackbox optimization framework',
)
<|endoftext|>


<commit_before>#!/usr/bin/env python
from distutils.core import setup

for cmd in ('egg_info', 'develop'):
    import sys
    if cmd in sys.argv:
        from setuptools import setup

setup(
    name='django-qsstats-magic',
    version='1.0.0',
    description='A django microframework that eases the generation of aggregate data for querysets.',
    long_description = open('README.rst').read(),
    author='Matt Croydon, Mikhail Korobov',
    author_email='mcroydon@gmail.com, kmike84@gmail.com',
    url='https://github.com/PetrDlouhy/django-qsstats-magic',
    packages=['qsstats'],
    requires=['dateutil(>=1.4.1, < 2.0)', 'six'],
    classifiers=[
        'Development Status :: 4 - Beta',
        'Environment :: Web Environment',
        'Framework :: Django',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: MIT License',
        'Programming Language :: Python',
        'Programming Language :: Python :: 2',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3.4',
        'Programming Language :: Python :: 3.5',
        'Programming Language :: Python :: 3.6',
        'Topic :: Software Development :: Libraries :: Python Modules',
    ],
)
<commit_msg>bump version to 1.1.0<commit_after>#!/usr/bin/env python
from distutils.core import setup

for cmd in ('egg_info', 'develop'):
    import sys
    if cmd in sys.argv:
        from setuptools import setup

setup(
    name='django-qsstats-magic',
    version='1.1.0',
    description='A django microframework that eases the generation of aggregate data for querysets.',
    long_description = open('README.rst').read(),
    author='Matt Croydon, Mikhail Korobov',
    author_email='mcroydon@gmail.com, kmike84@gmail.com',
    url='https://github.com/PetrDlouhy/django-qsstats-magic',
    packages=['qsstats'],
    requires=['dateutil(>=1.4.1, < 2.0)', 'six'],
    classifiers=[
        'Development Status :: 4 - Beta',
        'Environment :: Web Environment',
        'Framework :: Django',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: MIT License',
        'Programming Language :: Python',
        'Programming Language :: Python :: 2',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3.4',
        'Programming Language :: Python :: 3.5',
        'Programming Language :: Python :: 3.6',
        'Topic :: Software Development :: Libraries :: Python Modules',
    ],
)
<|endoftext|>


<commit_before>#!/usr/bin/env python
# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
import setuptools

# In python < 2.7.4, a lazy loading of package `pbr` will break
# setuptools if some other modules registered functions in `atexit`.
# solution from: http://bugs.python.org/issue15881#msg170215
try:
    import multiprocessing  # noqa
except ImportError:
    pass

setuptools.setup(
    setup_requires=['pbr'],
    pbr=True)
<commit_msg>Updated from global requirements<commit_after>#!/usr/bin/env python
# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
import setuptools

# In python < 2.7.4, a lazy loading of package `pbr` will break
# setuptools if some other modules registered functions in `atexit`.
# solution from: http://bugs.python.org/issue15881#msg170215
try:
    import multiprocessing  # noqa
except ImportError:
    pass

setuptools.setup(
    setup_requires=['pbr'],
    pbr=True)
<|endoftext|>


<commit_before># Copyright 2013 Arnaud Porterie
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from distutils.core import setup

setup(
    name='PyWldap',
    version='0.2.1',
    description='Python wrapper over Wldap32 Windows library',

    author='Arnaud Porterie',
    author_email='arnaud.porterie@gmail.com',
    url='https://github.com/icecrime/PyWldap',

    packages=['wldap'],

    classifiers=[
        'Programming Language :: Python',
        'Topic :: Software Development :: Libraries :: Python Modules',
    ]
)
<commit_msg>Push version to 0.3.0<commit_after># Copyright 2013 Arnaud Porterie
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

from distutils.core import setup

setup(
    name='PyWldap',
    version='0.3.0',
    description='Python wrapper over Wldap32 Windows library',

    author='Arnaud Porterie',
    author_email='arnaud.porterie@gmail.com',
    url='https://github.com/icecrime/PyWldap',

    packages=['wldap'],

    classifiers=[
        'Programming Language :: Python',
        'Topic :: Software Development :: Libraries :: Python Modules',
    ]
)
<|endoftext|>


<commit_before>from setuptools import setup

setup(
    name='hyperchamber',
    version='0.3',
    description='Tune and optimize your hyperparameters',
    author='255bits',
    author_email="support@255bits.com",
    packages=['hyperchamber', 'hyperchamber.io'],
    install_requires=['requests >= 2.4.2'],
    url='https://github.com/255bits/hyperchamber',
    license='MIT',
    classifiers=[
                 ],
)
<commit_msg>[bump] version<commit_after>from setuptools import setup

setup(
    name='hyperchamber',
    version='0.3.1',
    description='Tune and optimize your hyperparameters',
    author='255bits',
    author_email="support@255bits.com",
    packages=['hyperchamber', 'hyperchamber.io'],
    install_requires=['requests >= 2.4.2'],
    url='https://github.com/255bits/hyperchamber',
    license='MIT',
    classifiers=[
                 ],
)
<|endoftext|>


<commit_before>try:
    from setuptools import setup, find_packages
except ImportError:
    from ez_setup import use_setuptools
    use_setuptools()
    from setuptools import setup, find_packages

setup(
    name='prickle',
    version='0.1',
    description='A simple couchdb based time-tracking tool',
    author='Dusty Phillips',
    author_email='dusty@archlinux.ca',
    url='',
    install_requires=[
        "Pylons>=1.0",
        "Jinja2",
        "couchdb-python",
    ],
    setup_requires=["PasteScript>=1.6.3"],
    packages=find_packages(exclude=['ez_setup']),
    include_package_data=True,
    test_suite='nose.collector',
    package_data={'prickle': ['i18n/*/LC_MESSAGES/*.mo']},
    #message_extractors={'prickle': [
    #        ('**.py', 'python', None),
    #        ('public/**', 'ignore', None)]},
    zip_safe=False,
    paster_plugins=['PasteScript', 'Pylons'],
    entry_points="""
    [paste.app_factory]
    main = prickle.config.middleware:make_app

    [paste.app_install]
    main = pylons.util:PylonsInstaller
    """,
)
<commit_msg>fix dependencies.<commit_after>try:
    from setuptools import setup, find_packages
except ImportError:
    from ez_setup import use_setuptools
    use_setuptools()
    from setuptools import setup, find_packages

setup(
    name='prickle',
    version='0.1',
    description='A simple couchdb based time-tracking tool',
    author='Dusty Phillips',
    author_email='dusty@archlinux.ca',
    url='',
    install_requires=[
        "Pylons>=1.0",
        "Jinja2",
        "CouchDB",
    ],
    setup_requires=["PasteScript>=1.6.3"],
    packages=find_packages(exclude=['ez_setup']),
    include_package_data=True,
    test_suite='nose.collector',
    package_data={'prickle': ['i18n/*/LC_MESSAGES/*.mo']},
    #message_extractors={'prickle': [
    #        ('**.py', 'python', None),
    #        ('public/**', 'ignore', None)]},
    zip_safe=False,
    paster_plugins=['PasteScript', 'Pylons'],
    entry_points="""
    [paste.app_factory]
    main = prickle.config.middleware:make_app

    [paste.app_install]
    main = pylons.util:PylonsInstaller
    """,
)
<|endoftext|>