<commit_before>from setuptools import setup, find_packages
from os import path
import re

VERSION = re.search("VERSION = '([^']+)'", open(
    path.join(path.dirname(__file__), 'webencodings', '__init__.py')
).read().strip()).group(1)

LONG_DESCRIPTION = open(path.join(path.dirname(__file__), 'README.rst')).read()

setup(
    name='webencodings',
    version=VERSION,
    url='https://github.com/SimonSapin/python-webencodings',
    license='BSD',
    author='Simon Sapin',
    author_email='simon.sapin@exyr.org',
    description='Character encoding aliases for legacy web content',
    long_description=LONG_DESCRIPTION,
    classifiers=[
        'Development Status :: 4 - Beta',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: BSD License',
        'Programming Language :: Python :: 2',
        'Programming Language :: Python :: 3',
        'Topic :: Internet :: WWW/HTTP',
    ],
    packages=find_packages(),
)
<commit_msg>Open file to read version as UTF-8.<commit_after>from setuptools import setup, find_packages
import io
from os import path
import re

VERSION = re.search("VERSION = '([^']+)'", io.open(
    path.join(path.dirname(__file__), 'webencodings', '__init__.py'),
    encoding='utf-8'
).read().strip()).group(1)

LONG_DESCRIPTION = io.open(
    path.join(path.dirname(__file__), 'README.rst'),
    encoding='utf-8'
).read()

setup(
    name='webencodings',
    version=VERSION,
    url='https://github.com/SimonSapin/python-webencodings',
    license='BSD',
    author='Simon Sapin',
    author_email='simon.sapin@exyr.org',
    description='Character encoding aliases for legacy web content',
    long_description=LONG_DESCRIPTION,
    classifiers=[
        'Development Status :: 4 - Beta',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: BSD License',
        'Programming Language :: Python :: 2',
        'Programming Language :: Python :: 3',
        'Topic :: Internet :: WWW/HTTP',
    ],
    packages=find_packages(),
)
<|endoftext|>


<commit_before># Copyright (c) 2012 Spotify AB
#
# 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.

import os

from setuptools import setup

def get_static_files(path):
    return [os.path.join(dirpath.replace("luigi/", ""), ext)
            for (dirpath, dirnames, filenames) in os.walk(path)
            for ext in ["*.html", "*.ico", "*.js", "*.css", "*.png",
                        "*.eot", "*.svg", "*.ttf", "*.woff", "*.woff2"]]

luigi_package_data = sum(map(get_static_files, ["luigi/static", "luigi/templates"]), [])

readme_note = """\
.. note::

   For the latest source, discussion, etc, please visit the
   `GitHub repository <https://github.com/spotify/luigi>`_\n\n
"""

with open('README.rst') as fobj:
    long_description = readme_note + fobj.read()

install_requires = [
    'pymysql',
    'tornado>=4.0,<5',
    'python-daemon<3.0',
]

if os.environ.get('READTHEDOCS', None) == 'True':
    # So that we can build documentation for luigi.db_task_history and luigi.contrib.sqla
    install_requires.append('sqlalchemy')
    # readthedocs don't like python-daemon, see #1342
    install_requires.remove('python-daemon<3.0')
    install_requires.append('sphinx>=1.4.4')  # Value mirrored in doc/conf.py

setup(
    name='luigi',
    version='2.6.2.1',
    description='Workflow mgmgt + task scheduling + dependency resolution',
    long_description=long_description,
    author='The Luigi Authors',
    url='https://github.com/spotify/luigi',
    license='Apache License 2.0',
    packages=[
        'luigi',
        'luigi.contrib',
        'luigi.contrib.hdfs',
        'luigi.tools'
    ],
    package_data={
        'luigi': luigi_package_data
    },
    entry_points={
        'console_scripts': [
            'luigi = luigi.cmdline:luigi_run',
            'luigid = luigi.cmdline:luigid',
            'luigi-grep = luigi.tools.luigi_grep:main',
            'luigi-deps = luigi.tools.deps:main',
            'luigi-deps-tree = luigi.tools.deps_tree:main',
            'luigi-migrate = luigi.tools.migrate:main'
        ]
    },
    install_requires=install_requires,
    classifiers=[
        'Development Status :: 5 - Production/Stable',
        'Environment :: Console',
        'Environment :: Web Environment',
        'Intended Audience :: Developers',
        'Intended Audience :: System Administrators',
        'License :: OSI Approved :: Apache Software License',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3.3',
        'Programming Language :: Python :: 3.4',
        'Programming Language :: Python :: 3.5',
        'Topic :: System :: Monitoring',
    ],
)
<commit_msg>Bump version for process termination<commit_after># Copyright (c) 2012 Spotify AB
#
# 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.

import os

from setuptools import setup

def get_static_files(path):
    return [os.path.join(dirpath.replace("luigi/", ""), ext)
            for (dirpath, dirnames, filenames) in os.walk(path)
            for ext in ["*.html", "*.ico", "*.js", "*.css", "*.png",
                        "*.eot", "*.svg", "*.ttf", "*.woff", "*.woff2"]]

luigi_package_data = sum(map(get_static_files, ["luigi/static", "luigi/templates"]), [])

readme_note = """\
.. note::

   For the latest source, discussion, etc, please visit the
   `GitHub repository <https://github.com/spotify/luigi>`_\n\n
"""

with open('README.rst') as fobj:
    long_description = readme_note + fobj.read()

install_requires = [
    'pymysql',
    'tornado>=4.0,<5',
    'python-daemon<3.0',
]

if os.environ.get('READTHEDOCS', None) == 'True':
    # So that we can build documentation for luigi.db_task_history and luigi.contrib.sqla
    install_requires.append('sqlalchemy')
    # readthedocs don't like python-daemon, see #1342
    install_requires.remove('python-daemon<3.0')
    install_requires.append('sphinx>=1.4.4')  # Value mirrored in doc/conf.py

setup(
    name='luigi',
    version='2.6.2.2',
    description='Workflow mgmgt + task scheduling + dependency resolution',
    long_description=long_description,
    author='The Luigi Authors',
    url='https://github.com/spotify/luigi',
    license='Apache License 2.0',
    packages=[
        'luigi',
        'luigi.contrib',
        'luigi.contrib.hdfs',
        'luigi.tools'
    ],
    package_data={
        'luigi': luigi_package_data
    },
    entry_points={
        'console_scripts': [
            'luigi = luigi.cmdline:luigi_run',
            'luigid = luigi.cmdline:luigid',
            'luigi-grep = luigi.tools.luigi_grep:main',
            'luigi-deps = luigi.tools.deps:main',
            'luigi-deps-tree = luigi.tools.deps_tree:main',
            'luigi-migrate = luigi.tools.migrate:main'
        ]
    },
    install_requires=install_requires,
    classifiers=[
        'Development Status :: 5 - Production/Stable',
        'Environment :: Console',
        'Environment :: Web Environment',
        'Intended Audience :: Developers',
        'Intended Audience :: System Administrators',
        'License :: OSI Approved :: Apache Software License',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3.3',
        'Programming Language :: Python :: 3.4',
        'Programming Language :: Python :: 3.5',
        'Topic :: System :: Monitoring',
    ],
)
<|endoftext|>


<commit_before>from setuptools import setup

setup(
    name='aws-fuzzy-finder',
    version='1.1.0',
    url='https://github.com/pmazurek/aws-fuzzy-finder',
    description='SSH into AWS instances using fuzzy search through tags.',
    download_url='https://github.com/pmazurek/aws-fuzzy-finder/tarball/v1.1.0',
    author='Piotr Mazurek, Daria Rudkiewicz',
    keywords=['aws', 'ssh', 'fuzzy', 'ec2'],
    packages=['aws_fuzzy_finder'],
    package_data={'': [
        'libs/fzf-0.17.0-linux_386',
        'libs/fzf-0.17.0-linux_amd64',
        'libs/fzf-0.17.0-darwin_386',
        'libs/fzf-0.17.0-darwin_amd64',
    ]},
    install_requires=[
        'boto3>=1.3.1',
        'click>=6.6'
    ],
    entry_points=dict(
        console_scripts=[
            'aws-fuzzy = aws_fuzzy_finder.main:entrypoint',
        ]
    )
)
<commit_msg>[Release] version v1.1.1<commit_after>from setuptools import setup

setup(
    name='aws-fuzzy-finder',
    version='1.1.1',
    url='https://github.com/pmazurek/aws-fuzzy-finder',
    description='SSH into AWS instances using fuzzy search through tags.',
    download_url='https://github.com/pmazurek/aws-fuzzy-finder/tarball/v1.1.1',
    author='Piotr Mazurek, Daria Rudkiewicz',
    keywords=['aws', 'ssh', 'fuzzy', 'ec2'],
    packages=['aws_fuzzy_finder'],
    package_data={'': [
        'libs/fzf-0.17.0-linux_386',
        'libs/fzf-0.17.0-linux_amd64',
        'libs/fzf-0.17.0-darwin_386',
        'libs/fzf-0.17.0-darwin_amd64',
    ]},
    install_requires=[
        'boto3>=1.3.1',
        'click>=6.6'
    ],
    entry_points=dict(
        console_scripts=[
            'aws-fuzzy = aws_fuzzy_finder.main:entrypoint',
        ]
    )
)
<|endoftext|>


<commit_before>from setuptools import setup, find_packages

with open('README.rst') as readme_file:
    readme = readme_file.read()

with open('HISTORY.rst') as history_file:
    history = history_file.read()

long_description = readme + history

setup(
    name='django-contrib-comments',
    version='2.0.0',
    url="https://github.com/django/django-contrib-comments",
    description='The code formerly known as django.contrib.comments.',
    long_description=long_description,
    author='Django Software Foundation',
    author_email='jacob@jacobian.org',
    license='BSD',
    platforms='any',
    zip_safe=False,
    classifiers=[
        'Development Status :: 5 - Production/Stable',
        'Environment :: Web Environment',
        'Framework :: Django',
        'Framework :: Django :: 2.2',
        'Framework :: Django :: 3.0',
        'Framework :: Django :: 3.1',
        'Intended Audience :: Developers',
        'Natural Language :: English',
        'License :: OSI Approved :: BSD License',
        'Operating System :: OS Independent',
        'Programming Language :: Python',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.6',
        'Programming Language :: Python :: 3.7',
        'Programming Language :: Python :: 3.8',
        'Programming Language :: Python :: 3.9',
    ],
    packages=find_packages(exclude=['tests', 'tests.*']),
    include_package_data=True,
    test_suite='tests.runtests.main',
    install_requires=['Django>=2.2']
)
<commit_msg>Added missed Python 3.5 to setup.py classifiers.<commit_after>from setuptools import setup, find_packages

with open('README.rst') as readme_file:
    readme = readme_file.read()

with open('HISTORY.rst') as history_file:
    history = history_file.read()

long_description = readme + history

setup(
    name='django-contrib-comments',
    version='2.0.0',
    url="https://github.com/django/django-contrib-comments",
    description='The code formerly known as django.contrib.comments.',
    long_description=long_description,
    author='Django Software Foundation',
    author_email='jacob@jacobian.org',
    license='BSD',
    platforms='any',
    zip_safe=False,
    classifiers=[
        'Development Status :: 5 - Production/Stable',
        'Environment :: Web Environment',
        'Framework :: Django',
        'Framework :: Django :: 2.2',
        'Framework :: Django :: 3.0',
        'Framework :: Django :: 3.1',
        'Intended Audience :: Developers',
        'Natural Language :: English',
        'License :: OSI Approved :: BSD License',
        'Operating System :: OS Independent',
        'Programming Language :: Python',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python :: 3.5',
        'Programming Language :: Python :: 3.6',
        'Programming Language :: Python :: 3.7',
        'Programming Language :: Python :: 3.8',
        'Programming Language :: Python :: 3.9',
    ],
    packages=find_packages(exclude=['tests', 'tests.*']),
    include_package_data=True,
    test_suite='tests.runtests.main',
    install_requires=['Django>=2.2']
)
<|endoftext|>


<commit_before>import os
from setuptools import setup, find_packages

README = open(os.path.join(os.path.dirname(__file__), 'README.rst')).read()

# allow setup.py to be run from any path
os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir)))

setup(
    name='cmsplugin-googleplus',
    version='0.3.2',
    include_package_data=True,
    license='MIT License',
    description='Django-CMS plugin for Google Plus Activities',
    long_description=README,
    url='https://github.com/itbabu/cmsplugin-googleplus',
    author='Marco Badan',
    author_email='info@marcobadan.com',
    classifiers=[
        'Development Status :: 4 - Beta',
        'Environment :: Web Environment',
        'Framework :: Django',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: MIT License',
        'Operating System :: OS Independent',
        'Programming Language :: Python',
        'Programming Language :: Python :: 2.7',
        'Topic :: Internet :: WWW/HTTP',
        'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
    ],
    install_requires=[
        'google-api-python-client==1.1',
        'python-dateutil==2.1'
    ],
    tests_require=[
        'mock==1.0.1',
        'django-nose==1.2'
    ],
    packages=find_packages()
)<commit_msg>updated version<commit_after>import os
from setuptools import setup, find_packages

README = open(os.path.join(os.path.dirname(__file__), 'README.rst')).read()

# allow setup.py to be run from any path
os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir)))

setup(
    name='cmsplugin-googleplus',
    version='0.3.3-dev',
    include_package_data=True,
    license='MIT License',
    description='Django-CMS plugin for Google Plus Activities',
    long_description=README,
    url='https://github.com/itbabu/cmsplugin-googleplus',
    author='Marco Badan',
    author_email='info@marcobadan.com',
    classifiers=[
        'Development Status :: 4 - Beta',
        'Environment :: Web Environment',
        'Framework :: Django',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: MIT License',
        'Operating System :: OS Independent',
        'Programming Language :: Python',
        'Programming Language :: Python :: 2.7',
        'Topic :: Internet :: WWW/HTTP',
        'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
    ],
    install_requires=[
        'google-api-python-client==1.1',
        'python-dateutil==2.1'
    ],
    tests_require=[
        'mock==1.0.1',
        'django-nose==1.2'
    ],
    packages=find_packages()
)<|endoftext|>


<commit_before>from setuptools import setup

setup(
	name = 'audiorename',
	version = '0.0.3',
	author = 'Josef Friedrich',
	author_email = 'josef@friedrich.rocks',
	description = ('Rename audio files from metadata tags.'),
	license = 'MIT',
	packages = ['audiorename'],
	keywords = 'audio',
	url = 'https://github.com/Josef-Friedrich/audiorename',
	install_requires = [
		'phrydy', 'tmep', 'ansicolor',
	],
	scripts = ['bin/audiorenamer'],
	classifiers = [
		'Development Status :: 3 - Alpha',
	],
	zip_safe=False,
)
<commit_msg>Update version<commit_after>from setuptools import setup

setup(
	name = 'audiorename',
	version = '0.0.4',
	author = 'Josef Friedrich',
	author_email = 'josef@friedrich.rocks',
	description = ('Rename audio files from metadata tags.'),
	license = 'MIT',
	packages = ['audiorename'],
	keywords = 'audio',
	url = 'https://github.com/Josef-Friedrich/audiorename',
	install_requires = [
		'phrydy', 'tmep', 'ansicolor',
	],
	scripts = ['bin/audiorenamer'],
	classifiers = [
		'Development Status :: 3 - Alpha',
	],
	zip_safe=False,
)
<|endoftext|>


<commit_before>from setuptools import setup

with open("README.rst", "rb") as f:
    long_description = f.read()

setup(
    name='Speech-Hacker',
    packages=['Speech-Hacker'],
    version='2.3',
    scripts=['Speech-Hacker/Speech-Hacker', 'Speech-Hacker/generator.py',
             'Speech-Hacker/trainer.py'],
    description="Makes famous people speak whatever you wish by" +
                "linking their words",
    long_description=long_description,
    author='Parham Pourdavood',
    author_email='ppourdavood@gmail.com',
    url='https://github.com/parhamp/Speech-Hacker',
    download_url='https://github.com/parhamp/Speech-Hacker/tarball/0.7',
    keywords=['Speech', 'Linking Words', 'Speech Hacking', 'audio', 'ibm',
              'watson', 'simpleaudioindexer'],  # arbitrary keywords
    classifiers=[],
    install_requires=['SimpleAudioIndexer', 'pydub'],
    license="Apache-2.0"
)
<commit_msg>for python3 setup.py install<commit_after>from setuptools import setup

with open("README.rst", "rb") as f:
    long_description = f.read()

setup(
    name='Speech-Hacker',
    packages=['Speech-Hacker'],
    version='2.3',
    scripts=['Speech-Hacker/Speech-Hacker', 'Speech-Hacker/generator.py',
             'Speech-Hacker/trainer.py'],
    description="Makes famous people speak whatever you wish by" +
                "linking their words",
    long_description=str(long_description),
    author='Parham Pourdavood',
    author_email='ppourdavood@gmail.com',
    url='https://github.com/parhamp/Speech-Hacker',
    download_url='https://github.com/parhamp/Speech-Hacker/tarball/0.7',
    keywords=['Speech', 'Linking Words', 'Speech Hacking', 'audio', 'ibm',
              'watson', 'simpleaudioindexer'],  # arbitrary keywords
    classifiers=[],
    install_requires=['SimpleAudioIndexer', 'pydub'],
    license="Apache-2.0"
)
<|endoftext|>


<commit_before>from setuptools import setup, find_packages

setup(
    name = "wagtail-blog",
    version = "1.5.3",
    author = "David Burke",
    author_email = "david@thelabnyc.com",
    description = ("A wordpress like blog app implemented in wagtail"),
    license = "Apache License",
    keywords = "django wagtail blog",
    url = "https://github.com/thelabnyc/wagtail_blog",
    packages=find_packages(),
    include_package_data=True,
    classifiers=[
        "Development Status :: 4 - Beta",
        'Environment :: Web Environment',
        'Framework :: Django',
        'Programming Language :: Python',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3.4',
        'Intended Audience :: Developers',
        "License :: OSI Approved :: Apache Software License",
    ],
    install_requires=[
        'wagtail>=0.8.5',
    ]
)
<commit_msg>new release<commit_after>from setuptools import setup, find_packages

setup(
    name = "wagtail-blog",
    version = "1.5.4",
    author = "David Burke",
    author_email = "david@thelabnyc.com",
    description = ("A wordpress like blog app implemented in wagtail"),
    license = "Apache License",
    keywords = "django wagtail blog",
    url = "https://github.com/thelabnyc/wagtail_blog",
    packages=find_packages(),
    include_package_data=True,
    classifiers=[
        "Development Status :: 4 - Beta",
        'Environment :: Web Environment',
        'Framework :: Django',
        'Programming Language :: Python',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3.4',
        'Intended Audience :: Developers',
        "License :: OSI Approved :: Apache Software License",
    ],
    install_requires=[
        'wagtail>=0.8.5',
    ]
)
<|endoftext|>


<commit_before>#!/usr/bin/env python
"""Description:
Setup script for Haystack -- Epigenetic Variability and Transcription Factor Motifs Analysis Pipeline
@status:  beta
@version: $Revision$
@author:  Luca Pinello
@contact: lpinello@jimmy.harvard.edu
"""

import os
import sys
import re
from setuptools import setup, Extension
import os
import pickle as cp
import glob
import subprocess as sb
import sys
import platform
import shutil
from os.path import expanduser
import urllib
import time
from distutils.dir_util import copy_tree

#TO INSTALL HAYSTACK DEPENDECIENS IN A CUSTOM LOCATION SET THE ENV VARIABLE: HAYSTACK_DEPENDENCIES_FOLDER
if os.environ.get('HAYSTACK_DEPENDENCIES_FOLDER'):
	INSTALLATION_PATH=os.environ.get('HAYSTACK_DEPENDENCIES_FOLDER')
else:
	INSTALLATION_PATH='%s/Haystack_dependencies' % os.environ['HOME']

BIN_FOLDER=os.path.join(INSTALLATION_PATH,'bin')

def main():
	if float(sys.version[:3])<2.6 or float(sys.version[:3])>=2.8:
		sys.stdout.write("CRITICAL: Python version must be 2.7!\n")
		sys.exit(1)

	version = re.search(
    	'^__version__\s*=\s*"(.*)"',
    	open('haystack/haystack_common.py').read(),
    	re.M
    	).group(1)

	if float(sys.version[:3])<2.6 or float(sys.version[:3])>=2.8:
    		sys.stdout.write("ERROR: Python version must be 2.6 or 2.7!\n")
    		sys.exit(1)

	setup(
		   version=version,
          name = "haystack_bio",
          include_package_data = True,
    	   packages = ["haystack"],
    	   package_dir={'haystack': 'haystack'},
          package_data={'haystack': ['./*']},
    	   entry_points = {
        	"console_scripts": ['haystack_pipeline = haystack.haystack_pipeline_CORE:main',
          'haystack_hotspots =  haystack.haystack_hotspots_CORE:main',
          'haystack_motifs = haystack.haystack_motifs_CORE:main',
          'haystack_tf_activity_plane = haystack.haystack_tf_activity_plane_CORE:main',
          'haystack_download_genome = haystack.haystack_download_genome_CORE:main',]
           },
          description="Epigenetic Variability and Transcription Factor Motifs Analysis Pipeline",
          author='Luca Pinello',
          author_email='lpinello@jimmy.harvard.edu',
          url='http://github.com/lucapinello/Haystack',

          classifiers=[
              'Development Status :: 4 - Beta',
              'Environment :: Console',
              'Intended Audience :: Developers',
              'Intended Audience :: Science/Research',
              'License :: OSI Approved :: BSD License',
              'Operating System :: MacOS :: MacOS X',
              'Operating System :: POSIX',
              'Topic :: Scientific/Engineering :: Bio-Informatics',
              'Programming Language :: Python',
              ],
          install_requires=[
              'numpy>=1.8.2',
              'pandas>=0.15',
              'matplotlib>=1.3.1',
              'argparse>=1.3',
              'scipy>=0.13.3',
              'jinja2>=2.7.3',
              'bx-python>=0.7.3',
              ],

          )

def which(program):
	import os
	def is_exe(fpath):
		return os.path.isfile(fpath) and os.access(fpath, os.X_OK)

	fpath, fname = os.path.split(program)
	if fpath:
		if is_exe(program):
			return program
	else:
		for path in os.environ["PATH"].split(os.pathsep):
			path = path.strip('"')
			exe_file = os.path.join(path, program)
			if is_exe(exe_file):
				return exe_file

	return None

def check_installation(filename,tool_name,verbose=False):
    if os.path.isfile(filename):
        if verbose:
            sys.stdout.write('%s is/was succesfully installed ' % tool_name)
        return True
    else:
        if verbose:
            sys.stdout.write('Sorry I cannot install %s for you, check you have all the required dependencies and and try again to install HAYSTACK.' % tool_name)
        return False

def download_dependencies(CURRENT_PLATFORM):

   urllib.urlretrieve ("",'bcb.dfci.harvard.edu/~lpinello/HAYSTACK/dependencies/meme_4.9.1.tar.bz2','meme_4.9.1.tar.bz2')
   sb.call('tar xvjf meme_4.9.1.tar.bz2',shell=True)

   urllib.urlretrieve ("",'bcb.dfci.harvard.edu/~lpinello/HAYSTACK/dependencies/meme_4.9.1.tar.bz2','meme_4.9.1.tar.bz2')
   sb.call('tar xvjf meme_4.9.1.tar.bz2',shell=True)

def check_fimo():
            if not check_installation(os.path.join(BIN_FOLDER,'fimo'),'FIMO',verbose=False):
                sys.stdout.write('\nHAYSTACK requires to install FIMO from the MEME suite(4.9.1)')
                sys.stdout.write('I will download and install for you. Please be patient!')
                os.chdir('dependencies/')
                sb.call('rm -Rf meme_4.9.1',shell=True)
                sb.call('rm meme_4.9.1.tar.bz2',shell=True)
                urllib.urlretrieve ('http://bcb.dfci.harvard.edu/~lpinello/HAYSTACK/dependencies/meme_4.9.1.tar.bz2','meme_4.9.1.tar.bz2')
                sb.call('tar xvjf meme_4.9.1.tar.bz2',shell=True)

                os.chdir('meme_4.9.1/')

                cmd_cfg='./configure --prefix=%s --enable-build-libxml2 --enable-build-libxslt ' % INSTALLATION_PATH

                sys.stdout.write(cmd_cfg)
                sb.call(cmd_cfg,shell=True)
                #sb.call('make clean',shell=True)
                sb.call('make && make install',shell=True)
                #sb.call('make clean',shell=True)
                os.chdir('..')
                sb.call('rm -Rf meme_4.9.1',shell=True)
                sb.call('rm meme_4.9.1.tar.bz2',shell=True)
                os.chdir('..')
                #installa fimo
                sys.stdout.write('FIMO should be installed (please check the output)')

    	    if not check_installation(os.path.join(BIN_FOLDER,'fimo'),'FIMO'):
             sys.exit(1)

def check_samtools():
            if not check_installation(os.path.join(BIN_FOLDER,'samtools'),'SAMTOOLS',verbose=False):
                sys.stdout.write('\nHAYSTACK requires to install SAMTOOLS 0.1.19:http://sourceforge.net/projects/samtools/files/samtools/0.1.19/')
                sys.stdout.write('I will download and install for you. Please be patient!')
                os.chdir('dependencies/')
                sb.call('rm -Rf samtools-0.1.19',shell=True)
                sb.call('rm samtools-0.1.19.tar.bz2',shell=True)
                urllib.urlretrieve ('http://bcb.dfci.harvard.edu/~lpinello/HAYSTACK/dependencies/samtools-0.1.19.tar.bz2','samtools-0.1.19.tar.bz2')
                sb.call('tar xvjf samtools-0.1.19.tar.bz2',shell=True)
                os.chdir('samtools-0.1.19/')
                sb.call('make clean',shell=True)
                sb.call('make',shell=True)

                try:
                    shutil.copy2('samtools',BIN_FOLDER)
                except:
                    pass
                #sb.call('make clean',shell=True)
                os.chdir('..')
                sb.call('rm -Rf samtools-0.1.19',shell=True)
                sb.call('rm samtools-0.1.19.tar.bz2',shell=True)
                os.chdir('..')

            if not check_installation(os.path.join(BIN_FOLDER,'samtools'),'SAMTOOLS'):
            	sys.exit(1)

def check_bedtools():

        if not check_installation(os.path.join(BIN_FOLDER,'bedtools'),'BEDTOOLS',verbose=False):
            sys.stdout.write('\nHAYSTACK requires to install BEDTOOLS v2.20.1')
            sys.stdout.write('I will download and install for you. Please be patient!')
            os.chdir('dependencies/')
            sb.call('rm bedtools2-2.20.1.tar.bz2',shell=True)
            sb.call('rm -Rf bedtools2-2.20.1',shell=True)
            urllib.urlretrieve ('http://bcb.dfci.harvard.edu/~lpinello/HAYSTACK/dependencies/bedtools2-2.20.1.tar.bz2','bedtools2-2.20.1.tar.bz2')
            sb.call('tar xvjf bedtools2-2.20.1.tar.bz2',shell=True)
            os.chdir('bedtools2-2.20.1/')
            sb.call('make clean',shell=True)
            sb.call('make',shell=True)
            for filename in glob.glob(os.path.join('bin', '*')):
                shutil.copy(filename, BIN_FOLDER)
            #sb.call('make clean',shell=True)
            os.chdir('..')
            sb.call('rm -Rf bedtools2-2.20.1',shell=True)
            sb.call('rm bedtools2-2.20.1.tar.bz2',shell=True)
            os.chdir('..')

        if not check_installation(os.path.join(BIN_FOLDER,'bedtools'),'BEDTOOLS'):
            sys.exit(1)

def check_ghostscript(CURRENT_PLATFORM):

        if (not check_installation(os.path.join(BIN_FOLDER,'gs'),'Ghostscript',verbose=False) and CURRENT_PLATFORM=='Linux') or ( CURRENT_PLATFORM=='Darwin' and which('gs') is None):
            sys.stdout.write('\nHAYSTACK requires to install Ghostscript 9.14')

            if CURRENT_PLATFORM=='Linux':
                sys.stdout.write('I will download and install for you. Please be patient!')
                sb.call('rm dependencies/Linux/gs',shell=True)
                urllib.urlretrieve ('http://bcb.dfci.harvard.edu/~lpinello/HAYSTACK/dependencies/Linux/gs','dependencies/Linux/gs')
                shutil.copy2('dependencies/Linux/gs',BIN_FOLDER)
                time.sleep(3) # we need some time to allow the NFS to sync the file...
                sb.call('chmod +x %s' % os.path.join(BIN_FOLDER,'gs'),shell=True)
                sb.call('rm dependencies/Linux/gs',shell=True)

                #if not check_installation(os.path.join(BIN_FOLDER,'gs'),'Ghostscript'):
                #    sys.exit(1)

            elif CURRENT_PLATFORM=='Darwin':
                sys.stdout.write('Ok downloading and launching the installer for you!')
                sb.call('rm dependencies/Darwin/Ghostscript-9.14.pkg',shell=True)
                urllib.urlretrieve ('http://bcb.dfci.harvard.edu/~lpinello/HAYSTACK/dependencies/Darwin/gs','dependencies/Darwin/Ghostscript-9.14.pkg')
                sys.stdout.write('To install Ghostscript I need admin privileges.')
                sb.call('sudo installer -pkg dependencies/Darwin/Ghostscript-9.14.pkg -target /',shell=True)
                sb.call('rm dependencies/Darwin/Ghostscript-9.14.pkg',shell=True)

def install_dependencies(CURRENT_PLATFORM):

   if CURRENT_PLATFORM not in  ['Linux','Darwin'] and platform.architecture()!='64bit':
		sys.stdout.write('Sorry your platform is not supported\n CRISPResso is supported only on 64bit versions of Linux or OSX ')
		sys.exit(1)

   if not os.path.exists(INSTALLATION_PATH):
		sys.stdout.write ('OK, creating the folder:%s' % INSTALLATION_PATH)
		os.makedirs(INSTALLATION_PATH)
		os.makedirs(BIN_FOLDER)
   else:
		sys.stdout.write ('\nI cannot create the folder!\nThe folder %s is not empty!' % INSTALLATION_PATH)

		try:
			os.makedirs(BIN_FOLDER)
		except:
			pass

   sys.stdout.write( '\nCHECKING DEPENDENCIES...')
   check_ghostscript(CURRENT_PLATFORM)
   check_fimo()
   check_bedtools()
   check_samtools()

def copy_data(CURRENT_PLATFORM):

    #coping data in place
    d_path = lambda x: (x,os.path.join(INSTALLATION_PATH,x))

    s_path=lambda x: os.path.join(INSTALLATION_PATH,x)

    copy_tree(*d_path('genomes'))
    copy_tree(*d_path('gene_annotations'))
    copy_tree(*d_path('motif_databases'))
    copy_tree(*d_path('extra'))

    if CURRENT_PLATFORM=='Linux':
        src='precompiled_binary/Linux/'

    elif CURRENT_PLATFORM=='Darwin':
        src='precompiled_binary/Darwin/'

    dest=BIN_FOLDER
    src_files = os.listdir(src)
    for file_name in src_files:
        full_file_name = os.path.join(src, file_name)
        if (os.path.isfile(full_file_name)):
            shutil.copy(full_file_name, dest)

    #COPY current env for subprocess
    os.environ['PATH']=('%s:' % BIN_FOLDER) +os.environ['PATH'] #here the order is important
    os.environ['HAYSTACK_DEPENDENCIES_PATH']=INSTALLATION_PATH
    system_env=os.environ
    cp.dump(system_env,open(os.path.join('haystack','system_env.pickle'),'w+'))

if __name__ == '__main__':
    if sys.argv[1]=='install':

        CURRENT_PLATFORM=platform.system().split('_')[0]

        sys.stdout.write ('\n\nInstalling dependencies...')
        install_dependencies(CURRENT_PLATFORM)
        copy_data(CURRENT_PLATFORM)
        sys.stdout.write ('\nInstalling Python package installed')
    main()

    if sys.argv[1]=='install':
        sys.stdout.write ('\n\nINSTALLATION COMPLETED, open a NEW terminal and enjoy HAYSTACK!'    )

<commit_msg>lower dep for ubuntu<commit_after>#!/usr/bin/env python
"""Description:
Setup script for Haystack -- Epigenetic Variability and Transcription Factor Motifs Analysis Pipeline
@status:  beta
@version: $Revision$
@author:  Luca Pinello
@contact: lpinello@jimmy.harvard.edu
"""

import os
import sys
import re
from setuptools import setup, Extension
import os
import pickle as cp
import glob
import subprocess as sb
import sys
import platform
import shutil
from os.path import expanduser
import urllib
import time
from distutils.dir_util import copy_tree

#TO INSTALL HAYSTACK DEPENDECIENS IN A CUSTOM LOCATION SET THE ENV VARIABLE: HAYSTACK_DEPENDENCIES_FOLDER
if os.environ.get('HAYSTACK_DEPENDENCIES_FOLDER'):
	INSTALLATION_PATH=os.environ.get('HAYSTACK_DEPENDENCIES_FOLDER')
else:
	INSTALLATION_PATH='%s/Haystack_dependencies' % os.environ['HOME']

BIN_FOLDER=os.path.join(INSTALLATION_PATH,'bin')

def main():
	if float(sys.version[:3])<2.6 or float(sys.version[:3])>=2.8:
		sys.stdout.write("CRITICAL: Python version must be 2.7!\n")
		sys.exit(1)

	version = re.search(
    	'^__version__\s*=\s*"(.*)"',
    	open('haystack/haystack_common.py').read(),
    	re.M
    	).group(1)

	if float(sys.version[:3])<2.6 or float(sys.version[:3])>=2.8:
    		sys.stdout.write("ERROR: Python version must be 2.6 or 2.7!\n")
    		sys.exit(1)

	setup(
		   version=version,
          name = "haystack_bio",
          include_package_data = True,
    	   packages = ["haystack"],
    	   package_dir={'haystack': 'haystack'},
          package_data={'haystack': ['./*']},
    	   entry_points = {
        	"console_scripts": ['haystack_pipeline = haystack.haystack_pipeline_CORE:main',
          'haystack_hotspots =  haystack.haystack_hotspots_CORE:main',
          'haystack_motifs = haystack.haystack_motifs_CORE:main',
          'haystack_tf_activity_plane = haystack.haystack_tf_activity_plane_CORE:main',
          'haystack_download_genome = haystack.haystack_download_genome_CORE:main',]
           },
          description="Epigenetic Variability and Transcription Factor Motifs Analysis Pipeline",
          author='Luca Pinello',
          author_email='lpinello@jimmy.harvard.edu',
          url='http://github.com/lucapinello/Haystack',

          classifiers=[
              'Development Status :: 4 - Beta',
              'Environment :: Console',
              'Intended Audience :: Developers',
              'Intended Audience :: Science/Research',
              'License :: OSI Approved :: BSD License',
              'Operating System :: MacOS :: MacOS X',
              'Operating System :: POSIX',
              'Topic :: Scientific/Engineering :: Bio-Informatics',
              'Programming Language :: Python',
              ],
          install_requires=[
              'numpy>=1.8.2',
              'pandas>=0.13.1',
              'matplotlib>=1.3.1',
              'argparse>=1.3',
              'scipy>=0.13.3',
              'jinja2>=2.7.3',
              'bx-python>=0.7.3',
              ],

          )

def which(program):
	import os
	def is_exe(fpath):
		return os.path.isfile(fpath) and os.access(fpath, os.X_OK)

	fpath, fname = os.path.split(program)
	if fpath:
		if is_exe(program):
			return program
	else:
		for path in os.environ["PATH"].split(os.pathsep):
			path = path.strip('"')
			exe_file = os.path.join(path, program)
			if is_exe(exe_file):
				return exe_file

	return None

def check_installation(filename,tool_name,verbose=False):
    if os.path.isfile(filename):
        if verbose:
            sys.stdout.write('%s is/was succesfully installed ' % tool_name)
        return True
    else:
        if verbose:
            sys.stdout.write('Sorry I cannot install %s for you, check you have all the required dependencies and and try again to install HAYSTACK.' % tool_name)
        return False

def download_dependencies(CURRENT_PLATFORM):

   urllib.urlretrieve ("",'bcb.dfci.harvard.edu/~lpinello/HAYSTACK/dependencies/meme_4.9.1.tar.bz2','meme_4.9.1.tar.bz2')
   sb.call('tar xvjf meme_4.9.1.tar.bz2',shell=True)

   urllib.urlretrieve ("",'bcb.dfci.harvard.edu/~lpinello/HAYSTACK/dependencies/meme_4.9.1.tar.bz2','meme_4.9.1.tar.bz2')
   sb.call('tar xvjf meme_4.9.1.tar.bz2',shell=True)

def check_fimo():
            if not check_installation(os.path.join(BIN_FOLDER,'fimo'),'FIMO',verbose=False):
                sys.stdout.write('\nHAYSTACK requires to install FIMO from the MEME suite(4.9.1)')
                sys.stdout.write('I will download and install for you. Please be patient!')
                os.chdir('dependencies/')
                sb.call('rm -Rf meme_4.9.1',shell=True)
                sb.call('rm meme_4.9.1.tar.bz2',shell=True)
                urllib.urlretrieve ('http://bcb.dfci.harvard.edu/~lpinello/HAYSTACK/dependencies/meme_4.9.1.tar.bz2','meme_4.9.1.tar.bz2')
                sb.call('tar xvjf meme_4.9.1.tar.bz2',shell=True)

                os.chdir('meme_4.9.1/')

                cmd_cfg='./configure --prefix=%s --enable-build-libxml2 --enable-build-libxslt ' % INSTALLATION_PATH

                sys.stdout.write(cmd_cfg)
                sb.call(cmd_cfg,shell=True)
                #sb.call('make clean',shell=True)
                sb.call('make && make install',shell=True)
                #sb.call('make clean',shell=True)
                os.chdir('..')
                sb.call('rm -Rf meme_4.9.1',shell=True)
                sb.call('rm meme_4.9.1.tar.bz2',shell=True)
                os.chdir('..')
                #installa fimo
                sys.stdout.write('FIMO should be installed (please check the output)')

    	    if not check_installation(os.path.join(BIN_FOLDER,'fimo'),'FIMO'):
             sys.exit(1)

def check_samtools():
            if not check_installation(os.path.join(BIN_FOLDER,'samtools'),'SAMTOOLS',verbose=False):
                sys.stdout.write('\nHAYSTACK requires to install SAMTOOLS 0.1.19:http://sourceforge.net/projects/samtools/files/samtools/0.1.19/')
                sys.stdout.write('I will download and install for you. Please be patient!')
                os.chdir('dependencies/')
                sb.call('rm -Rf samtools-0.1.19',shell=True)
                sb.call('rm samtools-0.1.19.tar.bz2',shell=True)
                urllib.urlretrieve ('http://bcb.dfci.harvard.edu/~lpinello/HAYSTACK/dependencies/samtools-0.1.19.tar.bz2','samtools-0.1.19.tar.bz2')
                sb.call('tar xvjf samtools-0.1.19.tar.bz2',shell=True)
                os.chdir('samtools-0.1.19/')
                sb.call('make clean',shell=True)
                sb.call('make',shell=True)

                try:
                    shutil.copy2('samtools',BIN_FOLDER)
                except:
                    pass
                #sb.call('make clean',shell=True)
                os.chdir('..')
                sb.call('rm -Rf samtools-0.1.19',shell=True)
                sb.call('rm samtools-0.1.19.tar.bz2',shell=True)
                os.chdir('..')

            if not check_installation(os.path.join(BIN_FOLDER,'samtools'),'SAMTOOLS'):
            	sys.exit(1)

def check_bedtools():

        if not check_installation(os.path.join(BIN_FOLDER,'bedtools'),'BEDTOOLS',verbose=False):
            sys.stdout.write('\nHAYSTACK requires to install BEDTOOLS v2.20.1')
            sys.stdout.write('I will download and install for you. Please be patient!')
            os.chdir('dependencies/')
            sb.call('rm bedtools2-2.20.1.tar.bz2',shell=True)
            sb.call('rm -Rf bedtools2-2.20.1',shell=True)
            urllib.urlretrieve ('http://bcb.dfci.harvard.edu/~lpinello/HAYSTACK/dependencies/bedtools2-2.20.1.tar.bz2','bedtools2-2.20.1.tar.bz2')
            sb.call('tar xvjf bedtools2-2.20.1.tar.bz2',shell=True)
            os.chdir('bedtools2-2.20.1/')
            sb.call('make clean',shell=True)
            sb.call('make',shell=True)
            for filename in glob.glob(os.path.join('bin', '*')):
                shutil.copy(filename, BIN_FOLDER)
            #sb.call('make clean',shell=True)
            os.chdir('..')
            sb.call('rm -Rf bedtools2-2.20.1',shell=True)
            sb.call('rm bedtools2-2.20.1.tar.bz2',shell=True)
            os.chdir('..')

        if not check_installation(os.path.join(BIN_FOLDER,'bedtools'),'BEDTOOLS'):
            sys.exit(1)

def check_ghostscript(CURRENT_PLATFORM):

        if (not check_installation(os.path.join(BIN_FOLDER,'gs'),'Ghostscript',verbose=False) and CURRENT_PLATFORM=='Linux') or ( CURRENT_PLATFORM=='Darwin' and which('gs') is None):
            sys.stdout.write('\nHAYSTACK requires to install Ghostscript 9.14')

            if CURRENT_PLATFORM=='Linux':
                sys.stdout.write('I will download and install for you. Please be patient!')
                sb.call('rm dependencies/Linux/gs',shell=True)
                urllib.urlretrieve ('http://bcb.dfci.harvard.edu/~lpinello/HAYSTACK/dependencies/Linux/gs','dependencies/Linux/gs')
                shutil.copy2('dependencies/Linux/gs',BIN_FOLDER)
                time.sleep(3) # we need some time to allow the NFS to sync the file...
                sb.call('chmod +x %s' % os.path.join(BIN_FOLDER,'gs'),shell=True)
                sb.call('rm dependencies/Linux/gs',shell=True)

                #if not check_installation(os.path.join(BIN_FOLDER,'gs'),'Ghostscript'):
                #    sys.exit(1)

            elif CURRENT_PLATFORM=='Darwin':
                sys.stdout.write('Ok downloading and launching the installer for you!')
                sb.call('rm dependencies/Darwin/Ghostscript-9.14.pkg',shell=True)
                urllib.urlretrieve ('http://bcb.dfci.harvard.edu/~lpinello/HAYSTACK/dependencies/Darwin/gs','dependencies/Darwin/Ghostscript-9.14.pkg')
                sys.stdout.write('To install Ghostscript I need admin privileges.')
                sb.call('sudo installer -pkg dependencies/Darwin/Ghostscript-9.14.pkg -target /',shell=True)
                sb.call('rm dependencies/Darwin/Ghostscript-9.14.pkg',shell=True)

def install_dependencies(CURRENT_PLATFORM):

   if CURRENT_PLATFORM not in  ['Linux','Darwin'] and platform.architecture()!='64bit':
		sys.stdout.write('Sorry your platform is not supported\n CRISPResso is supported only on 64bit versions of Linux or OSX ')
		sys.exit(1)

   if not os.path.exists(INSTALLATION_PATH):
		sys.stdout.write ('OK, creating the folder:%s' % INSTALLATION_PATH)
		os.makedirs(INSTALLATION_PATH)
		os.makedirs(BIN_FOLDER)
   else:
		sys.stdout.write ('\nI cannot create the folder!\nThe folder %s is not empty!' % INSTALLATION_PATH)

		try:
			os.makedirs(BIN_FOLDER)
		except:
			pass

   sys.stdout.write( '\nCHECKING DEPENDENCIES...')
   check_ghostscript(CURRENT_PLATFORM)
   check_fimo()
   check_bedtools()
   check_samtools()

def copy_data(CURRENT_PLATFORM):

    #coping data in place
    d_path = lambda x: (x,os.path.join(INSTALLATION_PATH,x))

    s_path=lambda x: os.path.join(INSTALLATION_PATH,x)

    copy_tree(*d_path('genomes'))
    copy_tree(*d_path('gene_annotations'))
    copy_tree(*d_path('motif_databases'))
    copy_tree(*d_path('extra'))

    if CURRENT_PLATFORM=='Linux':
        src='precompiled_binary/Linux/'

    elif CURRENT_PLATFORM=='Darwin':
        src='precompiled_binary/Darwin/'

    dest=BIN_FOLDER
    src_files = os.listdir(src)
    for file_name in src_files:
        full_file_name = os.path.join(src, file_name)
        if (os.path.isfile(full_file_name)):
            shutil.copy(full_file_name, dest)

    #COPY current env for subprocess
    os.environ['PATH']=('%s:' % BIN_FOLDER) +os.environ['PATH'] #here the order is important
    os.environ['HAYSTACK_DEPENDENCIES_PATH']=INSTALLATION_PATH
    system_env=os.environ
    cp.dump(system_env,open(os.path.join('haystack','system_env.pickle'),'w+'))

if __name__ == '__main__':
    if sys.argv[1]=='install':

        CURRENT_PLATFORM=platform.system().split('_')[0]

        sys.stdout.write ('\n\nInstalling dependencies...')
        install_dependencies(CURRENT_PLATFORM)
        copy_data(CURRENT_PLATFORM)
        sys.stdout.write ('\nInstalling Python package installed')
    main()

    if sys.argv[1]=='install':
        sys.stdout.write ('\n\nINSTALLATION COMPLETED, open a NEW terminal and enjoy HAYSTACK!'    )

<|endoftext|>


<commit_before># coding=utf-8

########################################################################################################################
plugin_identifier = "polarcloud"
plugin_package = "octoprint_polarcloud"
plugin_name = "OctoPrint-PolarCloud"
plugin_version = "1.16"
plugin_description = """Connects OctoPrint to the PolarCloud so you can easily monitor and control outside of your local network"""
plugin_author = "Mark Walker"
plugin_author_email = "markwal@hotmail.com"
plugin_url = "https://github.com/markwal/OctoPrint-PolarCloud"
plugin_license = "AGPLv3"
plugin_requires = ["SocketIO-client", "pycryptodomex"]

### --------------------------------------------------------------------------------------------------------------------
### More advanced options that you usually shouldn't have to touch follow after this point
### --------------------------------------------------------------------------------------------------------------------

# Additional package data to install for this plugin. The subfolders "templates", "static" and "translations" will
# already be installed automatically if they exist. Note that if you add something here you'll also need to update
# MANIFEST.in to match to ensure that python setup.py sdist produces a source distribution that contains all your
# files. This is sadly due to how python's setup.py works, see also http://stackoverflow.com/a/14159430/2028598
plugin_additional_data = []

# Any additional python packages you need to install with your plugin that are not contained in <plugin_package>.*
plugin_additional_packages = []

# Any python packages within <plugin_package>.* you do NOT want to install with your plugin
plugin_ignored_packages = []

# Additional parameters for the call to setuptools.setup. If your plugin wants to register additional entry points,
# define dependency links or other things like that, this is the place to go. Will be merged recursively with the
# default setup parameters as provided by octoprint_setuptools.create_plugin_setup_parameters using
# octoprint.util.dict_merge.
#
# Example:
#     plugin_requires = ["someDependency==dev"]
#     additional_setup_parameters = {"dependency_links": ["https://github.com/someUser/someRepo/archive/master.zip#egg=someDependency-dev"]}
#"dependency_links": ["https://www.dropbox.com/sh/jz5kduz7v6iuqwv/AAB-2vwh0R1_Bkyf_0YSHtz6a?dl=0"]
additional_setup_parameters = {
	}

########################################################################################################################

from setuptools import setup

try:
	import octoprint_setuptools
except:
	print("Could not import OctoPrint's setuptools, are you sure you are running that under "
	      "the same python installation that OctoPrint is installed under?")
	import sys
	sys.exit(-1)

add_pillow = True
try:
	import sys
	import sysconfig
	import distutils.util
	import setuptools

	if int(setuptools.__version__.split('.')[0]) < 40:
		print("May not be able to successfully install with setuptools earlier than 40.0.0. If this fails, upgrade setup tools with 'pip install --upgrade setuptools'.")
except:
	import traceback
	traceback.print_exc()
	print("Unable to import Raspberry Pi wheels due to exception, building the slow way.")

if add_pillow:
	plugin_requires = ["Pillow"] + plugin_requires

setup_parameters = octoprint_setuptools.create_plugin_setup_parameters(
	identifier=plugin_identifier,
	package=plugin_package,
	name=plugin_name,
	version=plugin_version,
	description=plugin_description,
	author=plugin_author,
	mail=plugin_author_email,
	url=plugin_url,
	license=plugin_license,
	requires=plugin_requires,
	additional_packages=plugin_additional_packages,
	ignored_packages=plugin_ignored_packages,
	additional_data=plugin_additional_data
)

if len(additional_setup_parameters):
	from octoprint.util import dict_merge
	setup_parameters = dict_merge(setup_parameters, additional_setup_parameters)

setup(**setup_parameters)
<commit_msg>Bump the version<commit_after># coding=utf-8

########################################################################################################################
plugin_identifier = "polarcloud"
plugin_package = "octoprint_polarcloud"
plugin_name = "OctoPrint-PolarCloud"
plugin_version = "1.17"
plugin_description = """Connects OctoPrint to the PolarCloud so you can easily monitor and control outside of your local network"""
plugin_author = "Mark Walker"
plugin_author_email = "markwal@hotmail.com"
plugin_url = "https://github.com/markwal/OctoPrint-PolarCloud"
plugin_license = "AGPLv3"
plugin_requires = ["SocketIO-client", "pycryptodomex"]

### --------------------------------------------------------------------------------------------------------------------
### More advanced options that you usually shouldn't have to touch follow after this point
### --------------------------------------------------------------------------------------------------------------------

# Additional package data to install for this plugin. The subfolders "templates", "static" and "translations" will
# already be installed automatically if they exist. Note that if you add something here you'll also need to update
# MANIFEST.in to match to ensure that python setup.py sdist produces a source distribution that contains all your
# files. This is sadly due to how python's setup.py works, see also http://stackoverflow.com/a/14159430/2028598
plugin_additional_data = []

# Any additional python packages you need to install with your plugin that are not contained in <plugin_package>.*
plugin_additional_packages = []

# Any python packages within <plugin_package>.* you do NOT want to install with your plugin
plugin_ignored_packages = []

# Additional parameters for the call to setuptools.setup. If your plugin wants to register additional entry points,
# define dependency links or other things like that, this is the place to go. Will be merged recursively with the
# default setup parameters as provided by octoprint_setuptools.create_plugin_setup_parameters using
# octoprint.util.dict_merge.
#
# Example:
#     plugin_requires = ["someDependency==dev"]
#     additional_setup_parameters = {"dependency_links": ["https://github.com/someUser/someRepo/archive/master.zip#egg=someDependency-dev"]}
#"dependency_links": ["https://www.dropbox.com/sh/jz5kduz7v6iuqwv/AAB-2vwh0R1_Bkyf_0YSHtz6a?dl=0"]
additional_setup_parameters = {
	}

########################################################################################################################

from setuptools import setup

try:
	import octoprint_setuptools
except:
	print("Could not import OctoPrint's setuptools, are you sure you are running that under "
	      "the same python installation that OctoPrint is installed under?")
	import sys
	sys.exit(-1)

add_pillow = True
try:
	import sys
	import sysconfig
	import distutils.util
	import setuptools

	if int(setuptools.__version__.split('.')[0]) < 40:
		print("May not be able to successfully install with setuptools earlier than 40.0.0. If this fails, upgrade setup tools with 'pip install --upgrade setuptools'.")
except:
	import traceback
	traceback.print_exc()
	print("Unable to import Raspberry Pi wheels due to exception, building the slow way.")

if add_pillow:
	plugin_requires = ["Pillow"] + plugin_requires

setup_parameters = octoprint_setuptools.create_plugin_setup_parameters(
	identifier=plugin_identifier,
	package=plugin_package,
	name=plugin_name,
	version=plugin_version,
	description=plugin_description,
	author=plugin_author,
	mail=plugin_author_email,
	url=plugin_url,
	license=plugin_license,
	requires=plugin_requires,
	additional_packages=plugin_additional_packages,
	ignored_packages=plugin_ignored_packages,
	additional_data=plugin_additional_data
)

if len(additional_setup_parameters):
	from octoprint.util import dict_merge
	setup_parameters = dict_merge(setup_parameters, additional_setup_parameters)

setup(**setup_parameters)
<|endoftext|>


<commit_before>import sys
from distutils.core import setup

def read_description():
    with open('README.rst', 'r') as f:
        return f.read()

setup(
    name='Inject',
    version='3.3.2',
    url='https://github.com/ivankorobkov/python-inject',
    license='Apache License 2.0',

    author='Ivan Korobkov',
    author_email='ivan.korobkov@gmail.com',

    description='Python dependency injection framework',
    long_description=read_description(),

    package_dir={'': 'src'},
    py_modules=['inject'],
    data_files=[
        (
            'lib/python{}.{}/site-packages'.format(*sys.version_info[:2]),
            ['src/inject.pyi']
        ),
        (
            'shared/typehints/python{}.{}'.format(*sys.version_info[:2]),
            ['src/inject.pyi']
        )
    ],

    classifiers=[
        'Development Status :: 5 - Production/Stable',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: Apache Software License',
        'Operating System :: OS Independent',
        'Programming Language :: Python',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3.3',
        'Programming Language :: Python :: 3.4',
        'Programming Language :: Python :: 3.5',
        'Programming Language :: Python :: 3.6',
        'Topic :: Software Development :: Libraries :: Python Modules']
)
<commit_msg>Fixed reading readme in setup.py.<commit_after>import sys
from distutils.core import setup

def read_description():
    with open('README.md', 'r') as f:
        return f.read()

setup(
    name='Inject',
    version='3.3.2',
    url='https://github.com/ivankorobkov/python-inject',
    license='Apache License 2.0',

    author='Ivan Korobkov',
    author_email='ivan.korobkov@gmail.com',

    description='Python dependency injection framework',
    long_description=read_description(),

    package_dir={'': 'src'},
    py_modules=['inject'],
    data_files=[
        (
            'lib/python{}.{}/site-packages'.format(*sys.version_info[:2]),
            ['src/inject.pyi']
        ),
        (
            'shared/typehints/python{}.{}'.format(*sys.version_info[:2]),
            ['src/inject.pyi']
        )
    ],

    classifiers=[
        'Development Status :: 5 - Production/Stable',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: Apache Software License',
        'Operating System :: OS Independent',
        'Programming Language :: Python',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3.3',
        'Programming Language :: Python :: 3.4',
        'Programming Language :: Python :: 3.5',
        'Programming Language :: Python :: 3.6',
        'Topic :: Software Development :: Libraries :: Python Modules']
)
<|endoftext|>


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

# shamelessly copied from VoroPy
def read(fname):
    return codecs.open(os.path.join(os.path.dirname(__file__), fname),
                       encoding='utf-8').read()

setup(name='krypy',
      packages=['krypy'],
      version='1.0.1',
      description='Krylov subspace methods for linear algebraic systems',
      long_description=read('README.md'),
      author='André Gaul',
      author_email='gaul@web-yard.de',
      url='https://github.com/andrenarchy/krypy',
      requires=['numpy (>=1.7)', 'scipy (>=0.12)'],
      classifiers=[
          'Development Status :: 4 - Beta',
          'Intended Audience :: Science/Research',
          'License :: OSI Approved :: MIT License',
          'Operating System :: OS Independent',
          'Programming Language :: Python',
          'Programming Language :: Python :: 3',
          'Topic :: Scientific/Engineering :: Mathematics'
          ],
      )
<commit_msg>[setup] bump version to 2.0.0a1<commit_after># -*- coding: utf-8 -*-
import os
from distutils.core import setup
import codecs

# shamelessly copied from VoroPy
def read(fname):
    return codecs.open(os.path.join(os.path.dirname(__file__), fname),
                       encoding='utf-8').read()

setup(name='krypy',
      packages=['krypy'],
      version='2.0.0a1',
      description='Krylov subspace methods for linear algebraic systems',
      long_description=read('README.md'),
      author='André Gaul',
      author_email='gaul@web-yard.de',
      url='https://github.com/andrenarchy/krypy',
      requires=['numpy (>=1.7)', 'scipy (>=0.12)'],
      classifiers=[
          'Development Status :: 4 - Beta',
          'Intended Audience :: Science/Research',
          'License :: OSI Approved :: MIT License',
          'Operating System :: OS Independent',
          'Programming Language :: Python',
          'Programming Language :: Python :: 3',
          'Topic :: Scientific/Engineering :: Mathematics'
          ],
      )
<|endoftext|>


<commit_before>#!/usr/bin/env python
# -*- coding: utf-8 -*-

from setuptools import setup, find_packages

setup(
    name = 'parsec',
    version = '3.13',
    description = 'parser combinator.',
    long_description = 'A universal Python parser combinator library inspired by Parsec library of Haskell.',
    author = 'He Tao',
    author_email = 'sighingnow@gmail.com',
    url = 'https://github.com/sighingnow/parsec.py',
    license = 'MIT',
    classifiers=[
        'Development Status :: 5 - Production/Stable',
        'Intended Audience :: Developers',
        'Topic :: Software Development :: Compilers',
        'Operating System :: MacOS :: MacOS X',
        'Operating System :: Microsoft :: Windows',
        'Operating System :: POSIX',
        'Programming Language :: Python',
        'Programming Language :: Python :: 2',
        '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',
        'Programming Language :: Python :: 3.6',
        'Programming Language :: Python :: 3.7',
        'Programming Language :: Python :: 3.8',
        'Programming Language :: Python :: 3.9',
        'Programming Language :: Python :: 3.10',
        'Programming Language :: Python :: 3.11',
        'License :: OSI Approved :: MIT License',
    ],
    platforms = 'any',
    keywords = 'monad parser combinator',

    install_requires = [
        'enum34; python_version < "3.5"',
    ],
    package_dir = {'': 'src'},
    packages = find_packages('src'),
    package_data = {'': ('py.typed', '*.pyi')},

    test_suite = 'parsec.tests',

    project_urls={
        'Documentation': 'https://pythonhosted.org/parsec/',
        'Source': 'https://github.com/sighingnow/parsec.py',
        'Tracker': 'https://github.com/sighingnow/parsec.py/issues',
    },
)
<commit_msg>Release v3.14<commit_after>#!/usr/bin/env python
# -*- coding: utf-8 -*-

from setuptools import setup, find_packages

setup(
    name = 'parsec',
    version = '3.14',
    description = 'parser combinator.',
    long_description = 'A universal Python parser combinator library inspired by Parsec library of Haskell.',
    author = 'He Tao',
    author_email = 'sighingnow@gmail.com',
    url = 'https://github.com/sighingnow/parsec.py',
    license = 'MIT',
    classifiers=[
        'Development Status :: 5 - Production/Stable',
        'Intended Audience :: Developers',
        'Topic :: Software Development :: Compilers',
        'Operating System :: MacOS :: MacOS X',
        'Operating System :: Microsoft :: Windows',
        'Operating System :: POSIX',
        'Programming Language :: Python',
        'Programming Language :: Python :: 2',
        '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',
        'Programming Language :: Python :: 3.6',
        'Programming Language :: Python :: 3.7',
        'Programming Language :: Python :: 3.8',
        'Programming Language :: Python :: 3.9',
        'Programming Language :: Python :: 3.10',
        'Programming Language :: Python :: 3.11',
        'License :: OSI Approved :: MIT License',
    ],
    platforms = 'any',
    keywords = 'monad parser combinator',

    install_requires = [
        'enum34; python_version < "3.5"',
    ],
    package_dir = {'': 'src'},
    packages = find_packages('src'),
    package_data = {'': ('py.typed', '*.pyi')},

    test_suite = 'parsec.tests',

    project_urls={
        'Documentation': 'https://pythonhosted.org/parsec/',
        'Source': 'https://github.com/sighingnow/parsec.py',
        'Tracker': 'https://github.com/sighingnow/parsec.py/issues',
    },
)
<|endoftext|>


<commit_before>#!/usr/bin/env python
# -*- coding:utf-8 -*-

from setuptools import setup, find_packages

import opps

install_requires = ["Django==1.5",
                    "south>=0.7",
                    "Pillow==1.7.8",
                    "thumbor==3.7.1",
                    "django-tagging==0.3.1",
                    "django-redis==3.1.7",
                    "django-wysiwyg-redactor==0.3.0"]

classifiers = ["Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: BSD License",
    "Operating System :: OS Independent",
    "Framework :: Django",
    'Programming Language :: Python',
    "Programming Language :: Python :: 2.7",
    "Operating System :: OS Independent",
    "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
    'Topic :: Software Development :: Libraries :: Python Modules',]

try:
    long_description = open('README.md').read()
except:
    long_description = opps.__description__

setup(name='opps',
    version = opps.__version__,
    description = opps.__description__,
    long_description = long_description,
    classifiers = classifiers,
    keywords = 'opps cms django apps magazines websites',
    author = opps.__author__,
    author_email = opps.__email__,
    url = 'http://oppsproject.org',
    download_url = "https://github.com/avelino/opps/tarball/master",
    license = opps.__license__,
    packages = find_packages(exclude=('doc', 'docs',)),
    package_dir = {'opps': 'opps'},
    install_requires = install_requires,
    include_package_data = True,
)
<commit_msg>E231 missing whitespace after ',' on setup file<commit_after>#!/usr/bin/env python
# -*- coding:utf-8 -*-

from setuptools import setup, find_packages

import opps

install_requires = ["Django==1.5",
                    "south>=0.7",
                    "Pillow==1.7.8",
                    "thumbor==3.7.1",
                    "django-tagging==0.3.1",
                    "django-redis==3.1.7",
                    "django-wysiwyg-redactor==0.3.0"]

classifiers = ["Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: BSD License",
    "Operating System :: OS Independent",
    "Framework :: Django",
    'Programming Language :: Python',
    "Programming Language :: Python :: 2.7",
    "Operating System :: OS Independent",
    "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
    'Topic :: Software Development :: Libraries :: Python Modules']

try:
    long_description = open('README.md').read()
except:
    long_description = opps.__description__

setup(name='opps',
    version = opps.__version__,
    description = opps.__description__,
    long_description = long_description,
    classifiers = classifiers,
    keywords = 'opps cms django apps magazines websites',
    author = opps.__author__,
    author_email = opps.__email__,
    url = 'http://oppsproject.org',
    download_url = "https://github.com/avelino/opps/tarball/master",
    license = opps.__license__,
    packages = find_packages(exclude=('doc', 'docs',)),
    package_dir = {'opps': 'opps'},
    install_requires = install_requires,
    include_package_data = True,
)
<|endoftext|>


<commit_before>from setuptools import setup, find_packages
setup(
    name="django-annoying",
    version="0.7.9",
    packages=find_packages(),
    author="Stavros Korokithakis",
    author_email="stavros@korokithakis.net",
    description="This is a django application that tries to eliminate annoying things in the Django framework.",
    long_description="""
        **Features:**

            - render_to decorator - Reduce typing in django views.
            - signals decorator - Allow using signals as decorators.
            - ajax_request decorator - Returns JsonResponse with dict as content.
            - autostrip decorator - Strip form text fields before validation.
            - get_object_or_None function - Similar to get_object_or_404, but returns None if the object is not found.
            - get_config function - Get settings from django.conf if exists, return a default value otherwise.
            - AutoOneToOne field - Creates related object on first call if it doesn't exist yet.
            - HttpResponseReload - Reload and stay on same page from where request was made.
            - StaticServer middleware - Instead of configuring urls.py, just add this middleware and it will serve you static files.
            - JSONField - A field that stores a Python object as JSON and retrieves it as a Python object.

        **Installation instructions:**

             - Copy the "annoying" directory to your Django project or put it in your PYTHONPATH.
             - You can also run "sudo python setup.py install" or "sudo easy_install django-annoying".

        **Download:**

            - git clone git://github.com/skorokithakis/django-annoying.git
            - hg clone http://bitbucket.org/Stavros/django-annoying/

    """,
    license="BSD",
    keywords="django",
    url="https://github.com/skorokithakis/django-annoying",
)
<commit_msg>Bump version.<commit_after>from setuptools import setup, find_packages
setup(
    name="django-annoying",
    version="0.8.0",
    packages=find_packages(),
    author="Stavros Korokithakis",
    author_email="stavros@korokithakis.net",
    description="This is a django application that tries to eliminate annoying things in the Django framework.",
    long_description="""
        **Features:**

            - render_to decorator - Reduce typing in django views.
            - signals decorator - Allow using signals as decorators.
            - ajax_request decorator - Returns JsonResponse with dict as content.
            - autostrip decorator - Strip form text fields before validation.
            - get_object_or_None function - Similar to get_object_or_404, but returns None if the object is not found.
            - get_config function - Get settings from django.conf if exists, return a default value otherwise.
            - AutoOneToOne field - Creates related object on first call if it doesn't exist yet.
            - HttpResponseReload - Reload and stay on same page from where request was made.
            - StaticServer middleware - Instead of configuring urls.py, just add this middleware and it will serve you static files.
            - JSONField - A field that stores a Python object as JSON and retrieves it as a Python object.

        **Installation instructions:**

             - Copy the "annoying" directory to your Django project or put it in your PYTHONPATH.
             - You can also run "sudo python setup.py install" or "sudo easy_install django-annoying".

        **Download:**

            - git clone git://github.com/skorokithakis/django-annoying.git
            - hg clone http://bitbucket.org/Stavros/django-annoying/

    """,
    license="BSD",
    keywords="django",
    url="https://github.com/skorokithakis/django-annoying",
)
<|endoftext|>


<commit_before># coding=utf-8

from setuptools import setup, find_packages

setup(
    name='django-db-geventpool',
    version='2',
    install_requires=[
        'django>=1.5',
        'psycogreen>=1.0',
    ],
    url='https://github.com/jneight/django-db-geventpool',
    description='Add a DB connection pool using gevent to django',
    long_description=open("README.rst").read(),
    packages=find_packages(),
    include_package_data=True,
    license='Apache 2.0',
    classifiers=[
        'Environment :: Web Environment',
        'Framework :: Django',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: Apache Software License',
        'Operating System :: OS Independent',
        'Programming Language :: Python',
        'Programming Language :: Python :: 2',
        'Programming Language :: Python :: 3',
        'Topic :: Software Development :: Libraries :: Application Frameworks',
    ],
    author='Javier Cordero Martinez',
    author_email='jcorderomartinez@gmail.com'
)
<commit_msg>Update setup.py<commit_after># coding=utf-8

from setuptools import setup, find_packages

setup(
    name='django-db-geventpool',
    version='3.0.0',
    install_requires=[
        'django>=1.5',
        'psycogreen>=1.0',
    ],
    url='https://github.com/jneight/django-db-geventpool',
    description='Add a DB connection pool using gevent to django',
    long_description=open("README.rst").read(),
    packages=find_packages(),
    include_package_data=True,
    license='Apache 2.0',
    classifiers=[
        'Environment :: Web Environment',
        'Framework :: Django',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: Apache Software License',
        'Operating System :: OS Independent',
        'Programming Language :: Python',
        'Programming Language :: Python :: 2',
        'Programming Language :: Python :: 3',
        'Topic :: Software Development :: Libraries :: Application Frameworks',
    ],
    author='Javier Cordero Martinez',
    author_email='jcorderomartinez@gmail.com'
)
<|endoftext|>


<commit_before>from setuptools import setup

setup(
    name='firetv',
    version='1.0.5.dev',
    description='Communicate with an Amazon Fire TV device via ADB over a network.',
    url='https://github.com/happyleavesaoc/python-firetv/',
    license='MIT',
    author='happyleaves',
    author_email='happyleaves.tfr@gmail.com',
    packages=['firetv'],
    install_requires=['adb>=1.1.0'],
    extras_require={
        'firetv-server': ['Flask>=0.10.1', 'PyYAML>=3.12']
    },
    entry_points={
        'console_scripts': [
            'firetv-server = firetv.__main__:main'
        ]
    },
    classifiers=[
        'License :: OSI Approved :: MIT License',
        'Operating System :: OS Independent',
        'Programming Language :: Python :: 2',
    ]
)
<commit_msg>Pin adb requirement<commit_after>from setuptools import setup

setup(
    name='firetv',
    version='1.0.5.dev',
    description='Communicate with an Amazon Fire TV device via ADB over a network.',
    url='https://github.com/happyleavesaoc/python-firetv/',
    license='MIT',
    author='happyleaves',
    author_email='happyleaves.tfr@gmail.com',
    packages=['firetv'],
    install_requires=['https://github.com/JeffLIrion/python-adb/zipball/master#adb==1.3.0.dev'],
    extras_require={
        'firetv-server': ['Flask>=0.10.1', 'PyYAML>=3.12']
    },
    entry_points={
        'console_scripts': [
            'firetv-server = firetv.__main__:main'
        ]
    },
    classifiers=[
        'License :: OSI Approved :: MIT License',
        'Operating System :: OS Independent',
        'Programming Language :: Python :: 2',
    ]
)
<|endoftext|>


<commit_before>from setuptools import setup

setup(
    name = 'Python-OOXML',
    version = '0.10',

    author = 'Aleksandar Erkalovic',
    author_email = 'aerkalov@gmail.com',

    packages = ['ooxml'],

    url = 'https://github.com/booktype/python-ooxml',

    license = 'GNU Affero General Public License',
    description = 'Python-OOXML is a Python library for parsing Office Open XML files.',
    long_description = open('README.md').read(),
    keywords = ['ooxml', 'docx'],

    classifiers = [
        "Development Status :: 4 - Beta",
        "Intended Audience :: Developers",
        "Operating System :: OS Independent",
        "Programming Language :: Python :: 2.7",
        "Topic :: Software Development :: Libraries :: Python Modules"
    ],

    install_requires = [
       "lxml", "six"
    ]
)
<commit_msg>#4 Organize setup.py file<commit_after>from setuptools import setup

setup(
    name = 'Python-OOXML',
    version = '0.10',

    author = 'Aleksandar Erkalovic',
    author_email = 'aerkalov@gmail.com',

    packages = ['ooxml'],

    url = 'https://github.com/booktype/python-ooxml',

    license = 'GNU Affero General Public License',
    description = 'Python-OOXML is a Python library for parsing Office Open XML files.',
    long_description = open('README.rst').read(),
    keywords = ['ooxml', 'docx'],

    classifiers = [
        "Development Status :: 4 - Beta",
        "Intended Audience :: Developers",
        "Operating System :: OS Independent",
        "Programming Language :: Python :: 2.7",
        "Topic :: Software Development :: Libraries :: Python Modules"
    ],

    install_requires = [
       "lxml", "six"
    ]
)
<|endoftext|>


<commit_before>#!/usr/bin/env python
'''
setup.py - brozzler setup script

Copyright (C) 2014-2022 Internet Archive

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.
'''

import setuptools
import os

def find_package_data(package):
    pkg_data = []
    depth = len(package.split('.'))
    path = os.path.join(*package.split('.'))
    for dirpath, dirnames, filenames in os.walk(path):
        if not os.path.exists(os.path.join(dirpath, '__init__.py')):
            relpath = os.path.join(*dirpath.split(os.sep)[depth:])
            pkg_data.extend(os.path.join(relpath, f) for f in filenames)
    return pkg_data

setuptools.setup(
        name='brozzler',
        version='1.5.29',
        description='Distributed web crawling with browsers',
        url='https://github.com/internetarchive/brozzler',
        author='Noah Levitt',
        author_email='nlevitt@archive.org',
        long_description=open('README.rst', mode='rb').read().decode('UTF-8'),
        license='Apache License 2.0',
        packages=['brozzler', 'brozzler.dashboard'],
        package_data={
            'brozzler': [
                'js-templates/*.js*', 'behaviors.yaml', 'job_schema.yaml'],
            'brozzler.dashboard': find_package_data('brozzler.dashboard'),
        },
        entry_points={
            'console_scripts': [
                'brozzle-page=brozzler.cli:brozzle_page',
                'brozzler-new-job=brozzler.cli:brozzler_new_job',
                'brozzler-new-site=brozzler.cli:brozzler_new_site',
                'brozzler-worker=brozzler.cli:brozzler_worker',
                'brozzler-ensure-tables=brozzler.cli:brozzler_ensure_tables',
                'brozzler-list-captures=brozzler.cli:brozzler_list_captures',
                'brozzler-list-jobs=brozzler.cli:brozzler_list_jobs',
                'brozzler-list-sites=brozzler.cli:brozzler_list_sites',
                'brozzler-list-pages=brozzler.cli:brozzler_list_pages',
                'brozzler-stop-crawl=brozzler.cli:brozzler_stop_crawl',
                'brozzler-purge=brozzler.cli:brozzler_purge',
                'brozzler-dashboard=brozzler.dashboard:main',
                'brozzler-easy=brozzler.easy:main',
                'brozzler-wayback=brozzler.pywb:main',
            ],
        },
        install_requires=[
            'PyYAML>=5.1',
            'yt_dlp',
            'reppy==0.3.4',
            'requests>=2.21',
            'websocket-client>=0.39.0,<=0.48.0',
            'pillow>=5.2.0',
            'urlcanon>=0.1.dev23',
            'doublethink>=0.2.0',
            'rethinkdb>=2.3,<2.4',
            'cerberus>=1.0.1',
            'jinja2>=2.10',
            'cryptography>=2.3',
            'python-magic>=0.4.15',
        ],
        extras_require={
            'dashboard': [
                'flask>=1.0',
                'gunicorn>=19.8.1'
            ],
            'easy': [
                'warcprox>=2.4b2.dev173',
                'pywb>=0.33.2,<2',
                'flask>=1.0',
                'gunicorn>=19.8.1'
            ],
        },
        zip_safe=False,
        classifiers=[
            'Development Status :: 5 - Production/Stable',
            'Environment :: Console',
            'License :: OSI Approved :: Apache Software License',
            'Programming Language :: Python :: 3.5',
            'Programming Language :: Python :: 3.6',
            'Programming Language :: Python :: 3.7',
            'Topic :: Internet :: WWW/HTTP',
            'Topic :: System :: Archiving',
        ])
<commit_msg>bump version<commit_after>#!/usr/bin/env python
'''
setup.py - brozzler setup script

Copyright (C) 2014-2022 Internet Archive

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.
'''

import setuptools
import os

def find_package_data(package):
    pkg_data = []
    depth = len(package.split('.'))
    path = os.path.join(*package.split('.'))
    for dirpath, dirnames, filenames in os.walk(path):
        if not os.path.exists(os.path.join(dirpath, '__init__.py')):
            relpath = os.path.join(*dirpath.split(os.sep)[depth:])
            pkg_data.extend(os.path.join(relpath, f) for f in filenames)
    return pkg_data

setuptools.setup(
        name='brozzler',
        version='1.5.30',
        description='Distributed web crawling with browsers',
        url='https://github.com/internetarchive/brozzler',
        author='Noah Levitt',
        author_email='nlevitt@archive.org',
        long_description=open('README.rst', mode='rb').read().decode('UTF-8'),
        license='Apache License 2.0',
        packages=['brozzler', 'brozzler.dashboard'],
        package_data={
            'brozzler': [
                'js-templates/*.js*', 'behaviors.yaml', 'job_schema.yaml'],
            'brozzler.dashboard': find_package_data('brozzler.dashboard'),
        },
        entry_points={
            'console_scripts': [
                'brozzle-page=brozzler.cli:brozzle_page',
                'brozzler-new-job=brozzler.cli:brozzler_new_job',
                'brozzler-new-site=brozzler.cli:brozzler_new_site',
                'brozzler-worker=brozzler.cli:brozzler_worker',
                'brozzler-ensure-tables=brozzler.cli:brozzler_ensure_tables',
                'brozzler-list-captures=brozzler.cli:brozzler_list_captures',
                'brozzler-list-jobs=brozzler.cli:brozzler_list_jobs',
                'brozzler-list-sites=brozzler.cli:brozzler_list_sites',
                'brozzler-list-pages=brozzler.cli:brozzler_list_pages',
                'brozzler-stop-crawl=brozzler.cli:brozzler_stop_crawl',
                'brozzler-purge=brozzler.cli:brozzler_purge',
                'brozzler-dashboard=brozzler.dashboard:main',
                'brozzler-easy=brozzler.easy:main',
                'brozzler-wayback=brozzler.pywb:main',
            ],
        },
        install_requires=[
            'PyYAML>=5.1',
            'yt_dlp',
            'reppy==0.3.4',
            'requests>=2.21',
            'websocket-client>=0.39.0,<=0.48.0',
            'pillow>=5.2.0',
            'urlcanon>=0.1.dev23',
            'doublethink>=0.2.0',
            'rethinkdb>=2.3,<2.4',
            'cerberus>=1.0.1',
            'jinja2>=2.10',
            'cryptography>=2.3',
            'python-magic>=0.4.15',
        ],
        extras_require={
            'dashboard': [
                'flask>=1.0',
                'gunicorn>=19.8.1'
            ],
            'easy': [
                'warcprox>=2.4b2.dev173',
                'pywb>=0.33.2,<2',
                'flask>=1.0',
                'gunicorn>=19.8.1'
            ],
        },
        zip_safe=False,
        classifiers=[
            'Development Status :: 5 - Production/Stable',
            'Environment :: Console',
            'License :: OSI Approved :: Apache Software License',
            'Programming Language :: Python :: 3.5',
            'Programming Language :: Python :: 3.6',
            'Programming Language :: Python :: 3.7',
            'Topic :: Internet :: WWW/HTTP',
            'Topic :: System :: Archiving',
        ])
<|endoftext|>


<commit_before>#!/usr/bin/env python
"""Setup Tools Script"""
import os
import codecs
from setuptools import setup, find_packages

PACKAGENAME = 'sqre-codekit'
DESCRIPTION = 'LSST Data Management SQuaRE code management tools'
AUTHOR = 'Frossie Economou'
AUTHOR_EMAIL = 'frossie@lsst.org'
URL = 'https://github.com/lsst-sqre/sqre-codekit'
VERSION = '3.0.0'
LICENSE = 'MIT'

def read(filename):
    """Convenience function for includes"""
    full_filename = os.path.join(
        os.path.abspath(os.path.dirname(__file__)),
        filename)
    return codecs.open(full_filename, 'r', 'utf-8').read()

long_description = read('README.md')  # pylint:disable=invalid-name

setup(
    name=PACKAGENAME,
    version=VERSION,
    description=DESCRIPTION,
    long_description=long_description,
    url=URL,
    author=AUTHOR,
    author_email=AUTHOR_EMAIL,
    license=LICENSE,
    classifiers=[
        'Development Status :: 4 - Beta',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3.5',
        'Programming Language :: Python :: 3.6',
        'License :: OSI Approved :: MIT License',
    ],
    keywords='lsst',
    packages=find_packages(exclude=['docs', 'tests*']),
    install_requires=[
        'sqre-codekit-github3.py==1.0.0a4',
        'uritemplate.py==2.0.0',
        'requests>=2.8.1,<3.0.0',
        'urllib3==1.22',
        'progressbar2==3.11.0',
        'GitPython==1.0.1',
        'MapGitConfig==1.1'
    ],
    setup_requires=[
        'pytest-runner>=2.11.1,<3'
    ],
    tests_require=[
        'pytest>=3,<4',
        'pytest-flake8>=0.8.1,<1'
    ],
    # package_data={},
    entry_points={
        'console_scripts': [
            'github-auth = codekit.cli.github_auth:main',
            'github-delete-shadow = codekit.cli.github_delete_shadow:main',
            'github-fork-repos = codekit.cli.github_fork_repos:main',
            'github-list-repos = codekit.cli.github_list_repos:main',
            'github-mv-repos-to-team = codekit.cli.github_mv_repos_to_team:main',  # NOQA
            'github-tag-version = codekit.cli.github_tag_version:main',
            'lsst-bp = codekit.cli.lsst_bp:main',
        ]
    }
)
<commit_msg>bump version to 3.1.0<commit_after>#!/usr/bin/env python
"""Setup Tools Script"""
import os
import codecs
from setuptools import setup, find_packages

PACKAGENAME = 'sqre-codekit'
DESCRIPTION = 'LSST Data Management SQuaRE code management tools'
AUTHOR = 'Frossie Economou'
AUTHOR_EMAIL = 'frossie@lsst.org'
URL = 'https://github.com/lsst-sqre/sqre-codekit'
VERSION = '3.1.0'
LICENSE = 'MIT'

def read(filename):
    """Convenience function for includes"""
    full_filename = os.path.join(
        os.path.abspath(os.path.dirname(__file__)),
        filename)
    return codecs.open(full_filename, 'r', 'utf-8').read()

long_description = read('README.md')  # pylint:disable=invalid-name

setup(
    name=PACKAGENAME,
    version=VERSION,
    description=DESCRIPTION,
    long_description=long_description,
    url=URL,
    author=AUTHOR,
    author_email=AUTHOR_EMAIL,
    license=LICENSE,
    classifiers=[
        'Development Status :: 4 - Beta',
        'Programming Language :: Python :: 2.7',
        'Programming Language :: Python :: 3.5',
        'Programming Language :: Python :: 3.6',
        'License :: OSI Approved :: MIT License',
    ],
    keywords='lsst',
    packages=find_packages(exclude=['docs', 'tests*']),
    install_requires=[
        'sqre-codekit-github3.py==1.0.0a4',
        'uritemplate.py==2.0.0',
        'requests>=2.8.1,<3.0.0',
        'urllib3==1.22',
        'progressbar2==3.11.0',
        'GitPython==1.0.1',
        'MapGitConfig==1.1'
    ],
    setup_requires=[
        'pytest-runner>=2.11.1,<3'
    ],
    tests_require=[
        'pytest>=3,<4',
        'pytest-flake8>=0.8.1,<1'
    ],
    # package_data={},
    entry_points={
        'console_scripts': [
            'github-auth = codekit.cli.github_auth:main',
            'github-delete-shadow = codekit.cli.github_delete_shadow:main',
            'github-fork-repos = codekit.cli.github_fork_repos:main',
            'github-list-repos = codekit.cli.github_list_repos:main',
            'github-mv-repos-to-team = codekit.cli.github_mv_repos_to_team:main',  # NOQA
            'github-tag-version = codekit.cli.github_tag_version:main',
            'lsst-bp = codekit.cli.lsst_bp:main',
        ]
    }
)
<|endoftext|>


<commit_before># -*- coding: utf-8 -*-

from setuptools import setup, find_packages

with open('README.md', 'r') as fh:
  long_description = fh.read()

packages = [p for p in find_packages() if "third_party" not in p]
print(packages)

setup(
  name='pose_format',
  packages=packages,
  version='0.0.4',
  description='Library for viewing, augmenting, and handling .pose files',
  author='Amit Moryossef',
  author_email='amitmoryossef@gmail.com',
  url='https://github.com/AmitMY/pose-format',
  keywords=['Pose Files', 'Pose Interpolation', 'Pose Augmentation'],
  install_requires=['numpy', 'scipy', 'pytest', 'tqdm', 'opencv-python', 'vidgear'],
  long_description=long_description,
  long_description_content_type='text/markdown',
  classifiers=[
    'Programming Language :: Python :: 3.6',
  ]
)
<commit_msg>bump version<commit_after># -*- coding: utf-8 -*-

from setuptools import setup, find_packages

with open('README.md', 'r') as fh:
  long_description = fh.read()

packages = [p for p in find_packages() if "third_party" not in p]
print(packages)

setup(
  name='pose_format',
  packages=packages,
  version='0.0.5',
  description='Library for viewing, augmenting, and handling .pose files',
  author='Amit Moryossef',
  author_email='amitmoryossef@gmail.com',
  url='https://github.com/AmitMY/pose-format',
  keywords=['Pose Files', 'Pose Interpolation', 'Pose Augmentation'],
  install_requires=['numpy', 'scipy', 'pytest', 'tqdm', 'opencv-python', 'vidgear'],
  long_description=long_description,
  long_description_content_type='text/markdown',
  classifiers=[
    'Programming Language :: Python :: 3.6',
  ]
)
<|endoftext|>


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

# Copyright (c) 2014, Warren Weckesser
# All rights reserved.
# See the LICENSE file for license information.

from os import path
from setuptools import setup

def get_odeintw_version():
    """
    Find the value assigned to __version__ in odeintw/__init__.py.

    This function assumes that there is a line of the form

        __version__ = "version-string"

    in odeintw/__init__.py.  It returns the string version-string, or None if
    such a line is not found.
    """
    with open(path.join("odeintw", "__init__.py"), "r") as f:
        for line in f:
            s = [w.strip() for w in line.split("=", 1)]
            if len(s) == 2 and s[0] == "__version__":
                return s[1][1:-1]

_descr = ('Solve complex and matrix differential equations '
          'with scipy.integrate.odeint.')

setup(name='odeintw',
      version=get_odeintw_version(),
      description=_descr,
      author='Warren Weckesser',
      url='https://github.com/WarrenWeckesser/odeintw',
      packages=['odeintw', 'odeintw.tests'],
      classifiers=[
          "Programming Language :: Python :: 2.7",
          "Programming Language :: Python :: 3",
          "License :: OSI Approved :: BSD License",
          "Operating System :: OS Independent",
      ],
      keywords="scipy odeint",
      install_requires=['scipy'],
)
<commit_msg>MAINT: Add long_description to setup.py.<commit_after>#!/usr/bin/env python

# Copyright (c) 2014, Warren Weckesser
# All rights reserved.
# See the LICENSE file for license information.

from os import path
from setuptools import setup

def get_odeintw_version():
    """
    Find the value assigned to __version__ in odeintw/__init__.py.

    This function assumes that there is a line of the form

        __version__ = "version-string"

    in odeintw/__init__.py.  It returns the string version-string, or None if
    such a line is not found.
    """
    with open(path.join("odeintw", "__init__.py"), "r") as f:
        for line in f:
            s = [w.strip() for w in line.split("=", 1)]
            if len(s) == 2 and s[0] == "__version__":
                return s[1][1:-1]

_descr = ('Solve complex and matrix differential equations '
          'with scipy.integrate.odeint.')

_long_descr = """
odeintw
=======

`odeintw` provides a wrapper of `scipy.integrate.odeint` that allows it to
handle complex and matrix differential equations.  That is, it can solve
equations of the form

    dZ/dt = F(Z, t, param1, param2, ...)

where `t` is real and `Z` is a real or complex array.

Since `odeintw` is just a wrapper of `scipy.integrate.odeint`, it requires
`scipy` to be installed.

See README.md at https://github.com/WarrenWeckesser/odeintw for examples.
"""

setup(name='odeintw',
      version=get_odeintw_version(),
      description=_descr,
      long_description=_long_descr,
      author='Warren Weckesser',
      url='https://github.com/WarrenWeckesser/odeintw',
      packages=['odeintw', 'odeintw.tests'],
      classifiers=[
          "Programming Language :: Python :: 2.7",
          "Programming Language :: Python :: 3",
          "License :: OSI Approved :: BSD License",
          "Operating System :: OS Independent",
      ],
      keywords="scipy odeint",
      install_requires=['scipy'],
)
<|endoftext|>


<commit_before>#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""Setup script for humanize."""

from setuptools import setup, find_packages
import io

version = '0.5.1'

# some trove classifiers:

setup(
    name='tg-humanize',
    version=version,
    description="python humanize utilities",
    long_description=io.open('README.rst', 'r', encoding="UTF-8").read(),
    # Get strings from http://pypi.python.org/pypi?%3Aaction=list_classifiers
    classifiers=[
        'Development Status :: 4 - Beta',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: MIT License',
        'Operating System :: POSIX',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python',
    ],
    keywords='humanize time size',
    author='Jason Moiron',
    author_email='jmoiron@jmoiron.net',

    url='http://github.com/jmoiron/humanize',
    license='MIT',
    packages=find_packages(exclude=['ez_setup', 'examples', 'tests']),
    include_package_data=True,
    zip_safe=False,
    test_suite="nose.collector",
    tests_require=['mock', 'nose'],
    install_requires=[
        # -*- Extra requirements: -*-
    ],
    entry_points="""
    # -*- Entry points: -*-
    """,
)
<commit_msg>Bump release<commit_after>#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""Setup script for humanize."""

from setuptools import setup, find_packages
import io

version = '0.5.2'

# some trove classifiers:

setup(
    name='tg-humanize',
    version=version,
    description="python humanize utilities",
    long_description=io.open('README.rst', 'r', encoding="UTF-8").read(),
    # Get strings from http://pypi.python.org/pypi?%3Aaction=list_classifiers
    classifiers=[
        'Development Status :: 4 - Beta',
        'Intended Audience :: Developers',
        'License :: OSI Approved :: MIT License',
        'Operating System :: POSIX',
        'Programming Language :: Python :: 3',
        'Programming Language :: Python',
    ],
    keywords='humanize time size',
    author='Jason Moiron',
    author_email='jmoiron@jmoiron.net',

    url='http://github.com/jmoiron/humanize',
    license='MIT',
    packages=find_packages(exclude=['ez_setup', 'examples', 'tests']),
    include_package_data=True,
    zip_safe=False,
    test_suite="nose.collector",
    tests_require=['mock', 'nose'],
    install_requires=[
        # -*- Extra requirements: -*-
    ],
    entry_points="""
    # -*- Entry points: -*-
    """,
)
<|endoftext|>